Fix autoconf macros
authorAnthony Green <green@moxielogic.com>
Tue, 30 Oct 2012 10:59:32 +0000 (06:59 -0400)
committerAnthony Green <green@moxielogic.com>
Tue, 30 Oct 2012 10:59:32 +0000 (06:59 -0400)
32 files changed:
.pc/bfin/Makefile.in
.pc/bfin/configure
.pc/dist-tests/testsuite/Makefile.in
.pc/msvc-changes/Makefile.in
.pc/stand-alone/doc/libffi.info [deleted file]
.pc/stand-alone/m4/ax_check_compile_flag.m4 [moved from .pc/stand-alone/m4/ax_check_compiler_flags.m4 with 100% similarity]
.pc/tile/Makefile.in
.pc/tile/configure
.pc/update-disty/Makefile.in
.pc/v3_0_11/ChangeLog [deleted file]
.pc/v3_0_11/configure
.pc/x32libtool/configure
.pc/xcode/Makefile.in
Makefile.in
aclocal.m4
configure
include/Makefile.in
m4/ax_cc_maxopt.m4
m4/ax_cflags_warn_all.m4
m4/ax_check_compile_flag.m4 [moved from m4/ax_check_compiler_flags.m4 with 53% similarity]
m4/ax_gcc_archflag.m4
man/Makefile.in
patches/aix-fix
patches/bfin
patches/dist-tests
patches/stand-alone
patches/tile
patches/update-disty
patches/v3_0_11
patches/x32libtool
patches/xcode
testsuite/Makefile.in

index 08a32d3..c86925d 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        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)/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_check_compile_flag.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)
@@ -368,6 +379,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@
@@ -388,6 +400,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@
index e3e543f..e22980d 100755 (executable)
@@ -688,6 +688,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -755,6 +756,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -808,6 +810,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -816,6 +819,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1450,6 +1455,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]
+  --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]
@@ -1457,6 +1464,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
@@ -1467,11 +1477,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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
@@ -2647,7 +2659,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ 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'
 
@@ -2806,9 +2920,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
   *\ * | *\    *)
@@ -5167,11 +5278,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   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
@@ -5211,7 +5317,7 @@ else
       # 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"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5640,7 +5746,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6281,13 +6387,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6434,7 +6540,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6830,7 +6935,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6841,20 +6946,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7494,13 +7586,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7511,7 +7597,6 @@ else
 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 :
@@ -7544,7 +7629,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7566,9 +7650,7 @@ _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 -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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
@@ -7973,22 +8055,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8066,10 +8133,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8359,6 +8422,10 @@ _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=
@@ -8525,9 +8592,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8618,33 +8683,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9006,6 +9056,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9255,7 +9306,8 @@ _LT_EOF
        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='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9634,7 +9686,6 @@ fi
        # 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
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        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'
@@ -9680,7 +9731,6 @@ fi
   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
@@ -9709,6 +9759,10 @@ fi
       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
@@ -9721,7 +9775,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9760,6 +9814,7 @@ fi
       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
@@ -10383,6 +10438,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10472,7 +10532,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10481,7 +10541,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10546,7 +10606,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10685,7 +10745,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10693,6 +10753,10 @@ dgux*)
   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.
@@ -10700,7 +10764,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10718,7 +10782,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10738,18 +10802,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10810,7 +10873,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10826,7 +10889,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10863,9 +10926,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # 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="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    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
@@ -10951,7 +11010,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11020,7 +11079,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11045,7 +11104,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11069,7 +11128,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11100,7 +11159,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11110,7 +11169,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11892,8 +11951,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11904,174 +11961,1171 @@ CC="$lt_save_CC"
 
 
 
-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='#'
+{ $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
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # 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
 
-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
+  ;
+  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`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-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
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=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 :
+# 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.  */
-#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
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=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: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+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:
 
-   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 :
+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
-  # 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* )
+  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
+
+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 ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?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 ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 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
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 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 \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+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;;
@@ -13116,7 +14170,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $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
@@ -14399,6 +15486,14 @@ 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"
 
 
@@ -14417,7 +15512,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $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"`'
@@ -14500,6 +15594,7 @@ 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"`'
@@ -14555,7 +15650,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14606,6 +15700,7 @@ 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 \
@@ -14688,6 +15783,7 @@ 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" ;;
@@ -15326,6 +16422,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   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
@@ -15442,8 +16682,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,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15497,9 +16737,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15801,6 +17038,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # 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
 
index 28d4375..beaa57b 100644 (file)
@@ -54,7 +54,18 @@ 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)/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_check_compile_flag.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)
@@ -136,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@
@@ -156,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@
index 5e9ea5b..cb35df0 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        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)/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_check_compile_flag.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)
@@ -368,6 +379,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@
@@ -388,6 +400,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@
diff --git a/.pc/stand-alone/doc/libffi.info b/.pc/stand-alone/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
index 3250123..96bdb25 100644 (file)
@@ -93,7 +93,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        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)/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_check_compile_flag.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)
@@ -370,6 +381,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@
@@ -390,6 +402,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@
index 405496a..df5a0a7 100755 (executable)
@@ -690,6 +690,7 @@ TESTSUBDIR_TRUE
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+PRTDIAG
 CPP
 OTOOL64
 OTOOL
@@ -757,6 +758,7 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+ax_enable_builddir_sed
 target_os
 target_vendor
 target_cpu
@@ -810,6 +812,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_builddir
 enable_dependency_tracking
 enable_shared
 enable_static
@@ -818,6 +821,8 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_portable_binary
+with_gcc_arch
 enable_maintainer_mode
 enable_debug
 enable_structs
@@ -1452,6 +1457,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]
+  --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]
@@ -1459,6 +1466,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
@@ -1469,11 +1479,13 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+  --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
@@ -2649,7 +2661,109 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AX_ENABLE_BUILDDIR
+
+   # [$]@ 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'
 
@@ -2808,9 +2922,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
   *\ * | *\    *)
@@ -5169,11 +5280,6 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
   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
@@ -5213,7 +5319,7 @@ else
       # 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"`env echo "$teststring$teststring" 2>/dev/null` \
+      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
@@ -5642,7 +5748,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6283,13 +6389,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
 case $host_os in
@@ -6436,7 +6542,6 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6825,7 +6930,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-*-*solaris*)
+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
@@ -6836,20 +6941,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
+      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"
@@ -7489,13 +7581,7 @@ else
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       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
@@ -7506,7 +7592,6 @@ else
 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 :
@@ -7539,7 +7624,6 @@ rm -f core conftest.err conftest.$ac_objext \
 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 :
@@ -7561,9 +7645,7 @@ _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 -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      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
@@ -7968,22 +8050,7 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
 fi
@@ -8061,10 +8128,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-
-
-
-
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -8354,6 +8417,10 @@ _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=
@@ -8520,9 +8587,7 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
       ;;
     esac
   else
@@ -8613,33 +8678,18 @@ lt_prog_compiler_static=
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+       *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\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
        *Sun\ C*)
          # Sun C 5.9
          lt_prog_compiler_pic='-KPIC'
          lt_prog_compiler_static='-Bstatic'
          lt_prog_compiler_wl='-Wl,'
          ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
        esac
        ;;
       esac
@@ -9001,6 +9051,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   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
@@ -9250,7 +9301,8 @@ _LT_EOF
        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='${wl}-rpath ${wl}$libdir'
+         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~
@@ -9629,7 +9681,6 @@ fi
        # 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
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        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'
@@ -9675,7 +9726,6 @@ fi
   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
@@ -9704,6 +9754,10 @@ fi
       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
@@ -9716,7 +9770,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
+    freebsd2*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9755,6 +9809,7 @@ fi
       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
@@ -10378,6 +10433,11 @@ esac
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10467,7 +10527,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10476,7 +10536,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10541,7 +10601,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10680,7 +10740,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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'
@@ -10688,6 +10748,10 @@ dgux*)
   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.
@@ -10695,7 +10759,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[23].*) objformat=aout ;;
+    freebsd[123]*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10713,7 +10777,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2.*)
+  freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10733,18 +10797,17 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  version_type=linux
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10805,7 +10868,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -10821,7 +10884,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
+               version_type=linux
        else
                version_type=irix
        fi ;;
@@ -10858,9 +10921,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be glibc/ELF.
+# This must be Linux ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
   # 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="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+    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
@@ -10946,7 +11005,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11015,7 +11074,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11040,7 +11099,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11064,7 +11123,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
+    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
@@ -11095,7 +11154,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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}'
@@ -11105,7 +11164,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
+  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
@@ -11887,8 +11946,6 @@ CC="$lt_save_CC"
 
 
 
-
-
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11899,174 +11956,1171 @@ CC="$lt_save_CC"
 
 
 
-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='#'
+{ $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
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
+  # 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
 
-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
+  ;
+  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`
 
-done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
+$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 
-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
+# Check whether --enable-portable-binary was given.
+if test "${enable_portable_binary+set}" = set; then :
+  enableval=$enable_portable_binary; acx_maxopt_portable=$enableval
 else
-  libffi_func_mmap=no
+  acx_maxopt_portable=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 :
+# 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.  */
-#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
+  eval "$as_CACHEVAR=yes"
 else
-  ac_cv_decl_map_anon=no
+  eval "$as_CACHEVAR=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: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
+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:
 
-   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 :
+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
-  # 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* )
+  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
+
+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 ;;
+           *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+           *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+           *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+           *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+           *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+           *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+           *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+           ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
+               case $host_cpu in
+                 x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+                 *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+               esac ;;
+           ?000?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 ;;
+           ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+           ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+           ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+           ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
+           ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+           ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+           *f??:*:*:*) ax_gcc_arch="amdfam10 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
+
+if ${CFLAGS+:} false; then :
+  case " $CFLAGS " in
+    *"  "*)
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
+  (: CFLAGS already contains ) 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 \""; } >&5
+  (: CFLAGS="$CFLAGS ") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      CFLAGS="$CFLAGS "
+      ;;
+   esac
+else
+  CFLAGS=""
+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;;
@@ -13123,7 +14177,40 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  esac
 
 
-GCC_AS_CFI_PSEUDO_OP
+{ $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
@@ -14410,6 +15497,14 @@ 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"
 
 
@@ -14428,7 +15523,6 @@ 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"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $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"`'
@@ -14511,6 +15605,7 @@ 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"`'
@@ -14566,7 +15661,6 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
-PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -14617,6 +15711,7 @@ 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 \
@@ -14699,6 +15794,7 @@ 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" ;;
@@ -15337,6 +16433,150 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   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
@@ -15453,8 +16693,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,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -15508,9 +16748,6 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -15812,6 +17049,10 @@ no_undefined_flag=$lt_no_undefined_flag
 # 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
 
index 14f33de..73436e3 100644 (file)
@@ -92,7 +92,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        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)/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_check_compile_flag.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)
@@ -368,6 +379,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@
@@ -388,6 +400,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@
diff --git a/.pc/v3_0_11/ChangeLog b/.pc/v3_0_11/ChangeLog
deleted file mode 100644 (file)
index f4148a9..0000000
+++ /dev/null
@@ -1,5060 +0,0 @@
-2012-04-11  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (EXTRA_DIST): Add new script.
-       * Makefile.in: Rebuilt.
-
-2012-04-11  Zachary Waldowski  <zwaldowski@gmail.com>
-
-       * generate-ios-source-and-headers.py,
-       libffi.xcodeproj/project.pbxproj: Support a Mac static library via
-       Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
-       generation into an Xcode "run script" phase.  Include both as
-       Xcode build scripts. Don't always regenerate config files.
-
-2012-04-10  Anthony Green  <green@moxielogic.com>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
-       * Makefile.in: Rebuilt.
-
-2012-04-06  Mike Lewis  <mikelikespie@gmail.com>
-
-       * generate-ios-source-and-headers.py: New file.
-       * libffi.xcodeproj/project.pbxproj: New file.
-       * README: Update instructions on building iOS binary.
-       * build-ios.sh: Delete.
-
-2012-04-06  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
-       compilers, then use it.
-
-2012-04-06  Anthony Green  <green@moxielogic.com>
-
-       * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
-       * testsuite/Makefile.in: Rebuilt.
-
-2012-04-05  Zachary Waldowski  <zwaldowski@gmail.com>
-
-       * include/ffi.h.in: Add missing trampoline table fields.
-       * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
-       in CNAME.
-       * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
-
-2012-04-02  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
-       value in the Intel version as is already done for the AT&T version.
-       (ffi_closure_SYSV): Likewise.
-       (ffi_closure_raw_SYSV): Likewise.
-       (ffi_closure_STDCALL): Likewise.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
-       generation, fix the ENDP label and remove the surplus third arg
-       from the 'lea' insn.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
-       visible outside the PROC, so that ffi_closure_raw_THISCALL can see
-       it.  Also instruct the assembler to add a frame to the function.
-
-2012-03-23  Peter Rosin  <peda@lysator.liu.se>
-
-       * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
-       to all data exports, when compiling libffi clients using MSVC.
-
-2012-03-29  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
-       make it the default for MSVC.
-       (FFI_TYPE_MS_STRUCT): New structure return convention.
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
-       return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
-       instead of an ordinary FFI_TYPE_STRUCT.
-       (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
-       (ffi_call): Likewise.
-       (ffi_prep_incoming_args_SYSV): Likewise.
-       (ffi_raw_call): Likewise.
-       (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
-       * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
-       return a pointer to the result structure in eax and don't pop
-       that pointer from the stack, the caller takes care of it.
-       (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
-       (ffi_closure_raw_SYSV): Likewise.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
-       assembly version with Intel syntax.
-       * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
-
-2012-03-23  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/ffitest.h: Provide abstration of
-       __attribute__((fastcall)) in the form of a __FASTCALL__
-       define.  Define it to __fastcall for MSVC.
-       * testsuite/libffi.call/fastthis1_win32.c: Use the above.
-       * testsuite/libffi.call/fastthis2_win32.c: Likewise.
-       * testsuite/libffi.call/fastthis3_win32.c: Likewise.
-       * testsuite/libffi.call/strlen2_win32.c: Likewise.
-       * testsuite/libffi.call/struct1_win32.c: Likewise.
-       * testsuite/libffi.call/struct2_win32.c: Likewise.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
-       frame on function entry, MASM adds one automatically.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
-       bits in the MSVC headers.
-
-2012-03-22  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
-       with no declarations after statements.
-       * 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_5_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.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_longdouble_split.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble_split2.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_dbls_struct.c: Likewise.
-       * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-       * testsuite/libffi.call/huge_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct10.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/stret_large.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_medium2.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct1_win32.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct2_win32.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.call/testclosure.c: Likewise.
-
-2012-03-06  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
-       ffi_call_VFP().
-       (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
-       ffi_closure_VFP.
-       * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
-
-2012-03-21  Peter Rosin         <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
-       printing doubles (%lf is for long doubles).
-       (main): Likewise.
-
-2012-03-21  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
-       (set_ld_library_path_env_vars): Add the library search dir to PATH
-       (and save PATH for later).
-       (restore_ld_library_path_env_vars): Restore PATH.
-
-2012-03-20  Peter Rosin  <peda@lysator.liu.se>
-
-       * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
-       * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
-       visible outside the PROC, so that ffi_closure_THISCALL can see it.
-
-2012-03-19  Alan Hourihane  <alanh@fairlite.co.uk>
-
-       * src/m68k/ffi.c: Add MINT support.
-       * src/m68k/sysv.S: Ditto.
-
-2012-03-19  chennam  <csit@axway.com>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
-       support.
-
-2012-04-02  Peter Bergner  <bergner@vnet.ibm.com>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
-       Silence casting pointer to integer of different size warning.
-       Delete goto to previously deleted label.
-       (ffi_call): Silence possibly undefined warning.
-       (ffi_closure_helper_SYSV): Declare variable type.
-
-2012-03-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2012-03-09  David Edelsohn  <dje.gcc@gmail.com>
-
-       * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
-       change to return value of ffi_closure_helper_DARWIN and load type
-       from return type.
-
-2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
-       long.
-       (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
-       (ffi_closure_unix64_inner): Cast return pointer to unsigned long
-       first.
-
-       * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
-       (ffi_arg): Set to unsigned long long for x32.
-       (ffi_sarg): Set to long long for x32.
-
-2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
-
-2012-03-03  Andoni Morales Alastruey  <ylatuya@gmail.com>
-
-       * configure.ac: Add -no-undefined for both 32- and 64-bit x86
-       windows-like hosts.
-       * configure: Rebuilt.
-
-2012-02-27  Mikael Pettersson  <mikpe@it.uu.se>
-
-       PR libffi/52223
-       * Makefile.am (FLAGS_TO_PASS): Define.
-       * Makefile.in: Regenerate.
-
-2012-02-23  Anthony Green  <green@moxielogic.com>
-
-       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
-       directly.
-
-2012-02-23  Kai Tietz  <ktietz@redhat.com>
-
-       PR libffi/52221
-       * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
-       prototype.
-       (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
-       thiscall-convention.
-       (ffi_raw_call): Use ffi_prep_args_raw.
-       * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
-       implementation for stub.
-
-2012-02-10  Kai Tietz  <ktietz@redhat.com>
-
-       * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
-       windows target.
-       * configure: Regenerated.
-
-2012-02-08  Kai Tietz  <ktietz@redhat.com>
-
-       * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
-       also FFI_THISCALL.
-       * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
-       (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
-       (ffi_prep_closure_loc): Add FFI_THISCALL support.
-       * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
-       * src/x86/win32.S (ffi_closure_THISCALL): New closure code
-       for thiscall-calling convention.
-       * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28  Kai Tietz  <ktietz@redhat.com>
-
-       * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
-       argument to prototype for specify calling-convention.
-       (ffi_call): Add support for stdcall/thiscall convention.
-       (ffi_prep_args): Likewise.
-       (ffi_raw_call): Likewise.
-       * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
-       FFI_FASTCALL.
-       * src/x86/win32.S (_ffi_call_win32): Add support for
-       fastcall/thiscall calling-convention calls.
-       * testsuite/libffi.call/fastthis1_win32.c: New test.
-       * testsuite/libffi.call/fastthis2_win32.c: New test.
-       * testsuite/libffi.call/fastthis3_win32.c: New test.
-       * testsuite/libffi.call/strlen2_win32.c: New test.
-       * testsuite/libffi.call/many2_win32.c: New test.
-       * testsuite/libffi.call/struct1_win32.c: New test.
-       * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
-
-       * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
-
-2012-01-23  Anthony Green  <green@moxielogic.com>
-           Chris Young  <cdyoung@ntlworld.com>
-
-       * configure.ac: Add Amiga support.
-       * configure: Rebuilt.
-
-2012-01-23  Dmitry Nadezhin  <dmitry.nadezhin@gmail.com>
-
-       * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
-       mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-       PR rtl-optimization/48496
-       * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (i?86-*-*): Set TARGET to X86_64.
-       * configure: Regenerate.
-
-2011-12-07  Andrew Pinski  <apinski@cavium.com>
-
-       PR libffi/50051
-       * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
-
-       * configure: Regenerate.
-
-2011-11-12  David Gilbert <david.gilbert@linaro.org>
-
-       * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
-       man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
-       man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
-       src/cris/ffi.c, src/prep_cif.c,
-       testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/float_va.c: Many changes to support variadic
-       function calls.
-
-2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
-       * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
-       src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
-       softfloat powerpc variants.
-
-2011-11-12  Petr Salinger <Petr.Salinger@seznam.cz>
-
-       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
-       * configure: Rebuilt.
-
-2011-11-12  Timothy Wall  <twall@users.sf.net>
-
-       * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
-       alignment of 4 for wince on ARM.
-
-2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
-           Anthony Green <green@moxielogic.com>
-
-       * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
-       instructions (not available on some cores, like the PPC440).
-
-2011-11-12  Kimura Wataru  <kimuraw@i.nifty.jp>
-
-       * m4/ax_enable_builddir: Change from string comparison to numeric
-       comparison for wc output.
-       * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
-       X 10.7.
-       * configure: Rebuilt.
-
-2011-11-12  Anthony Green  <green@moxielogic.com>
-
-       * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
-       files with debug info.
-       * Makefile.in: Rebuilt.
-
-2011-11-12  Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
-       * README: Update list of supported OpenBSD systems.
-
-2011-11-12  Anthony Green  <green@moxielogic.com>
-
-       * libtool-version: Update.
-       * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
-       FFI_DEBUG.
-       (libffi_la_SOURCES): Remove src/debug.c
-       (EXTRA_DIST): Add src/debug.c
-       * Makefile.in: Rebuilt.
-       * README: Update for 3.0.11.
-
-2011-11-10  Richard Henderson  <rth@redhat.com>
-
-       * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
-       * configure, aclocal.m4: Rebuild.
-
-2011-09-04  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR libffi/49594
-       * src/powerpc/darwin_closure.S (stubs): Make the stub binding
-       helper reference track the architecture pointer size.
-
-2011-08-25  Andrew Haley  <aph@redhat.com>
-
-       * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
-       instructions.
-       * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11  Andrew Haley  <aph@redhat.com>
-
-        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
-       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/46660
-       * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
-       mips-sgi-irix6*.
-       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
-       PRId8 instead of %hhu, %hhd.
-       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
-       PRIu8): Define.
-       [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
-       Define.
-       Use them to handle ELF vs. ECOFF differences.
-       [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30  Timothy Wall  <twall@users.sf.net>
-
-       * src/powerpc/darwin.S: Fix unknown FDE encoding.
-       * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25  Anthony Green  <green@moxielogic.com>
-
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
-       32-bit ABIs.
-
-2011-02-15  Anthony Green  <green@moxielogic.com>
-
-       * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
-       * configure: Rebuilt.
-
-2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-13  Anthony Green  <green@moxielogic.com>
-
-       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
-       * src/prep_cif.c (initialize_aggregate): Convert assertion into
-       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
-
-       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2012-02-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/v9.S (STACKFRAME): Bump to 176.
-
-2011-02-09  Stuart Shelton  <srcshelton@gmail.com>
-
-       http://bugs.gentoo.org/show_bug.cgi?id=286911
-       * src/mips/ffitarget.h: Clean up error messages.
-       * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
-       ffi_raw*.
-       * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09  Anthony Green  <green@moxielogic.com>
-
-       * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09  Anthony Green <green@moxielogic.com>
-
-       * README: Mention Interix.
-
-2011-02-09  Jonathan Callen  <abcd@gentoo.org>
-
-       * configure.ac: Add Interix to win32/cygwin/mingw case.
-       * configure: Ditto.
-       * src/closures.c: Treat Interix like Cygwin, instead of as a
-       generic win32.
-
-2011-02-09  Anthony Green <green@moxielogic.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
-       * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
-       (ffi_prep_closure_loc): Check for bad ABI.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Define.
-       (initialize_aggregate): Check for bad types.
-
-2011-02-09  Landon Fuller <landonf@plausible.coop>
-
-       * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
-       src/arm/trampoline.S.
-       (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
-       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
-       * src/arm/ffi.c (ffi_trampoline_table)
-       (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
-       (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
-       (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
-       (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
-       Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
-       (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
-       separately.
-       * src/arm/sysv.S: Handle Apple iOS host.
-       * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
-       * build-ios.sh: New file.
-       * fficonfig.h.in, configure, Makefile.in: Rebuilt.
-       * README: Mention ARM iOS.
-
-2011-02-08  Oren Held  <orenhe@il.ibm.com>
-
-       * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
-       redefinition of mallinfo on HP-UX.
-
-2011-02-08  Ginn Chen  <ginn.chen@oracle.com>
-
-       * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
-       aggregate return ABI.  Flush cache.
-       (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       From Tom Honermann <tom.honermann@oracle.com>:
-       * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
-       AIX.  Declare .ffi_prep_args.  Insert nops after branch
-       instructions so that the AIX linker can insert TOC reload
-       instructions.
-       * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08  Ed  <ed@kdtc.net>
-
-       * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08  Uli Link  <ul.mcamafia@linkitup.de>
-
-       * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/46661
-       * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
-       uintptr_t first.
-       * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08  Rafael Avila de Espindola  <respindola@mozilla.com>
-
-       * configure.ac: Fix x86 test for pc related relocs.
-       * configure: Rebuilt.
-
-2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
-
-       * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
-       Handle case when CPU variant does not have long double support.
-       * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
-       and cores with soft floating point.
-
-2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
-
-       * configure.ac: Add mips*-*-rtems* support.
-       * configure: Regenerate.
-       * src/mips/ffitarget.h: Ensure needed constants are available
-       for targets which do not have sgidefs.h.
-
-2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR target/40125
-       * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
-       * configure: Regenerate.
-
-2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR libffi/29152
-       PR libffi/42378
-       * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
-       update comments.
-       * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
-       (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
-       * src/powerpc/darwin.S: Provide Darwin64 implementation,
-       update comments.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
-       backslashes.
-       (libffi_cv_as_string_pseudo_op): Likewise.
-       * configure: Regenerate.
-
-2010-12-03  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
-       (ffi_closure_VFP): Same.
-       (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
-       directive.
-
-2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
-       (PRIuPTR): Define.
-
-2010-11-29  Richard Henderson  <rth@redhat.com>
-           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
-       (.eh_frame): Use FDE_ENCODING.
-       (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22  Jacek Caban <jacek@codeweavers.com>
-
-       * configure.ac: Check for symbol underscores on mingw-w64.
-       * configure: Rebuilt.
-       * src/x86/win64.S: Correctly access extern symbols in respect to
-       underscores.
-
-2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp: Rename ...
-       * testsuite/lib/libffi.exp: ... to this.
-       * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
-       * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
-
-       * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
-       code, new parameter, and return value. Update comments.
-       (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
-       call to layout_vfp_args().
-       (ffi_call_SYSV): Update declaration.
-       (ffi_call_VFP): New declaration.
-       (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
-       when ABI is FFI_VFP.
-       (ffi_closure_VFP): New declaration.
-       (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
-       ffi_prep_incoming_args_SYSV().
-       (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
-       case handling.
-       (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
-       construction under VFP hard-float.
-       (rec_vfp_type_p): New function.
-       (vfp_type_p): Same.
-       (place_vfp_arg): Same.
-       (layout_vfp_args): Same.
-       * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
-       based on __ARM_PCS_VFP.
-       (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
-       fields.
-       (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
-       (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
-       * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
-       direct call. Move function pointer load upwards.
-       (ffi_call_VFP): New function.
-       (ffi_closure_VFP): Same.
-
-       * testsuite/lib/libffi-dg.exp (check-flags): New function.
-       (dg-skip-if): New function.
-       * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
-       and compiler options include -mfloat-abi=hard.
-       * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libffi/45677
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
-       a multiple of 8.
-       * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20  Mark Wielaard  <mjw@redhat.com>
-
-       * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
-       returns NULL.
-
-2010-08-09  Andreas Tobler  <andreast@fgznet.ch>
-
-       * configure.ac: Add target powerpc64-*-freebsd*.
-       * configure: Regenerate.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
-       -mlong-double-128 only to linux targets.
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
-       * testsuite/libffi.call/cls_longdouble.c: Likewise.
-       * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05  Dan Witte  <dwitte@mozilla.com>
-
-        * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
-        debug CRT when --enable-debug is given.
-        * configure.ac: Define it.
-        * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04  Dan Witte  <dwitte@mozilla.com>
-
-       * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
-       platforms.
-       * src/x86/ffi.c: Remove redundant ifdef checks.
-       * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
-       for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03  Neil Rashbrooke <neil@parkwaycc.co.uk>
-
-       * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22  Dan Witte  <dwitte@mozilla.com>
-
-       * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
-       * src/prep_cif.c: Fix ABI assertion.
-        * src/cris/ffi.c: Ditto.
-
-2010-07-10  Evan Phoenix  <evan@fallingsnow.net>
-
-       * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07  Dan HorĂ¡k <dan@danny.cz>
-
-       * include/ffi.h.in: Protect #define with #ifndef.
-       * src/powerpc/ffitarget.h: Ditto.
-       * src/s390/ffitarget.h: Ditto.
-       * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07   Neil Roberts <neil@linux.intel.com>
-
-       * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
-       16-bytes.
-
-2010-07-02  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
-       * Makefile.in: Regenerated.
-
-2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
-       output, too.
-       (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
-       (libffi_cv_as_string_pseudo_op): Check for .string.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11  Dan Witte  <dwitte@mozilla.com>
-
-       * doc/libffi.tex: Document previous change.
-
-2010-05-11  Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
-       * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05  Michael Kohler <michaelkohler@live.com>
-
-       * src/dlmalloc.c (dlfree): Fix spelling.
-       * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
-       * configure.ac: Ditto.
-       * configure: Rebuilt.
-
-2010-04-13  Dan Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: Build with -W3 instead of -Wall.
-       * src/powerpc/ffi_darwin.c: Remove build warnings.
-       * src/x86/ffi.c: Ditto.
-       * src/x86/ffitarget.h: Ditto.
-
-2010-04-12  Dan Witte  <dwitte@mozilla.com>
-           Walter Meinl <wuno@lsvw.de>
-
-       * configure.ac: Add OS/2 support.
-       * configure: Rebuilt.
-       * src/closures.c: Ditto.
-       * src/dlmalloc.c: Ditto.
-       * src/x86/win32.S: Ditto.
-
-2010-04-07  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2010-03-30  Dan Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: Disable build warnings.
-       * README (tested): Clarify windows build procedure.
-
-2010-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * libffi/src/x86/unix64.S (.eh_frame)
-       [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14  Matthias Klose  <doko@ubuntu.com>
-
-       * src/x86/ffi64.c: Fix typo in comment.
-       * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * doc/libffi.texi (The Closure API): Fix typo.
-       * doc/libffi.info: Remove.
-
-2010-02-15  Matthias Klose  <doko@ubuntu.com>
-
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processor
-       __ARM_ARCH_7EM__.
-
-2010-01-15  Anthony Green  <green@redhat.com>
-
-       * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15  Daniel Witte  <dwitte@mozilla.com>
-
-       * msvcc.sh: New file.
-
-       * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
-       * src/x86/ffi.c: Tweak function declaration and remove excess
-       parens.
-       * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
-       ffi_closure.
-
-       * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
-       function ffi_call_win32 on X86_WIN32.
-       * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
-       (ffi_call_STDCALL): Remove.
-
-       * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
-       to ffi_prep_cif_machdep for x86.
-       * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15  Oliver Kiddle  <okiddle@yahoo.co.uk>
-
-       * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
-       Sun Studio compiler compatibility.
-
-2010-01-12  Conrad Irwin <conrad.irwin@gmail.com>
-
-       * doc/libffi.texi: Add closure example.
-
-2010-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40701
-       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
-       PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
-       * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
-       alpha*-dec-osf*.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/return_ll1.c: Likewise.
-       * testsuite/libffi.call/stret_medium2.c: Likewise.
-       * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
-       MAP_FAILED to char *.
-
-2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31  Anthony Green  <green@redhat.com>
-
-       * README: Update for libffi 3.0.9.
-
-2009-12-27  Matthias Klose  <doko@ubuntu.com>
-
-       * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
-       appropriate.
-       * configure: Rebuilt.
-
-2009-12-26  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
-       avr32*-*-*.
-       * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
-       and inttypes.h.
-       * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Add amd64-*-openbsd*.
-       * configure: Rebuilt.
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
-       openbsd programs with -lpthread.
-
-2009-12-26  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_double_va.c,
-       testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
-       mips*-*-* and arm*-*-*.
-       * testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c,
-       testsuite/libffi.call/stret_medium2.c,
-       testsuite/libffi.call/stret_medium.c,
-       testsuite/libffi.call/stret_large.c,
-       testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31  Kay Tietz  <ktietz70@googlemail.com>
-
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
-       definitions.
-
-2009-12-31  Carlo Bramini  <carlo.bramix@libero.it>
-
-       * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
-       * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-
-2009-12-31  Anthony Green  <green@redhat.com>
-           Blake Chaffin.
-
-       * testsuite/libffi.call/huge_struct.c: New test case from Blake
-       Chaffin @ Apple.
-
-2009-12-28  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
-       local variables.
-       (aix_adjust_aggregate_sizes): New function.
-       (ffi_prep_cif_machdep): Call it.
-
-2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
-       * 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.
-
-2012-02-13  Kai Tietz  <ktietz@redhat.com>
-
-       PR libffi/52221
-       * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
-       support for X86_WIN32.
-       (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       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