]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Makefile.def (target_modules): Remove libmudflap
authorJeff Law <law@redhat.com>
Sat, 26 Oct 2013 10:14:34 +0000 (04:14 -0600)
committerJeff Law <law@gcc.gnu.org>
Sat, 26 Oct 2013 10:14:34 +0000 (04:14 -0600)
* Makefile.def (target_modules): Remove libmudflap
(languages): Remove check-target-libmudflap).
* Makefile.in: Rebuilt.
* Makefile.tpl (check-target-libmudflap-c++): Remove.
* configure.ac (target_libraries): Remove target-libmudflap.
Remove checks which disabled libmudflap on some systems.
* configure: Rebuilt.
* libmudflap: Directory removed.

* Makefile.in (C_COMMON_OBJS): Remove tree-mudflap.
(OBJS): Remove tree-nomudflap.o
(GTFILES): Remove tree-mudflap.c
* builtins.c (expand_builtin_alloc): Remove mudflap support.
* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
(mfwrap_spec, mflib_spec): Likewise.
(cpp_unique_options, cc1_options, static_specs): Likewise.
* gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise.
* passes.def: Likewise.
* toplev.c (compile_file, process_options): Likewise.
* tree-inline.c (copy_tree_r): Likewise.
* tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise.
* varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise.
(build_constant_desc, output_constant_def_contents): Likewise.
(categorize_decl_for_section): Likewise.
* tree-mudflap.c: Removed.
* tree-mudflap.h: Removed.
* tree-nomudflap.c: Removed.
* bfin/uclinux.h (MFWRAP_SPEC): Remove.
* moxie/uclinux.h (MFWRAP_SPEC): Likewise.
* rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
* config/sol2.h (MFLIB_SPEC): Likewise.
* doc/install.texi: Remove mudflap references.
* doc/passes.texi: Similarly.
* doc/sourcebuild.texi: Similarly.
* doc/invoke.texi: Remove mudlfap related options.

* c-family/c-common.c (c_define_builtins): Remove mudflap support.
* c-family/c.opt: Ignore and warn for mudflap options.

* g++.dg/torture/pr49309.C: Removed.
* gcc.dg/dfp/pr35739.c: Removed.

From-SVN: r204090

178 files changed:
ChangeLog
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.ac
gcc/ChangeLog
gcc/Makefile.in
gcc/builtins.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c.opt
gcc/config/bfin/uclinux.h
gcc/config/moxie/uclinux.h
gcc/config/rs6000/aix.h
gcc/config/sol2.h
gcc/doc/install.texi
gcc/doc/invoke.texi
gcc/doc/passes.texi
gcc/doc/sourcebuild.texi
gcc/gcc.c
gcc/gimplify.c
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr49309.C [deleted file]
gcc/testsuite/gcc.dg/dfp/pr35739.c [deleted file]
gcc/toplev.c
gcc/tree-inline.c
gcc/tree-mudflap.c [deleted file]
gcc/tree-mudflap.h [deleted file]
gcc/tree-nomudflap.c [deleted file]
gcc/tree-pass.h
gcc/varasm.c
libmudflap/ChangeLog [deleted file]
libmudflap/Makefile.am [deleted file]
libmudflap/Makefile.in [deleted file]
libmudflap/acinclude.m4 [deleted file]
libmudflap/aclocal.m4 [deleted file]
libmudflap/config.h.in [deleted file]
libmudflap/configure [deleted file]
libmudflap/configure.ac [deleted file]
libmudflap/libtool-version [deleted file]
libmudflap/mf-heuristics.c [deleted file]
libmudflap/mf-hooks1.c [deleted file]
libmudflap/mf-hooks2.c [deleted file]
libmudflap/mf-hooks3.c [deleted file]
libmudflap/mf-impl.h [deleted file]
libmudflap/mf-runtime.c [deleted file]
libmudflap/mf-runtime.h [deleted file]
libmudflap/testsuite/Makefile.am [deleted file]
libmudflap/testsuite/Makefile.in [deleted file]
libmudflap/testsuite/config/default.exp [deleted file]
libmudflap/testsuite/lib/libmudflap.exp [deleted file]
libmudflap/testsuite/lib/mfdg.exp [deleted file]
libmudflap/testsuite/libmudflap.c++/c++frags.exp [deleted file]
libmudflap/testsuite/libmudflap.c++/ctors-1.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/ctors-2.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/ctors.exp [deleted file]
libmudflap/testsuite/libmudflap.c++/error1-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/error2-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/fail24-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass27-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass28-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass31-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass58-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass61-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c++/pass66-frag.cxx [deleted file]
libmudflap/testsuite/libmudflap.c/cfrags.exp [deleted file]
libmudflap/testsuite/libmudflap.c/externs-1.c [deleted file]
libmudflap/testsuite/libmudflap.c/externs-2.c [deleted file]
libmudflap/testsuite/libmudflap.c/externs.exp [deleted file]
libmudflap/testsuite/libmudflap.c/fail1-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail10-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail11-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail12-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail13-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail14-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail15-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail16-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail17-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail18-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail19-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail2-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail20-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail21-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail22-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail23-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail25-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail26-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail27-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail28-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail29-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail3-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail30-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail31-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail32-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail33-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail34-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail35-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail36-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail37-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail38-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail39-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail4-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail40-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail5-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail6-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail68-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail7-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail8-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/fail9-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/heap-scalestress.c [deleted file]
libmudflap/testsuite/libmudflap.c/hook-allocstuff.c [deleted file]
libmudflap/testsuite/libmudflap.c/hook2-allocstuff.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass-stratcliff.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass1-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass10-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass11-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass12-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass13-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass14-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass15-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass16-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass17-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass18-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass19-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass2-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass20-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass21-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass22-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass23-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass24-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass25-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass26-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass29-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass3-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass30-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass32-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass33-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass34-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass35-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass36-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass38-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass4-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass42-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass43-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass44-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass45-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass46-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass47-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass48-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass49-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass5-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass50-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass51-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass52-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass53-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass54-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass56-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass6-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass62-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass63-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass64-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass67-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass7-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass8-frag.c [deleted file]
libmudflap/testsuite/libmudflap.c/pass9-frag.c [deleted file]
libmudflap/testsuite/libmudflap.cth/cthfrags.exp [deleted file]
libmudflap/testsuite/libmudflap.cth/pass37-frag.c [deleted file]
libmudflap/testsuite/libmudflap.cth/pass39-frag.c [deleted file]
libmudflap/testsuite/libmudflap.cth/pass40-frag.c [deleted file]
libmudflap/testsuite/libmudflap.cth/pass59-frag.c [deleted file]
libmudflap/testsuite/mfconfig.exp.in [deleted file]

index 09e447185b8fc7ea3c37048a25aec13ef2d20c2a..2b27bce672643e2514b86f290c70b3c413b84691 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-10-26  Jeff Law  <law@redhat.com>
+
+       * Makefile.def (target_modules): Remove libmudflap
+       (languages): Remove check-target-libmudflap).
+       * Makefile.in: Rebuilt.
+       * Makefile.tpl (check-target-libmudflap-c++): Remove.
+       * configure.ac (target_libraries): Remove target-libmudflap.
+       Remove checks which disabled libmudflap on some systems.
+       * configure: Rebuilt.
+       * libmudflap: Directory removed.
+
 2013-10-21  Cong Hou  <congh@google.com>
 
        * MAINTAINERS (Write After Approval): Add myself.
index a6954da3e7c9226ecd6f879245449c83a32918a6..bf1697249e82579c3132823d81c13ff6ca8aaa75 100644 (file)
@@ -239,7 +239,6 @@ tree-ssa            Diego Novillo           dnovillo@google.com
 tree-ssa               Andrew MacLeod          amacleod@redhat.com
 PRE                    Daniel Berlin           dberlin@dberlin.org
 code sinking           Daniel Berlin           dberlin@dberlin.org
-mudflap                        Frank Ch. Eigler        fche@redhat.com
 tree browser/unparser  Sebastian Pop           sebastian.pop@amd.com
 scev, data dependence  Daniel Berlin           dberlin@dberlin.org
 scev, data dependence  Sebastian Pop           sebastian.pop@amd.com
index 3ba1a5b9a3a4b6e30e55264906dd8d2185134ac2..df4b2242e9670cb05bf245917daa04df45999204 100644 (file)
@@ -117,7 +117,6 @@ target_modules = { module= libstdc++-v3;
                   bootstrap=true;
                   lib_path=src/.libs;
                   raw_cxx=true; };
-target_modules = { module= libmudflap; lib_path=.libs; };
 target_modules = { module= libsanitizer;
                   bootstrap=true;
                   lib_path=.libs;
@@ -551,7 +550,6 @@ dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath;
 languages = { language=c;      gcc-check-target=check-gcc; };
 languages = { language=c++;    gcc-check-target=check-c++;
                                lib-check-target=check-target-libstdc++-v3;
-                               lib-check-target=check-target-libmudflap-c++;
                                lib-check-target=check-target-libitm-c++;
                                lib-check-target=check-target-libgomp-c++; };
 languages = { language=fortran;        gcc-check-target=check-fortran;
index a13771d40eb539218d5b3c4e9128e5957270d299..ff434fed3151ef071e617f9fbce28eadfa365451 100644 (file)
@@ -575,16 +575,12 @@ all:
 
 # This is the list of directories that may be needed in RPATH_ENVVAR
 # so that programs built for the target machine work.
-TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libvtv)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc)
+TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libvtv)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc)
 
 @if target-libstdc++-v3
 TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:
 @endif target-libstdc++-v3
 
-@if target-libmudflap
-TARGET_LIB_PATH_libmudflap = $$r/$(TARGET_SUBDIR)/libmudflap/.libs:
-@endif target-libmudflap
-
 @if target-libsanitizer
 TARGET_LIB_PATH_libsanitizer = $$r/$(TARGET_SUBDIR)/libsanitizer/.libs:
 @endif target-libsanitizer
@@ -927,7 +923,6 @@ configure-host:  \
 .PHONY: configure-target
 configure-target:  \
     maybe-configure-target-libstdc++-v3 \
-    maybe-configure-target-libmudflap \
     maybe-configure-target-libsanitizer \
     maybe-configure-target-libvtv \
     maybe-configure-target-libssp \
@@ -1077,7 +1072,6 @@ all-host: maybe-all-lto-plugin
 @if target-libstdc++-v3-no-bootstrap
 all-target: maybe-all-target-libstdc++-v3
 @endif target-libstdc++-v3-no-bootstrap
-all-target: maybe-all-target-libmudflap
 @if target-libsanitizer-no-bootstrap
 all-target: maybe-all-target-libsanitizer
 @endif target-libsanitizer-no-bootstrap
@@ -1173,7 +1167,6 @@ info-host: maybe-info-lto-plugin
 .PHONY: info-target
 
 info-target: maybe-info-target-libstdc++-v3
-info-target: maybe-info-target-libmudflap
 info-target: maybe-info-target-libsanitizer
 info-target: maybe-info-target-libvtv
 info-target: maybe-info-target-libssp
@@ -1256,7 +1249,6 @@ dvi-host: maybe-dvi-lto-plugin
 .PHONY: dvi-target
 
 dvi-target: maybe-dvi-target-libstdc++-v3
-dvi-target: maybe-dvi-target-libmudflap
 dvi-target: maybe-dvi-target-libsanitizer
 dvi-target: maybe-dvi-target-libvtv
 dvi-target: maybe-dvi-target-libssp
@@ -1339,7 +1331,6 @@ pdf-host: maybe-pdf-lto-plugin
 .PHONY: pdf-target
 
 pdf-target: maybe-pdf-target-libstdc++-v3
-pdf-target: maybe-pdf-target-libmudflap
 pdf-target: maybe-pdf-target-libsanitizer
 pdf-target: maybe-pdf-target-libvtv
 pdf-target: maybe-pdf-target-libssp
@@ -1422,7 +1413,6 @@ html-host: maybe-html-lto-plugin
 .PHONY: html-target
 
 html-target: maybe-html-target-libstdc++-v3
-html-target: maybe-html-target-libmudflap
 html-target: maybe-html-target-libsanitizer
 html-target: maybe-html-target-libvtv
 html-target: maybe-html-target-libssp
@@ -1505,7 +1495,6 @@ TAGS-host: maybe-TAGS-lto-plugin
 .PHONY: TAGS-target
 
 TAGS-target: maybe-TAGS-target-libstdc++-v3
-TAGS-target: maybe-TAGS-target-libmudflap
 TAGS-target: maybe-TAGS-target-libsanitizer
 TAGS-target: maybe-TAGS-target-libvtv
 TAGS-target: maybe-TAGS-target-libssp
@@ -1588,7 +1577,6 @@ install-info-host: maybe-install-info-lto-plugin
 .PHONY: install-info-target
 
 install-info-target: maybe-install-info-target-libstdc++-v3
-install-info-target: maybe-install-info-target-libmudflap
 install-info-target: maybe-install-info-target-libsanitizer
 install-info-target: maybe-install-info-target-libvtv
 install-info-target: maybe-install-info-target-libssp
@@ -1671,7 +1659,6 @@ install-pdf-host: maybe-install-pdf-lto-plugin
 .PHONY: install-pdf-target
 
 install-pdf-target: maybe-install-pdf-target-libstdc++-v3
-install-pdf-target: maybe-install-pdf-target-libmudflap
 install-pdf-target: maybe-install-pdf-target-libsanitizer
 install-pdf-target: maybe-install-pdf-target-libvtv
 install-pdf-target: maybe-install-pdf-target-libssp
@@ -1754,7 +1741,6 @@ install-html-host: maybe-install-html-lto-plugin
 .PHONY: install-html-target
 
 install-html-target: maybe-install-html-target-libstdc++-v3
-install-html-target: maybe-install-html-target-libmudflap
 install-html-target: maybe-install-html-target-libsanitizer
 install-html-target: maybe-install-html-target-libvtv
 install-html-target: maybe-install-html-target-libssp
@@ -1837,7 +1823,6 @@ installcheck-host: maybe-installcheck-lto-plugin
 .PHONY: installcheck-target
 
 installcheck-target: maybe-installcheck-target-libstdc++-v3
-installcheck-target: maybe-installcheck-target-libmudflap
 installcheck-target: maybe-installcheck-target-libsanitizer
 installcheck-target: maybe-installcheck-target-libvtv
 installcheck-target: maybe-installcheck-target-libssp
@@ -1920,7 +1905,6 @@ mostlyclean-host: maybe-mostlyclean-lto-plugin
 .PHONY: mostlyclean-target
 
 mostlyclean-target: maybe-mostlyclean-target-libstdc++-v3
-mostlyclean-target: maybe-mostlyclean-target-libmudflap
 mostlyclean-target: maybe-mostlyclean-target-libsanitizer
 mostlyclean-target: maybe-mostlyclean-target-libvtv
 mostlyclean-target: maybe-mostlyclean-target-libssp
@@ -2003,7 +1987,6 @@ clean-host: maybe-clean-lto-plugin
 .PHONY: clean-target
 
 clean-target: maybe-clean-target-libstdc++-v3
-clean-target: maybe-clean-target-libmudflap
 clean-target: maybe-clean-target-libsanitizer
 clean-target: maybe-clean-target-libvtv
 clean-target: maybe-clean-target-libssp
@@ -2086,7 +2069,6 @@ distclean-host: maybe-distclean-lto-plugin
 .PHONY: distclean-target
 
 distclean-target: maybe-distclean-target-libstdc++-v3
-distclean-target: maybe-distclean-target-libmudflap
 distclean-target: maybe-distclean-target-libsanitizer
 distclean-target: maybe-distclean-target-libvtv
 distclean-target: maybe-distclean-target-libssp
@@ -2169,7 +2151,6 @@ maintainer-clean-host: maybe-maintainer-clean-lto-plugin
 .PHONY: maintainer-clean-target
 
 maintainer-clean-target: maybe-maintainer-clean-target-libstdc++-v3
-maintainer-clean-target: maybe-maintainer-clean-target-libmudflap
 maintainer-clean-target: maybe-maintainer-clean-target-libsanitizer
 maintainer-clean-target: maybe-maintainer-clean-target-libvtv
 maintainer-clean-target: maybe-maintainer-clean-target-libssp
@@ -2307,7 +2288,6 @@ check-host:  \
 .PHONY: check-target
 check-target:  \
     maybe-check-target-libstdc++-v3 \
-    maybe-check-target-libmudflap \
     maybe-check-target-libsanitizer \
     maybe-check-target-libvtv \
     maybe-check-target-libssp \
@@ -2463,7 +2443,6 @@ install-host:  \
 .PHONY: install-target
 install-target:  \
     maybe-install-target-libstdc++-v3 \
-    maybe-install-target-libmudflap \
     maybe-install-target-libsanitizer \
     maybe-install-target-libvtv \
     maybe-install-target-libssp \
@@ -2566,7 +2545,6 @@ install-strip-host:  \
 .PHONY: install-strip-target
 install-strip-target:  \
     maybe-install-strip-target-libstdc++-v3 \
-    maybe-install-strip-target-libmudflap \
     maybe-install-strip-target-libsanitizer \
     maybe-install-strip-target-libvtv \
     maybe-install-strip-target-libssp \
@@ -31745,463 +31723,6 @@ maintainer-clean-target-libstdc++-v3:
 
 
 
-.PHONY: configure-target-libmudflap maybe-configure-target-libmudflap
-maybe-configure-target-libmudflap:
-@if gcc-bootstrap
-configure-target-libmudflap: stage_current
-@endif gcc-bootstrap
-@if target-libmudflap
-maybe-configure-target-libmudflap: configure-target-libmudflap
-configure-target-libmudflap: 
-       @: $(MAKE); $(unstage)
-       @r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       echo "Checking multilib configuration for libmudflap..."; \
-       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
-       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libmudflap/multilib.tmp 2> /dev/null ; \
-       if test -r $(TARGET_SUBDIR)/libmudflap/multilib.out; then \
-         if cmp -s $(TARGET_SUBDIR)/libmudflap/multilib.tmp $(TARGET_SUBDIR)/libmudflap/multilib.out; then \
-           rm -f $(TARGET_SUBDIR)/libmudflap/multilib.tmp; \
-         else \
-           rm -f $(TARGET_SUBDIR)/libmudflap/Makefile; \
-           mv $(TARGET_SUBDIR)/libmudflap/multilib.tmp $(TARGET_SUBDIR)/libmudflap/multilib.out; \
-         fi; \
-       else \
-         mv $(TARGET_SUBDIR)/libmudflap/multilib.tmp $(TARGET_SUBDIR)/libmudflap/multilib.out; \
-       fi; \
-       test ! -f $(TARGET_SUBDIR)/libmudflap/Makefile || exit 0; \
-       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
-       $(NORMAL_TARGET_EXPORTS)  \
-       echo Configuring in $(TARGET_SUBDIR)/libmudflap; \
-       cd "$(TARGET_SUBDIR)/libmudflap" || exit 1; \
-       case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
-         *) topdir=`echo $(TARGET_SUBDIR)/libmudflap/ | \
-               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
-       esac; \
-       srcdiroption="--srcdir=$${topdir}/libmudflap"; \
-       libsrcdir="$$s/libmudflap"; \
-       rm -f no-such-file || : ; \
-       CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
-         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-         --target=${target_alias} $${srcdiroption}  \
-         || exit 1
-@endif target-libmudflap
-
-
-
-
-
-.PHONY: all-target-libmudflap maybe-all-target-libmudflap
-maybe-all-target-libmudflap:
-@if gcc-bootstrap
-all-target-libmudflap: stage_current
-@endif gcc-bootstrap
-@if target-libmudflap
-TARGET-target-libmudflap=all
-maybe-all-target-libmudflap: all-target-libmudflap
-all-target-libmudflap: configure-target-libmudflap
-       @: $(MAKE); $(unstage)
-       @r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS)  \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
-               $(TARGET-target-libmudflap))
-@endif target-libmudflap
-
-
-
-
-
-.PHONY: check-target-libmudflap maybe-check-target-libmudflap
-maybe-check-target-libmudflap:
-@if target-libmudflap
-maybe-check-target-libmudflap: check-target-libmudflap
-
-check-target-libmudflap:
-       @: $(MAKE); $(unstage)
-       @r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
-
-@endif target-libmudflap
-
-.PHONY: install-target-libmudflap maybe-install-target-libmudflap
-maybe-install-target-libmudflap:
-@if target-libmudflap
-maybe-install-target-libmudflap: install-target-libmudflap
-
-install-target-libmudflap: installdirs
-       @: $(MAKE); $(unstage)
-       @r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
-
-@endif target-libmudflap
-
-.PHONY: install-strip-target-libmudflap maybe-install-strip-target-libmudflap
-maybe-install-strip-target-libmudflap:
-@if target-libmudflap
-maybe-install-strip-target-libmudflap: install-strip-target-libmudflap
-
-install-strip-target-libmudflap: installdirs
-       @: $(MAKE); $(unstage)
-       @r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
-
-@endif target-libmudflap
-
-# Other targets (info, dvi, pdf, etc.)
-
-.PHONY: maybe-info-target-libmudflap info-target-libmudflap
-maybe-info-target-libmudflap:
-@if target-libmudflap
-maybe-info-target-libmudflap: info-target-libmudflap
-
-info-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing info in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  info) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-dvi-target-libmudflap dvi-target-libmudflap
-maybe-dvi-target-libmudflap:
-@if target-libmudflap
-maybe-dvi-target-libmudflap: dvi-target-libmudflap
-
-dvi-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing dvi in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  dvi) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-pdf-target-libmudflap pdf-target-libmudflap
-maybe-pdf-target-libmudflap:
-@if target-libmudflap
-maybe-pdf-target-libmudflap: pdf-target-libmudflap
-
-pdf-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing pdf in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  pdf) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-html-target-libmudflap html-target-libmudflap
-maybe-html-target-libmudflap:
-@if target-libmudflap
-maybe-html-target-libmudflap: html-target-libmudflap
-
-html-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing html in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  html) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-TAGS-target-libmudflap TAGS-target-libmudflap
-maybe-TAGS-target-libmudflap:
-@if target-libmudflap
-maybe-TAGS-target-libmudflap: TAGS-target-libmudflap
-
-TAGS-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing TAGS in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  TAGS) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-install-info-target-libmudflap install-info-target-libmudflap
-maybe-install-info-target-libmudflap:
-@if target-libmudflap
-maybe-install-info-target-libmudflap: install-info-target-libmudflap
-
-install-info-target-libmudflap: \
-    configure-target-libmudflap \
-    info-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing install-info in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  install-info) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-install-pdf-target-libmudflap install-pdf-target-libmudflap
-maybe-install-pdf-target-libmudflap:
-@if target-libmudflap
-maybe-install-pdf-target-libmudflap: install-pdf-target-libmudflap
-
-install-pdf-target-libmudflap: \
-    configure-target-libmudflap \
-    pdf-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing install-pdf in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  install-pdf) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-install-html-target-libmudflap install-html-target-libmudflap
-maybe-install-html-target-libmudflap:
-@if target-libmudflap
-maybe-install-html-target-libmudflap: install-html-target-libmudflap
-
-install-html-target-libmudflap: \
-    configure-target-libmudflap \
-    html-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing install-html in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  install-html) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-installcheck-target-libmudflap installcheck-target-libmudflap
-maybe-installcheck-target-libmudflap:
-@if target-libmudflap
-maybe-installcheck-target-libmudflap: installcheck-target-libmudflap
-
-installcheck-target-libmudflap: \
-    configure-target-libmudflap 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing installcheck in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  installcheck) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-mostlyclean-target-libmudflap mostlyclean-target-libmudflap
-maybe-mostlyclean-target-libmudflap:
-@if target-libmudflap
-maybe-mostlyclean-target-libmudflap: mostlyclean-target-libmudflap
-
-mostlyclean-target-libmudflap: 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing mostlyclean in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  mostlyclean) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-clean-target-libmudflap clean-target-libmudflap
-maybe-clean-target-libmudflap:
-@if target-libmudflap
-maybe-clean-target-libmudflap: clean-target-libmudflap
-
-clean-target-libmudflap: 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing clean in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  clean) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-distclean-target-libmudflap distclean-target-libmudflap
-maybe-distclean-target-libmudflap:
-@if target-libmudflap
-maybe-distclean-target-libmudflap: distclean-target-libmudflap
-
-distclean-target-libmudflap: 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing distclean in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  distclean) \
-         || exit 1
-
-@endif target-libmudflap
-
-.PHONY: maybe-maintainer-clean-target-libmudflap maintainer-clean-target-libmudflap
-maybe-maintainer-clean-target-libmudflap:
-@if target-libmudflap
-maybe-maintainer-clean-target-libmudflap: maintainer-clean-target-libmudflap
-
-maintainer-clean-target-libmudflap: 
-       @: $(MAKE); $(unstage)
-       @[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
-       r=`${PWD_COMMAND}`; export r; \
-       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-       $(NORMAL_TARGET_EXPORTS) \
-       echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libmudflap" ; \
-       for flag in $(EXTRA_TARGET_FLAGS); do \
-         eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-       done; \
-       (cd $(TARGET_SUBDIR)/libmudflap && \
-         $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-                 "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-                 "RANLIB=$${RANLIB}" \
-                 "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-                  maintainer-clean) \
-         || exit 1
-
-@endif target-libmudflap
-
-
-
-
-
 .PHONY: configure-target-libsanitizer maybe-configure-target-libsanitizer
 maybe-configure-target-libsanitizer:
 @if gcc-bootstrap
@@ -44237,13 +43758,6 @@ maintainer-clean-target-libatomic:
 
 
 
-@if target-libmudflap
-.PHONY: check-target-libmudflap-c++
-check-target-libmudflap-c++:
-       $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap
-
-@endif target-libmudflap
-
 @if target-libgomp
 .PHONY: check-target-libgomp-c++
 check-target-libgomp-c++:
@@ -44292,7 +43806,7 @@ check-gcc-c++:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++);
-check-c++: check-gcc-c++ check-target-libstdc++-v3 check-target-libmudflap-c++ check-target-libitm-c++ check-target-libgomp-c++
+check-c++: check-gcc-c++ check-target-libstdc++-v3 check-target-libitm-c++ check-target-libgomp-c++
 
 .PHONY: check-gcc-fortran check-fortran
 check-gcc-fortran:
@@ -46375,7 +45889,6 @@ configure-stage3-target-libstdc++-v3: maybe-all-stage3-gcc
 configure-stage4-target-libstdc++-v3: maybe-all-stage4-gcc
 configure-stageprofile-target-libstdc++-v3: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libstdc++-v3: maybe-all-stagefeedback-gcc
-configure-target-libmudflap: stage_last
 configure-stage1-target-libsanitizer: maybe-all-stage1-gcc
 configure-stage2-target-libsanitizer: maybe-all-stage2-gcc
 configure-stage3-target-libsanitizer: maybe-all-stage3-gcc
@@ -46422,7 +45935,6 @@ configure-target-libatomic: stage_last
 
 @if gcc-no-bootstrap
 configure-target-libstdc++-v3: maybe-all-gcc
-configure-target-libmudflap: maybe-all-gcc
 configure-target-libsanitizer: maybe-all-gcc
 configure-target-libvtv: maybe-all-gcc
 configure-target-libssp: maybe-all-gcc
@@ -47268,7 +46780,6 @@ configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc
 
 @if gcc-no-bootstrap
 configure-target-libstdc++-v3: maybe-all-target-libgcc
-configure-target-libmudflap: maybe-all-target-libgcc
 configure-target-libsanitizer: maybe-all-target-libgcc
 configure-target-libvtv: maybe-all-target-libgcc
 configure-target-libssp: maybe-all-target-libgcc
@@ -47295,8 +46806,6 @@ configure-target-libatomic: maybe-all-target-libgcc
 
 configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss
 
-configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss
-
 configure-target-libsanitizer: maybe-all-target-newlib maybe-all-target-libgloss
 
 configure-target-libvtv: maybe-all-target-newlib maybe-all-target-libgloss
index 3233a788d8d3c012263d856fd41770e8920ae6f4..3e187e1b9dce81091856a72cdec287358134d74c 100644 (file)
@@ -1404,13 +1404,6 @@ ENDIF raw_cxx +]
 [+ ENDFOR recursive_targets +]
 [+ ENDFOR target_modules +]
 
-@if target-libmudflap
-.PHONY: check-target-libmudflap-c++
-check-target-libmudflap-c++:
-       $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap
-
-@endif target-libmudflap
-
 @if target-libgomp
 .PHONY: check-target-libgomp-c++
 check-target-libgomp-c++:
index d62285c9067ae9ef7232a2b7993a606549645d60..7bc49f74aef7932950df13485a9ffecf807b94a4 100755 (executable)
--- a/configure
+++ b/configure
@@ -2775,7 +2775,6 @@ target_libraries="target-libgcc \
                target-libatomic \
                target-libitm \
                target-libstdc++-v3 \
-               target-libmudflap \
                target-libsanitizer \
                target-libvtv \
                target-libssp \
@@ -3128,22 +3127,6 @@ if test x$enable_static_libjava != xyes ; then
 fi
 
 
-# Disable libmudflap on some systems.
-if test x$enable_libmudflap = x ; then
-    case "${target}" in
-    *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
-        # Enable libmudflap by default in GNU and friends.
-       ;;
-    *-*-freebsd*)
-        # Enable libmudflap by default in FreeBSD.
-       ;;
-    *)
-        # Disable it by default everywhere else.
-       noconfigdirs="$noconfigdirs target-libmudflap"
-       ;;
-    esac
-fi
-
 # Disable libgomp on non POSIX hosted systems.
 if test x$enable_libgomp = x ; then
     # Enable libgomp by default on hosted POSIX systems.
index 4c236525014ad3c4815494f8a1311c918494a75b..595b2b921546376efb0c9f1a9e4d42a420376168 100644 (file)
@@ -159,7 +159,6 @@ target_libraries="target-libgcc \
                target-libatomic \
                target-libitm \
                target-libstdc++-v3 \
-               target-libmudflap \
                target-libsanitizer \
                target-libvtv \
                target-libssp \
@@ -473,22 +472,6 @@ if test x$enable_static_libjava != xyes ; then
 fi
 AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
 
-# Disable libmudflap on some systems.
-if test x$enable_libmudflap = x ; then
-    case "${target}" in
-    *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
-        # Enable libmudflap by default in GNU and friends.
-       ;;
-    *-*-freebsd*)
-        # Enable libmudflap by default in FreeBSD.
-       ;;
-    *)
-        # Disable it by default everywhere else.
-       noconfigdirs="$noconfigdirs target-libmudflap"
-       ;;
-    esac
-fi
-
 # Disable libgomp on non POSIX hosted systems.
 if test x$enable_libgomp = x ; then
     # Enable libgomp by default on hosted POSIX systems.
index 29035aa7997d94915dbf53e5952faea53242d353..2e90a39a067bf098900ed943aa8eb55303951fbb 100644 (file)
@@ -1,3 +1,32 @@
+2013-10-26  Jeff Law  <law@redhat.com>
+
+       * Makefile.in (C_COMMON_OBJS): Remove tree-mudflap.
+       (OBJS): Remove tree-nomudflap.o
+       (GTFILES): Remove tree-mudflap.c
+       * builtins.c (expand_builtin_alloc): Remove mudflap support.
+       * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
+       (mfwrap_spec, mflib_spec): Likewise.
+       (cpp_unique_options, cc1_options, static_specs): Likewise.
+       * gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise.
+       * passes.def: Likewise.
+       * toplev.c (compile_file, process_options): Likewise.
+       * tree-inline.c (copy_tree_r): Likewise.
+       * tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise.
+       * varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise.
+       (build_constant_desc, output_constant_def_contents): Likewise.
+       (categorize_decl_for_section): Likewise.
+       * tree-mudflap.c: Removed.
+       * tree-mudflap.h: Removed.
+       * tree-nomudflap.c: Removed.
+       * bfin/uclinux.h (MFWRAP_SPEC): Remove.
+       * moxie/uclinux.h (MFWRAP_SPEC): Likewise.
+       * rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
+       * config/sol2.h (MFLIB_SPEC): Likewise.
+       * doc/install.texi: Remove mudflap references.
+       * doc/passes.texi: Similarly.
+       * doc/sourcebuild.texi: Similarly.
+       * doc/invoke.texi: Remove mudlfap related options.
+
 2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/58759
index f519455d5010b55220d9df47a001a00bf41fe9c7..29609fd1f1de22dd97714400f9078f464fdbe813 100644 (file)
@@ -1132,14 +1132,11 @@ GCC_OBJS = gcc.o ggc-none.o
 c-family-warn = $(STRICT_WARN)
 
 # Language-specific object files shared by all C-family front ends.
-# FIXME: tree-mudflap is C-family only, but it is also part of the middle-end.
-# The mudflap machinery should be properly separated from the front ends, and
-# perhaps turned into a plugin.
 C_COMMON_OBJS = c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o \
   c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o \
   c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o \
   c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o \
-  c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o \
+  c-family/c-semantics.o c-family/c-ada-spec.o \
   c-family/array-notation-common.o c-family/c-ubsan.o
 
 # Language-independent object files.
@@ -1388,7 +1385,6 @@ OBJS = \
        tree-iterator.o \
        tree-loop-distribution.o \
        tree-nested.o \
-       tree-nomudflap.o \
        tree-nrv.o \
        tree-object-size.o \
        tree-outof-ssa.o \
@@ -2252,7 +2248,7 @@ GTFILES = $(CPP_ID_DATA_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/sdbout.c $(srcdir)/stor-layout.c \
   $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
   $(srcdir)/gimple.h \
-  $(srcdir)/tree-mudflap.c $(srcdir)/gimple-ssa.h \
+  $(srcdir)/gimple-ssa.h \
   $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
   $(srcdir)/tree-cfg.c \
   $(srcdir)/tree-dfa.c \
index b380c2c6d0b70c729f2c8354fa23fa733499afa8..10758cac2c40260704d03478599e82d0fb7e3976 100644 (file)
@@ -4362,10 +4362,6 @@ expand_builtin_alloca (tree exp, bool cannot_accumulate)
   bool alloca_with_align = (DECL_FUNCTION_CODE (get_callee_fndecl (exp))
                            == BUILT_IN_ALLOCA_WITH_ALIGN);
 
-  /* Emit normal call if we use mudflap.  */
-  if (flag_mudflap)
-    return NULL_RTX;
-
   valid_arglist
     = (alloca_with_align
        ? validate_arglist (exp, INTEGER_TYPE, INTEGER_TYPE, VOID_TYPE)
index 25bb465742f68a62bacac55daa7309749b6b0774..1fab5a8f890bb8ccb3bc2589b0aea664735a9bc9 100644 (file)
@@ -1,3 +1,8 @@
+2013-10-26  Jeff Law  <law@redhat.com>
+
+       * c-family/c-common.c (c_define_builtins): Remove mudflap support.
+       * c-family/c.opt: Ignore and warn for mudflap options.
+
 2013-10-24  Tobias Burnus  <burnus@net-b.de>
 
        PR other/33426
index d830288864e04d2f64ff84fa6e6fc326b5ca8f53..b20fdd6a1eafe2885299580c238664bc3dd8f84e 100644 (file)
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "diagnostic.h"
 #include "tree-iterator.h"
 #include "hashtab.h"
-#include "tree-mudflap.h"
 #include "opts.h"
 #include "cgraph.h"
 #include "target-def.h"
@@ -5220,9 +5219,6 @@ c_define_builtins (tree va_list_ref_type_node, tree va_list_arg_type_node)
   targetm.init_builtins ();
 
   build_common_builtin_nodes ();
-
-  if (flag_mudflap)
-    mudflap_init ();
 }
 
 /* Like get_identifier, but avoid warnings about null arguments when
index e8dde935c169471b180d74a726ef70e1f92be1ab..b862eb9e27608c83b49895d16cfb319a7a20d0ab 100644 (file)
@@ -538,8 +538,7 @@ C ObjC Var(warn_missing_prototypes) Warning
 Warn about global functions without prototypes
 
 Wmudflap
-C ObjC C++ ObjC++ Var(warn_mudflap) Init(1) Warning
-Warn about constructs not instrumented by -fmudflap
+C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
 
 Wmultichar
 C ObjC C++ ObjC++ Warning
@@ -997,16 +996,13 @@ C ObjC C++ ObjC++ Var(flag_ms_extensions)
 Don't warn about uses of Microsoft extensions
 
 fmudflap
-C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap)
-Add mudflap bounds-checking instrumentation for single-threaded program
+C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
 
 fmudflapth
-C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap,2)
-Add mudflap bounds-checking instrumentation for multi-threaded program
+C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
 
 fmudflapir
-C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap_ignore_reads)
-Ignore read operations when inserting mudflap instrumentation
+C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
 
 fname-mangling-version-
 C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
index 63cba99cec6796df437e50c9bb1c2d98fec66559..848515c1bbc138351d31acda43d56daa13e37c0c 100644 (file)
@@ -32,14 +32,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   %{mfast-fp:-lbffastfp} %G %L %{mfast-fp:-lbffastfp} %G \
 "
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
-   static.  */
-#define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
- --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
- --wrap=mmap --wrap=munmap --wrap=alloca\
- %{fmudflapth: --wrap=pthread_create\
-}} %{fmudflap|fmudflapth: --wrap=main}"
-
 #undef TARGET_SUPPORTS_SYNC_CALLS
 #define TARGET_SUPPORTS_SYNC_CALLS 1
 
index 85c65f257ce6146e8371a040d1f93e239e7c9f8b..fb8c92542b569dcb631b96fc33397b71ab5352a4 100644 (file)
@@ -30,13 +30,5 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS()
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
-   static.  */
-#define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
- --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
- --wrap=mmap --wrap=munmap --wrap=alloca\
- %{fmudflapth: --wrap=pthread_create\
-}} %{fmudflap|fmudflapth: --wrap=main}"
-
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
index f81666a3b1194b77e4609fad3007edf5e09e9281..a11bd57284d4646c341c30a83da263ca8ad00275 100644 (file)
 /* Because of the above, we must have gcc search itself to find libgcc.a.  */
 #define LINK_LIBGCC_SPECIAL_1
 
-#define MFWRAP_SPEC " %{static: %{fmudflap|fmudflapth: \
- -brename:malloc,__wrap_malloc -brename:__real_malloc,malloc \
- -brename:free,__wrap_free -brename:__real_free,free \
- -brename:calloc,__wrap_calloc -brename:__real_calloc,calloc \
- -brename:realloc,__wrap_realloc -brename:__real_realloc,realloc \
- -brename:mmap,__wrap_mmap -brename:__real_mmap,mmap \
- -brename:munmap,__wrap_munmap -brename:__real_munmap,munmap \
- -brename:alloca,__wrap_alloca -brename:__real_alloca,alloca \
-} %{fmudflapth: \
- -brename:pthread_create,__wrap_pthread_create \
- -brename:__real_pthread_create,pthread_create \
- -brename:pthread_join,__wrap_pthread_join \
- -brename:__real_pthread_join,pthread_join \
- -brename:pthread_exit,__wrap_pthread_exit \
- -brename:__real_pthread_exit,pthread_exit \
-}} %{fmudflap|fmudflapth: \
- -brename:main,__wrap_main -brename:__real_main,main \
-}"
-
-#define MFLIB_SPEC " %{fmudflap: -lmudflap \
- %{static:%(link_gcc_c_sequence) -lmudflap}} \
- %{fmudflapth: -lmudflapth -lpthread \
- %{static:%(link_gcc_c_sequence) -lmudflapth}} "
-
 /* Names to predefine in the preprocessor for this target machine.  */
 #define TARGET_OS_AIX_CPP_BUILTINS()           \
   do                                           \
index b606595dfe9df0a3730dc18d6e3a03b256d8a129..749e16830e3f85eb457af13cf26a8d9fba18d405 100644 (file)
@@ -194,11 +194,6 @@ along with GCC; see the file COPYING3.  If not see
 #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */
 #endif
 
-#ifndef USE_GLD
-/* The default MFLIB_SPEC is GNU ld specific.  */
-#define MFLIB_SPEC ""
-#endif
-
 /* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
index 5cb4d3c3076476b0914b07639c02dddd6115b1c4..308f3e8d3b1a2f40e2ab7de159806672ea8f88bb 100644 (file)
@@ -1391,7 +1391,7 @@ addition, @samp{libstdc++}'s include files will be installed into
 @option{--with-gxx-include-dir=@var{dirname}}.  Using this option is
 particularly useful if you intend to use several versions of GCC in
 parallel.  This is currently supported by @samp{libgfortran},
-@samp{libjava}, @samp{libmudflap}, @samp{libstdc++}, and @samp{libobjc}.
+@samp{libjava}, @samp{libstdc++}, and @samp{libobjc}.
 
 @item --enable-languages=@var{lang1},@var{lang2},@dots{}
 Specify that only a particular subset of compilers and
index d9d81a98612e346c8fb6ebb3e0d638061a883fe5..ab259225574463692f2114462be99fab47b190b9 100644 (file)
@@ -256,7 +256,6 @@ Objective-C and Objective-C++ Dialects}.
 -Wlogical-op -Wlong-long @gol
 -Wmain -Wmaybe-uninitialized -Wmissing-braces  -Wmissing-field-initializers @gol
 -Wmissing-include-dirs @gol
--Wno-mudflap @gol
 -Wno-multichar  -Wnonnull  -Wno-overflow @gol
 -Woverlength-strings  -Wpacked  -Wpacked-bitfield-compat  -Wpadded @gol
 -Wparentheses  -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
@@ -308,7 +307,7 @@ Objective-C and Objective-C++ Dialects}.
 -fdump-tree-ch @gol
 -fdump-tree-ssa@r{[}-@var{n}@r{]} -fdump-tree-pre@r{[}-@var{n}@r{]} @gol
 -fdump-tree-ccp@r{[}-@var{n}@r{]} -fdump-tree-dce@r{[}-@var{n}@r{]} @gol
--fdump-tree-gimple@r{[}-raw@r{]} -fdump-tree-mudflap@r{[}-@var{n}@r{]} @gol
+-fdump-tree-gimple@r{[}-raw@r{]} @gol
 -fdump-tree-dom@r{[}-@var{n}@r{]} @gol
 -fdump-tree-dse@r{[}-@var{n}@r{]} @gol
 -fdump-tree-phiprop@r{[}-@var{n}@r{]} @gol
@@ -384,7 +383,7 @@ Objective-C and Objective-C++ Dialects}.
 -floop-parallelize-all -flto -flto-compression-level @gol
 -flto-partition=@var{alg} -flto-report -flto-report-wpa -fmerge-all-constants @gol
 -fmerge-constants -fmodulo-sched -fmodulo-sched-allow-regmoves @gol
--fmove-loop-invariants fmudflap -fmudflapir -fmudflapth -fno-branch-count-reg @gol
+-fmove-loop-invariants -fno-branch-count-reg @gol
 -fno-defer-pop -fno-function-cse -fno-guess-branch-probability @gol
 -fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol
 -fno-sched-interblock -fno-sched-spec -fno-signed-zeros @gol
@@ -4991,11 +4990,6 @@ This option is only supported for C and Objective-C@.  It is implied by
 This option is only active when @option{-fstack-protector} is active.  It
 warns about functions that are not protected against stack smashing.
 
-@item -Wno-mudflap
-@opindex Wno-mudflap
-Suppress warnings about constructs that cannot be instrumented by
-@option{-fmudflap}.
-
 @item -Woverlength-strings
 @opindex Woverlength-strings
 @opindex Wno-overlength-strings
@@ -6200,11 +6194,6 @@ by appending @file{.store_copyprop} to the source file name.
 Dump each function after dead code elimination.  The file name is made by
 appending @file{.dce} to the source file name.
 
-@item mudflap
-@opindex fdump-tree-mudflap
-Dump each function after adding mudflap instrumentation.  The file name is
-made by appending @file{.mudflap} to the source file name.
-
 @item sra
 @opindex fdump-tree-sra
 Dump each function after performing scalar replacement of aggregates.  The
@@ -7071,32 +7060,6 @@ assumptions based on that.
 
 The default is @option{-fzero-initialized-in-bss}.
 
-@item -fmudflap -fmudflapth -fmudflapir
-@opindex fmudflap
-@opindex fmudflapth
-@opindex fmudflapir
-@cindex bounds checking
-@cindex mudflap
-For front-ends that support it (C and C++), instrument all risky
-pointer/array dereferencing operations, some standard library
-string/heap functions, and some other associated constructs with
-range/validity tests.  Modules so instrumented should be immune to
-buffer overflows, invalid heap use, and some other classes of C/C++
-programming errors.  The instrumentation relies on a separate runtime
-library (@file{libmudflap}), which is linked into a program if
-@option{-fmudflap} is given at link time.  Run-time behavior of the
-instrumented program is controlled by the @env{MUDFLAP_OPTIONS}
-environment variable.  See @code{env MUDFLAP_OPTIONS=-help a.out}
-for its options.
-
-Use @option{-fmudflapth} instead of @option{-fmudflap} to compile and to
-link if your program is multi-threaded.  Use @option{-fmudflapir}, in
-addition to @option{-fmudflap} or @option{-fmudflapth}, if
-instrumentation should ignore pointer reads.  This produces less
-instrumentation (and therefore faster execution) and still provides
-some protection against outright memory corrupting writes, but allows
-erroneously read data to propagate within a program.
-
 @item -fthread-jumps
 @opindex fthread-jumps
 Perform optimizations that check to see if a jump branches to a
index 045f964a939d91b8dbeb25f2d92fad61a107440c..d8e4315d74c8cf2e07332c5777b0bf3cb5c41e66 100644 (file)
@@ -225,20 +225,6 @@ stuff quickly rather than wait until later when it's more work to get
 rid of it.  This pass is located in @file{tree-cfg.c} and described by
 @code{pass_remove_useless_stmts}.
 
-@item Mudflap declaration registration
-
-If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth
--fmudflapir,gcc,Using the GNU Compiler Collection (GCC)}) is
-enabled, we generate code to register some variable declarations with
-the mudflap runtime.  Specifically, the runtime tracks the lifetimes of
-those variable declarations that have their addresses taken, or whose
-bounds are unknown at compile time (@code{extern}).  This pass generates
-new exception handling constructs (@code{try}/@code{finally}), and so
-must run before those are lowered.  In addition, the pass enqueues
-declarations of static variables whose lifetimes extend to the entire
-program.  The pass is located in @file{tree-mudflap.c} and is described
-by @code{pass_mudflap_1}.
-
 @item OpenMP lowering
 
 If OpenMP generation (@option{-fopenmp}) is enabled, this pass lowers
@@ -576,18 +562,6 @@ run last so that we have as much time as possible to prove that the
 statement is not reachable.  It is located in @file{tree-cfg.c} and
 is described by @code{pass_warn_function_return}.
 
-@item Mudflap statement annotation
-
-If mudflap is enabled, we rewrite some memory accesses with code to
-validate that the memory access is correct.  In particular, expressions
-involving pointer dereferences (@code{INDIRECT_REF}, @code{ARRAY_REF},
-etc.) are replaced by code that checks the selected address range
-against the mudflap runtime's database of valid regions.  This check
-includes an inline lookup into a direct-mapped cache, based on
-shift/mask operations of the pointer value, with a fallback function
-call into the runtime.  The pass is located in @file{tree-mudflap.c} and
-is described by @code{pass_mudflap_2}.
-
 @item Leave static single assignment form
 
 This pass rewrites the function such that it is in normal form.  At
@@ -968,10 +942,7 @@ This pass outputs the assembler code for the function.  The source files
 are @file{final.c} plus @file{insn-output.c}; the latter is generated
 automatically from the machine description by the tool @file{genoutput}.
 The header file @file{conditions.h} is used for communication between
-these files.  If mudflap is enabled, the queue of deferred declarations
-and any addressed constants (e.g., string literals) is processed by
-@code{mudflap_finish_file} into a synthetic constructor function
-containing calls into the mudflap runtime.
+these files.
 
 @item Debugging information output
 
index 90bd0bdf2309174754c0618315f243c70482dea5..1a7091684585851a0fca4805f3da861fb5187bf5 100644 (file)
@@ -103,10 +103,6 @@ The runtime support library for transactional memory.
 @item libjava
 The Java runtime library.
 
-@item libmudflap
-The @code{libmudflap} library, used for instrumenting pointer and array
-dereferencing operations.
-
 @item libobjc
 The Objective-C and Objective-C++ runtime library.
 
index 2bbc9426cf99b000bc38950bcbd4495c78f119ae..22982497a3b3bd6eeb00b3bdeb5c09756c537ea7 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -523,28 +523,12 @@ proper position among the other output files.  */
 #define LIB_SPEC "%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
 #endif
 
-/* mudflap specs */
-#ifndef MFWRAP_SPEC
-/* XXX: valid only for GNU ld */
-/* XXX: should exactly match hooks provided by libmudflap.a */
-#define MFWRAP_SPEC " %{static: %{fmudflap|fmudflapth: \
- --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
- --wrap=mmap --wrap=mmap64 --wrap=munmap --wrap=alloca\
-} %{fmudflapth: --wrap=pthread_create\
-}} %{fmudflap|fmudflapth: --wrap=main}"
-#endif
-#ifndef MFLIB_SPEC
-#define MFLIB_SPEC "%{fmudflap|fmudflapth: -export-dynamic}"
-#endif
-
 /* When using -fsplit-stack we need to wrap pthread_create, in order
    to initialize the stack guard.  We always use wrapping, rather than
    shared library ordering, and we keep the wrapper function in
    libgcc.  This is not yet a real spec, though it could become one;
    it is currently just stuffed into LINK_SPEC.  FIXME: This wrapping
-   only works with GNU ld and gold.  FIXME: This is incompatible with
-   -fmudflap when linking statically, which wants to do its own
-   wrapping.  */
+   only works with GNU ld and gold.  */
 #define STACK_SPLIT_SPEC " %{fsplit-stack: --wrap=pthread_create}"
 
 #ifndef LIBASAN_SPEC
@@ -820,8 +804,6 @@ static const char *asm_spec = ASM_SPEC;
 static const char *asm_final_spec = ASM_FINAL_SPEC;
 static const char *link_spec = LINK_SPEC;
 static const char *lib_spec = LIB_SPEC;
-static const char *mfwrap_spec = MFWRAP_SPEC;
-static const char *mflib_spec = MFLIB_SPEC;
 static const char *link_gomp_spec = "";
 static const char *libgcc_spec = LIBGCC_SPEC;
 static const char *endfile_spec = ENDFILE_SPEC;
@@ -862,8 +844,6 @@ static const char *cpp_unique_options =
  %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD}\
  %{!iplugindir*:%{fplugin*:%:find-plugindir()}}\
  %{H} %C %{D*&U*&A*} %{i*} %Z %i\
- %{fmudflap:-D_MUDFLAP -include mf-runtime.h}\
- %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\
  %{E|M|MM:%W{o*}}";
 
 /* This contains cpp options which are common with cc1_options and are passed
@@ -895,7 +875,6 @@ static const char *cc1_options =
  %{-help=*:--help=%*}\
  %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
  %{fsyntax-only:-o %j} %{-param*}\
- %{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants}\
  %{coverage:-fprofile-arcs -ftest-coverage}";
 
 static const char *asm_options =
@@ -1309,8 +1288,6 @@ static struct spec_list static_specs[] =
   INIT_STATIC_SPEC ("endfile",                 &endfile_spec),
   INIT_STATIC_SPEC ("link",                    &link_spec),
   INIT_STATIC_SPEC ("lib",                     &lib_spec),
-  INIT_STATIC_SPEC ("mfwrap",                  &mfwrap_spec),
-  INIT_STATIC_SPEC ("mflib",                   &mflib_spec),
   INIT_STATIC_SPEC ("link_gomp",               &link_gomp_spec),
   INIT_STATIC_SPEC ("libgcc",                  &libgcc_spec),
   INIT_STATIC_SPEC ("startfile",               &startfile_spec),
index d5b535d2bfb1d30eb1a358f577f3579539572592..4b4eb4cafd7a142039b0783c5fbbead113255bf6 100644 (file)
@@ -51,7 +51,6 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "langhooks-def.h"     /* FIXME: for lhd_set_decl_assembler_name */
 #include "tree-pass.h"         /* FIXME: only for PROP_gimple_any */
-#include "tree-mudflap.h"
 #include "expr.h"
 #include "tm_p.h"
 
@@ -1236,8 +1235,7 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p)
       gimple stack_restore;
 
       /* Save stack on entry and restore it on exit.  Add a try_finally
-        block to achieve this.  Note that mudflap depends on the
-        format of the emitted code: see mx_register_decls().  */
+        block to achieve this.  */
       build_stack_save_restore (&stack_save, &stack_restore);
 
       gimplify_seq_add_stmt (&cleanup, stack_restore);
@@ -1395,8 +1393,7 @@ static void
 gimplify_vla_decl (tree decl, gimple_seq *seq_p)
 {
   /* This is a variable-sized decl.  Simplify its size and mark it
-     for deferred expansion.  Note that mudflap depends on the format
-     of the emitted code: see mx_register_decls().  */
+     for deferred expansion.  */
   tree t, addr, ptr_type;
 
   gimplify_one_sizepos (&DECL_SIZE (decl), seq_p);
index 84eb3f37e5764225e1c0a324d013c7aab1be6ad3..404b7901cfa78874117441cd4f22c7d03922dfe0 100644 (file)
@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3.  If not see
   NEXT_PASS (pass_warn_unused_result);
   NEXT_PASS (pass_diagnose_omp_blocks);
   NEXT_PASS (pass_diagnose_tm_blocks);
-  NEXT_PASS (pass_mudflap_1);
   NEXT_PASS (pass_lower_omp);
   NEXT_PASS (pass_lower_cf);
   NEXT_PASS (pass_lower_tm);
@@ -305,7 +304,6 @@ along with GCC; see the file COPYING3.  If not see
   NEXT_PASS (pass_cleanup_eh);
   NEXT_PASS (pass_lower_resx);
   NEXT_PASS (pass_nrv);
-  NEXT_PASS (pass_mudflap_2);
   NEXT_PASS (pass_cleanup_cfg_post_optimizing);
   NEXT_PASS (pass_warn_function_noreturn);
 
index 6b981122ac978800ffc53c6b745a1e39864430d5..9a979e266c92d1cbad04a3eca6897600e664b091 100644 (file)
@@ -1,3 +1,8 @@
+2013-10-26  Jeff Law  <law@redhat.com>
+
+       * g++.dg/torture/pr49309.C: Removed.
+       * gcc.dg/dfp/pr35739.c: Removed.
+
 2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/58759
diff --git a/gcc/testsuite/g++.dg/torture/pr49309.C b/gcc/testsuite/g++.dg/torture/pr49309.C
deleted file mode 100644 (file)
index f96967d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// PR tree-optimization/49309
-// { dg-do compile }
-// { dg-skip-if "" { *-*-* } { "-flto" } { "" } }
-// { dg-options "-fpreprocessed -fmudflap" }
-
-struct A
-{
-  int i;
-
-  A();
-  A(const A&);
-};
-
-inline void foo(A a) { a = A(); }
-
-void bar() { foo(A()); }
diff --git a/gcc/testsuite/gcc.dg/dfp/pr35739.c b/gcc/testsuite/gcc.dg/dfp/pr35739.c
deleted file mode 100644 (file)
index 0fc9d47..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/* PR c/35739 */
-/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
-/* { dg-options "-O -fpreprocessed -fmudflap" } */
-
-_Decimal128
-foo (int n, ...)
-{
-  int i;
-  _Decimal128 j = 0;
-  __builtin_va_list ap;
-  __builtin_va_start (ap, n);
-  for (i = 0; i < n; i++)
-    j += __builtin_va_arg (ap, _Decimal128);
-  __builtin_va_end (ap);
-  return j;
-}
index cc8e905cd1f4b336223e825598402494bb3df8a1..db269b79e67a6a03b7b5e815d388cb8fedd5d148 100644 (file)
@@ -68,7 +68,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "coverage.h"
 #include "value-prof.h"
 #include "alloc-pool.h"
-#include "tree-mudflap.h"
 #include "asan.h"
 #include "tsan.h"
 #include "gimple.h"
@@ -568,10 +567,6 @@ compile_file (void)
      basically finished.  */
   if (in_lto_p || !flag_lto || flag_fat_lto_objects)
     {
-      /* Likewise for mudflap static object registrations.  */
-      if (flag_mudflap)
-       mudflap_finish_file ();
-
       /* File-scope initialization for AddressSanitizer.  */
       if (flag_sanitize & SANITIZE_ADDRESS)
         asan_finish_file ();
@@ -1287,9 +1282,6 @@ process_options (void)
           "and -ftree-loop-linear)");
 #endif
 
-  if (flag_mudflap && flag_lto)
-    sorry ("mudflap cannot be used together with link-time optimization");
-
   /* One region RA really helps to decrease the code size.  */
   if (flag_ira_region == IRA_REGION_AUTODETECT)
     flag_ira_region
index 88523116920bb4ba8043bb840aedc79bc41b5433..a20e73b6d30fe73add30e2485fa45395f65a5016 100644 (file)
@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "tree-iterator.h"
 #include "intl.h"
-#include "tree-mudflap.h"
 #include "gimple.h"
 #include "gimple-ssa.h"
 #include "tree-cfg.h"
@@ -4592,10 +4591,6 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
       /* Copy the node.  */
       new_tree = copy_node (*tp);
 
-      /* Propagate mudflap marked-ness.  */
-      if (flag_mudflap && mf_marked_p (*tp))
-        mf_mark (new_tree);
-
       *tp = new_tree;
 
       /* Now, restore the chain, if appropriate.  That will cause
@@ -4617,11 +4612,6 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
       tree new_tree;
 
       new_tree = copy_node (*tp);
-
-      /* Propagate mudflap marked-ness.  */
-      if (flag_mudflap && mf_marked_p (*tp))
-        mf_mark (new_tree);
-
       CONSTRUCTOR_ELTS (new_tree) = vec_safe_copy (CONSTRUCTOR_ELTS (*tp));
       *tp = new_tree;
     }
diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c
deleted file mode 100644 (file)
index a150311..0000000
+++ /dev/null
@@ -1,1450 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "tree.h"
-#include "tm_p.h"
-#include "basic-block.h"
-#include "flags.h"
-#include "function.h"
-#include "tree-inline.h"
-#include "gimple.h"
-#include "tree-iterator.h"
-#include "cgraph.h"
-#include "tree-cfg.h"
-#include "tree-mudflap.h"
-#include "tree-pass.h"
-#include "hashtab.h"
-#include "diagnostic.h"
-#include "demangle.h"
-#include "langhooks.h"
-#include "ggc.h"
-#include "tree-ssa-address.h"
-
-extern void add_bb_to_loop (basic_block, struct loop *);
-
-/* Internal function decls */
-
-
-/* Options.  */
-#define flag_mudflap_threads (flag_mudflap == 2)
-
-/* Helpers.  */
-static tree mf_build_string (const char *string);
-static tree mf_varname_tree (tree);
-static tree mf_file_function_line_tree (location_t);
-
-/* Indirection-related instrumentation.  */
-static void mf_decl_cache_locals (void);
-static void mf_decl_clear_locals (void);
-static void mf_xform_statements (void);
-static unsigned int execute_mudflap_function_ops (void);
-
-/* Addressable variables instrumentation.  */
-static void mf_xform_decls (gimple_seq, tree);
-static tree mx_xfn_xform_decls (gimple_stmt_iterator *, bool *,
-                               struct walk_stmt_info *);
-static gimple_seq mx_register_decls (tree, gimple_seq, location_t);
-static unsigned int execute_mudflap_function_decls (void);
-
-/* Return true if DECL is artificial stub that shouldn't be instrumented by
-   mf.  We should instrument clones of non-artificial functions.  */
-static inline bool
-mf_artificial (const_tree decl)
-{
-  return DECL_ARTIFICIAL (DECL_ORIGIN (decl));
-}
-
-/* ------------------------------------------------------------------------ */
-/* Some generally helpful functions for mudflap instrumentation.  */
-
-/* Build a reference to a literal string.  */
-static tree
-mf_build_string (const char *string)
-{
-  size_t len = strlen (string);
-  tree result = mf_mark (build_string (len + 1, string));
-
-  TREE_TYPE (result) = build_array_type
-    (char_type_node, build_index_type (size_int (len)));
-  TREE_CONSTANT (result) = 1;
-  TREE_READONLY (result) = 1;
-  TREE_STATIC (result) = 1;
-
-  result = build1 (ADDR_EXPR, build_pointer_type (char_type_node), result);
-
-  return mf_mark (result);
-}
-
-/* Create a properly typed STRING_CST node that describes the given
-   declaration.  It will be used as an argument for __mf_register().
-   Try to construct a helpful string, including file/function/variable
-   name.  */
-
-static tree
-mf_varname_tree (tree decl)
-{
-  const char *buf_contents;
-  tree result;
-
-  gcc_assert (decl);
-
-  pretty_printer buf;
-
-  /* Add FILENAME[:LINENUMBER[:COLUMNNUMBER]].  */
-  {
-    expanded_location xloc = expand_location (DECL_SOURCE_LOCATION (decl));
-    const char *sourcefile;
-    unsigned sourceline = xloc.line;
-    unsigned sourcecolumn = 0;
-    sourcecolumn = xloc.column;
-    sourcefile = xloc.file;
-    if (sourcefile == NULL && current_function_decl != NULL_TREE)
-      sourcefile = DECL_SOURCE_FILE (current_function_decl);
-    if (sourcefile == NULL)
-      sourcefile = "<unknown file>";
-
-    pp_string (&buf, sourcefile);
-
-    if (sourceline != 0)
-      {
-        pp_colon (&buf);
-        pp_decimal_int (&buf, sourceline);
-
-        if (sourcecolumn != 0)
-          {
-            pp_colon (&buf);
-            pp_decimal_int (&buf, sourcecolumn);
-          }
-      }
-  }
-
-  if (current_function_decl != NULL_TREE)
-    {
-      /* Add (FUNCTION) */
-      pp_string (&buf, " (");
-      {
-        const char *funcname = NULL;
-        if (DECL_NAME (current_function_decl))
-          funcname = lang_hooks.decl_printable_name (current_function_decl, 1);
-        if (funcname == NULL)
-          funcname = "anonymous fn";
-
-        pp_string (&buf, funcname);
-      }
-      pp_string (&buf, ") ");
-    }
-  else
-    pp_space (&buf);
-
-  /* Add <variable-declaration>, possibly demangled.  */
-  {
-    const char *declname = NULL;
-
-    if (DECL_NAME (decl) != NULL)
-      {
-       if (strcmp ("GNU C++", lang_hooks.name) == 0)
-         {
-           /* The gcc/cp decl_printable_name hook doesn't do as good a job as
-              the libiberty demangler.  */
-           declname = cplus_demangle (IDENTIFIER_POINTER (DECL_NAME (decl)),
-                                      DMGL_AUTO | DMGL_VERBOSE);
-         }
-       if (declname == NULL)
-         declname = lang_hooks.decl_printable_name (decl, 3);
-      }
-    if (declname == NULL)
-      declname = "<unnamed variable>";
-
-    pp_string (&buf, declname);
-  }
-
-  /* Return the lot as a new STRING_CST.  */
-  buf_contents = ggc_strdup (pp_formatted_text (&buf));
-  result = mf_build_string (buf_contents);
-  pp_clear_output_area (&buf);
-
-  return result;
-}
-
-
-/* And another friend, for producing a simpler message.  */
-
-static tree
-mf_file_function_line_tree (location_t location)
-{
-  expanded_location xloc = expand_location (location);
-  const char *file = NULL, *colon, *line, *op, *name, *cp;
-  char linecolbuf[30]; /* Enough for two decimal numbers plus a colon.  */
-  char *string;
-  tree result;
-
-  /* Add FILENAME[:LINENUMBER[:COLUMNNUMBER]].  */
-  file = xloc.file;
-  if (file == NULL && current_function_decl != NULL_TREE)
-    file = DECL_SOURCE_FILE (current_function_decl);
-  if (file == NULL)
-    file = "<unknown file>";
-
-  if (xloc.line > 0)
-    {
-      if (xloc.column > 0)
-        sprintf (linecolbuf, "%d:%d", xloc.line, xloc.column);
-      else
-        sprintf (linecolbuf, "%d", xloc.line);
-      colon = ":";
-      line = linecolbuf;
-    }
-  else
-    colon = line = "";
-
-  /* Add (FUNCTION).  */
-  name = lang_hooks.decl_printable_name (current_function_decl, 1);
-  if (name)
-    {
-      op = " (";
-      cp = ")";
-    }
-  else
-    op = name = cp = "";
-
-  string = concat (file, colon, line, op, name, cp, NULL);
-  result = mf_build_string (string);
-  free (string);
-
-  return result;
-}
-
-
-/* global tree nodes */
-
-/* Global tree objects for global variables and functions exported by
-   mudflap runtime library.  mf_init_extern_trees must be called
-   before using these.  */
-
-/* uintptr_t (usually "unsigned long") */
-static GTY (()) tree mf_uintptr_type;
-
-/* struct __mf_cache { uintptr_t low; uintptr_t high; }; */
-static GTY (()) tree mf_cache_struct_type;
-
-/* struct __mf_cache * const */
-static GTY (()) tree mf_cache_structptr_type;
-
-/* extern struct __mf_cache __mf_lookup_cache []; */
-static GTY (()) tree mf_cache_array_decl;
-
-/* extern unsigned char __mf_lc_shift; */
-static GTY (()) tree mf_cache_shift_decl;
-
-/* extern uintptr_t __mf_lc_mask; */
-static GTY (()) tree mf_cache_mask_decl;
-
-/* Their function-scope local shadows, used in single-threaded mode only.  */
-
-/* auto const unsigned char __mf_lc_shift_l; */
-static GTY (()) tree mf_cache_shift_decl_l;
-
-/* auto const uintptr_t __mf_lc_mask_l; */
-static GTY (()) tree mf_cache_mask_decl_l;
-
-/* extern void __mf_check (void *ptr, size_t sz, int type, const char *); */
-static GTY (()) tree mf_check_fndecl;
-
-/* extern void __mf_register (void *ptr, size_t sz, int type, const char *); */
-static GTY (()) tree mf_register_fndecl;
-
-/* extern void __mf_unregister (void *ptr, size_t sz, int type); */
-static GTY (()) tree mf_unregister_fndecl;
-
-/* extern void __mf_init (); */
-static GTY (()) tree mf_init_fndecl;
-
-/* extern int __mf_set_options (const char*); */
-static GTY (()) tree mf_set_options_fndecl;
-
-
-/* Helper for mudflap_init: construct a decl with the given category,
-   name, and type, mark it an external reference, and pushdecl it.  */
-static inline tree
-mf_make_builtin (enum tree_code category, const char *name, tree type)
-{
-  tree decl = mf_mark (build_decl (UNKNOWN_LOCATION,
-                                  category, get_identifier (name), type));
-  TREE_PUBLIC (decl) = 1;
-  DECL_EXTERNAL (decl) = 1;
-  lang_hooks.decls.pushdecl (decl);
-  /* The decl was declared by the compiler.  */
-  DECL_ARTIFICIAL (decl) = 1;
-  /* And we don't want debug info for it.  */
-  DECL_IGNORED_P (decl) = 1;
-  return decl;
-}
-
-/* Helper for mudflap_init: construct a tree corresponding to the type
-     struct __mf_cache { uintptr_t low; uintptr_t high; };
-     where uintptr_t is the FIELD_TYPE argument.  */
-static inline tree
-mf_make_mf_cache_struct_type (tree field_type)
-{
-  /* There is, abominably, no language-independent way to construct a
-     RECORD_TYPE.  So we have to call the basic type construction
-     primitives by hand.  */
-  tree fieldlo = build_decl (UNKNOWN_LOCATION,
-                            FIELD_DECL, get_identifier ("low"), field_type);
-  tree fieldhi = build_decl (UNKNOWN_LOCATION,
-                            FIELD_DECL, get_identifier ("high"), field_type);
-
-  tree struct_type = make_node (RECORD_TYPE);
-  DECL_CONTEXT (fieldlo) = struct_type;
-  DECL_CONTEXT (fieldhi) = struct_type;
-  DECL_CHAIN (fieldlo) = fieldhi;
-  TYPE_FIELDS (struct_type) = fieldlo;
-  TYPE_NAME (struct_type) = get_identifier ("__mf_cache");
-  layout_type (struct_type);
-
-  return struct_type;
-}
-
-/* Initialize the global tree nodes that correspond to mf-runtime.h
-   declarations.  */
-void
-mudflap_init (void)
-{
-  static bool done = false;
-  tree mf_const_string_type;
-  tree mf_cache_array_type;
-  tree mf_check_register_fntype;
-  tree mf_unregister_fntype;
-  tree mf_init_fntype;
-  tree mf_set_options_fntype;
-
-  if (done)
-    return;
-  done = true;
-
-  mf_uintptr_type = lang_hooks.types.type_for_mode (ptr_mode,
-                                                    /*unsignedp=*/true);
-  mf_const_string_type
-    = build_pointer_type (build_qualified_type
-                          (char_type_node, TYPE_QUAL_CONST));
-
-  mf_cache_struct_type = mf_make_mf_cache_struct_type (mf_uintptr_type);
-  mf_cache_structptr_type = build_pointer_type (mf_cache_struct_type);
-  mf_cache_array_type = build_array_type (mf_cache_struct_type, 0);
-  mf_check_register_fntype =
-    build_function_type_list (void_type_node, ptr_type_node, size_type_node,
-                             integer_type_node, mf_const_string_type, NULL_TREE);
-  mf_unregister_fntype =
-    build_function_type_list (void_type_node, ptr_type_node, size_type_node,
-                             integer_type_node, NULL_TREE);
-  mf_init_fntype =
-    build_function_type_list (void_type_node, NULL_TREE);
-  mf_set_options_fntype =
-    build_function_type_list (integer_type_node, mf_const_string_type, NULL_TREE);
-
-  mf_cache_array_decl = mf_make_builtin (VAR_DECL, "__mf_lookup_cache",
-                                         mf_cache_array_type);
-  mf_cache_shift_decl = mf_make_builtin (VAR_DECL, "__mf_lc_shift",
-                                         unsigned_char_type_node);
-  mf_cache_mask_decl = mf_make_builtin (VAR_DECL, "__mf_lc_mask",
-                                        mf_uintptr_type);
-  /* Don't process these in mudflap_enqueue_decl, should they come by
-     there for some reason.  */
-  mf_mark (mf_cache_array_decl);
-  mf_mark (mf_cache_shift_decl);
-  mf_mark (mf_cache_mask_decl);
-  mf_check_fndecl = mf_make_builtin (FUNCTION_DECL, "__mf_check",
-                                     mf_check_register_fntype);
-  mf_register_fndecl = mf_make_builtin (FUNCTION_DECL, "__mf_register",
-                                        mf_check_register_fntype);
-  mf_unregister_fndecl = mf_make_builtin (FUNCTION_DECL, "__mf_unregister",
-                                          mf_unregister_fntype);
-  mf_init_fndecl = mf_make_builtin (FUNCTION_DECL, "__mf_init",
-                                    mf_init_fntype);
-  mf_set_options_fndecl = mf_make_builtin (FUNCTION_DECL, "__mf_set_options",
-                                           mf_set_options_fntype);
-}
-
-
-/* ------------------------------------------------------------------------ */
-/* This is the second part of the mudflap instrumentation.  It works on
-   low-level GIMPLE using the CFG, because we want to run this pass after
-   tree optimizations have been performed, but we have to preserve the CFG
-   for expansion from trees to RTL.
-   Below is the list of transformations performed on statements in the
-   current function.
-
- 1)  Memory reference transforms: Perform the mudflap indirection-related
-    tree transforms on memory references.
-
- 2) Mark BUILTIN_ALLOCA calls not inlineable.
-
- */
-
-static unsigned int
-execute_mudflap_function_ops (void)
-{
-  struct gimplify_ctx gctx;
-
-  /* Don't instrument functions such as the synthetic constructor
-     built during mudflap_finish_file.  */
-  if (mf_marked_p (current_function_decl)
-      || mf_artificial (current_function_decl))
-    return 0;
-
-  push_gimplify_context (&gctx);
-
-  /* In multithreaded mode, don't cache the lookup cache parameters.  */
-  if (! flag_mudflap_threads)
-    mf_decl_cache_locals ();
-
-  mf_xform_statements ();
-
-  if (! flag_mudflap_threads)
-    mf_decl_clear_locals ();
-
-  pop_gimplify_context (NULL);
-  return 0;
-}
-
-/* Insert a gimple_seq SEQ on all the outgoing edges out of BB.  Note that
-   if BB has more than one edge, STMT will be replicated for each edge.
-   Also, abnormal edges will be ignored.  */
-
-static void
-insert_edge_copies_seq (gimple_seq seq, basic_block bb)
-{
-  edge e;
-  edge_iterator ei;
-  unsigned n_copies = -1;
-
-  FOR_EACH_EDGE (e, ei, bb->succs)
-    if (!(e->flags & EDGE_ABNORMAL))
-      n_copies++;
-
-  FOR_EACH_EDGE (e, ei, bb->succs)
-    if (!(e->flags & EDGE_ABNORMAL))
-      gsi_insert_seq_on_edge (e, n_copies-- > 0 ? gimple_seq_copy (seq) : seq);
-}
-
-/* Create and initialize local shadow variables for the lookup cache
-   globals.  Put their decls in the *_l globals for use by
-   mf_build_check_statement_for.  */
-
-static void
-mf_decl_cache_locals (void)
-{
-  gimple g;
-  gimple_seq seq = NULL;
-
-  /* Build the cache vars.  */
-  mf_cache_shift_decl_l
-    = mf_mark (create_tmp_reg (TREE_TYPE (mf_cache_shift_decl),
-                               "__mf_lookup_shift_l"));
-
-  mf_cache_mask_decl_l
-    = mf_mark (create_tmp_reg (TREE_TYPE (mf_cache_mask_decl),
-                               "__mf_lookup_mask_l"));
-
-  /* Build initialization nodes for the cache vars.  We just load the
-     globals into the cache variables.  */
-  g = gimple_build_assign (mf_cache_shift_decl_l, mf_cache_shift_decl);
-  gimple_set_location (g, DECL_SOURCE_LOCATION (current_function_decl));
-  gimple_seq_add_stmt (&seq, g);
-
-  g = gimple_build_assign (mf_cache_mask_decl_l, mf_cache_mask_decl);
-  gimple_set_location (g, DECL_SOURCE_LOCATION (current_function_decl));
-  gimple_seq_add_stmt (&seq, g);
-
-  insert_edge_copies_seq (seq, ENTRY_BLOCK_PTR);
-
-  gsi_commit_edge_inserts ();
-}
-
-
-static void
-mf_decl_clear_locals (void)
-{
-  /* Unset local shadows.  */
-  mf_cache_shift_decl_l = NULL_TREE;
-  mf_cache_mask_decl_l = NULL_TREE;
-}
-
-static void
-mf_build_check_statement_for (tree base, tree limit,
-                              gimple_stmt_iterator *instr_gsi,
-                              location_t location, tree dirflag)
-{
-  gimple_stmt_iterator gsi;
-  basic_block cond_bb, then_bb, join_bb;
-  edge e;
-  tree cond, t, u, v;
-  tree mf_base;
-  tree mf_elem;
-  tree mf_limit;
-  gimple g;
-  gimple_seq seq, stmts;
-
-  /* We first need to split the current basic block, and start altering
-     the CFG.  This allows us to insert the statements we're about to
-     construct into the right basic blocks.  */
-
-  cond_bb = gimple_bb (gsi_stmt (*instr_gsi));
-  gsi = *instr_gsi;
-  gsi_prev (&gsi);
-  if (! gsi_end_p (gsi))
-    e = split_block (cond_bb, gsi_stmt (gsi));
-  else
-    e = split_block_after_labels (cond_bb);
-  cond_bb = e->src;
-  join_bb = e->dest;
-
-  /* A recap at this point: join_bb is the basic block at whose head
-     is the gimple statement for which this check expression is being
-     built.  cond_bb is the (possibly new, synthetic) basic block the
-     end of which will contain the cache-lookup code, and a
-     conditional that jumps to the cache-miss code or, much more
-     likely, over to join_bb.  */
-
-  /* Create the bb that contains the cache-miss fallback block (mf_check).  */
-  then_bb = create_empty_bb (cond_bb);
-  make_edge (cond_bb, then_bb, EDGE_TRUE_VALUE);
-  make_single_succ_edge (then_bb, join_bb, EDGE_FALLTHRU);
-
-  /* Mark the pseudo-fallthrough edge from cond_bb to join_bb.  */
-  e = find_edge (cond_bb, join_bb);
-  e->flags = EDGE_FALSE_VALUE;
-  e->count = cond_bb->count;
-  e->probability = REG_BR_PROB_BASE;
-
-  /* Update dominance info.  Note that bb_join's data was
-     updated by split_block.  */
-  if (dom_info_available_p (CDI_DOMINATORS))
-    {
-      set_immediate_dominator (CDI_DOMINATORS, then_bb, cond_bb);
-      set_immediate_dominator (CDI_DOMINATORS, join_bb, cond_bb);
-    }
-
-  /* Update loop info.  */
-  if (current_loops)
-    add_bb_to_loop (then_bb, cond_bb->loop_father);
-
-  /* Build our local variables.  */
-  mf_elem = create_tmp_reg (mf_cache_structptr_type, "__mf_elem");
-  mf_base = create_tmp_reg (mf_uintptr_type, "__mf_base");
-  mf_limit = create_tmp_reg (mf_uintptr_type, "__mf_limit");
-
-  /* Build: __mf_base = (uintptr_t) <base address expression>.  */
-  seq = NULL;
-  t = fold_convert_loc (location, mf_uintptr_type,
-                       unshare_expr (base));
-  t = force_gimple_operand (t, &stmts, false, NULL_TREE);
-  gimple_seq_add_seq (&seq, stmts);
-  g = gimple_build_assign (mf_base, t);
-  gimple_set_location (g, location);
-  gimple_seq_add_stmt (&seq, g);
-
-  /* Build: __mf_limit = (uintptr_t) <limit address expression>.  */
-  t = fold_convert_loc (location, mf_uintptr_type,
-                       unshare_expr (limit));
-  t = force_gimple_operand (t, &stmts, false, NULL_TREE);
-  gimple_seq_add_seq (&seq, stmts);
-  g = gimple_build_assign (mf_limit, t);
-  gimple_set_location (g, location);
-  gimple_seq_add_stmt (&seq, g);
-
-  /* Build: __mf_elem = &__mf_lookup_cache [(__mf_base >> __mf_shift)
-                                            & __mf_mask].  */
-  t = build2 (RSHIFT_EXPR, mf_uintptr_type, mf_base,
-              flag_mudflap_threads ? mf_cache_shift_decl
-              : mf_cache_shift_decl_l);
-  t = build2 (BIT_AND_EXPR, mf_uintptr_type, t,
-              flag_mudflap_threads ? mf_cache_mask_decl
-              : mf_cache_mask_decl_l);
-  t = build4 (ARRAY_REF,
-              TREE_TYPE (TREE_TYPE (mf_cache_array_decl)),
-              mf_cache_array_decl, t, NULL_TREE, NULL_TREE);
-  t = build1 (ADDR_EXPR, mf_cache_structptr_type, t);
-  t = force_gimple_operand (t, &stmts, false, NULL_TREE);
-  gimple_seq_add_seq (&seq, stmts);
-  g = gimple_build_assign (mf_elem, t);
-  gimple_set_location (g, location);
-  gimple_seq_add_stmt (&seq, g);
-
-  /* Quick validity check.
-
-     if (__mf_elem->low > __mf_base
-         || (__mf_elem_high < __mf_limit))
-        {
-          __mf_check ();
-          ... and only if single-threaded:
-          __mf_lookup_shift_1 = f...;
-          __mf_lookup_mask_l = ...;
-        }
-
-     It is expected that this body of code is rarely executed so we mark
-     the edge to the THEN clause of the conditional jump as unlikely.  */
-
-  /* Construct t <-- '__mf_elem->low  > __mf_base'.  */
-  t = build3 (COMPONENT_REF, mf_uintptr_type,
-              build1 (INDIRECT_REF, mf_cache_struct_type, mf_elem),
-              TYPE_FIELDS (mf_cache_struct_type), NULL_TREE);
-  t = build2 (GT_EXPR, boolean_type_node, t, mf_base);
-
-  /* Construct '__mf_elem->high < __mf_limit'.
-
-     First build:
-        1) u <--  '__mf_elem->high'
-        2) v <--  '__mf_limit'.
-
-     Then build 'u <-- (u < v).  */
-
-  u = build3 (COMPONENT_REF, mf_uintptr_type,
-              build1 (INDIRECT_REF, mf_cache_struct_type, mf_elem),
-              DECL_CHAIN (TYPE_FIELDS (mf_cache_struct_type)), NULL_TREE);
-
-  v = mf_limit;
-
-  u = build2 (LT_EXPR, boolean_type_node, u, v);
-
-  /* Build the composed conditional: t <-- 't || u'.  Then store the
-     result of the evaluation of 't' in a temporary variable which we
-     can use as the condition for the conditional jump.  */
-  t = build2 (TRUTH_OR_EXPR, boolean_type_node, t, u);
-  t = force_gimple_operand (t, &stmts, false, NULL_TREE);
-  gimple_seq_add_seq (&seq, stmts);
-  cond = create_tmp_reg (boolean_type_node, "__mf_unlikely_cond");
-  g = gimple_build_assign  (cond, t);
-  gimple_set_location (g, location);
-  gimple_seq_add_stmt (&seq, g);
-
-  /* Build the conditional jump.  'cond' is just a temporary so we can
-     simply build a void COND_EXPR.  We do need labels in both arms though.  */
-  g = gimple_build_cond (NE_EXPR, cond, boolean_false_node, NULL_TREE,
-                        NULL_TREE);
-  gimple_set_location (g, location);
-  gimple_seq_add_stmt (&seq, g);
-
-  /* At this point, after so much hard work, we have only constructed
-     the conditional jump,
-
-     if (__mf_elem->low > __mf_base
-         || (__mf_elem_high < __mf_limit))
-
-     The lowered GIMPLE tree representing this code is in the statement
-     list starting at 'head'.
-
-     We can insert this now in the current basic block, i.e. the one that
-     the statement we're instrumenting was originally in.  */
-  gsi = gsi_last_bb (cond_bb);
-  gsi_insert_seq_after (&gsi, seq, GSI_CONTINUE_LINKING);
-
-  /*  Now build up the body of the cache-miss handling:
-
-     __mf_check();
-     refresh *_l vars.
-
-     This is the body of the conditional.  */
-
-  seq = NULL;
-  /* u is a string, so it is already a gimple value.  */
-  u = mf_file_function_line_tree (location);
-  /* NB: we pass the overall [base..limit] range to mf_check.  */
-  v = fold_build2_loc (location, PLUS_EXPR, mf_uintptr_type,
-                  fold_build2_loc (location,
-                               MINUS_EXPR, mf_uintptr_type, mf_limit, mf_base),
-                  build_int_cst (mf_uintptr_type, 1));
-  v = force_gimple_operand (v, &stmts, true, NULL_TREE);
-  gimple_seq_add_seq (&seq, stmts);
-  g = gimple_build_call (mf_check_fndecl, 4, mf_base, v, dirflag, u);
-  gimple_seq_add_stmt (&seq, g);
-
-  if (! flag_mudflap_threads)
-    {
-      if (stmt_ends_bb_p (g))
-       {
-         gsi = gsi_start_bb (then_bb);
-         gsi_insert_seq_after (&gsi, seq, GSI_CONTINUE_LINKING);
-         e = split_block (then_bb, g);
-         then_bb = e->dest;
-         seq = NULL;
-       }
-
-      g = gimple_build_assign (mf_cache_shift_decl_l, mf_cache_shift_decl);
-      gimple_seq_add_stmt (&seq, g);
-
-      g = gimple_build_assign (mf_cache_mask_decl_l, mf_cache_mask_decl);
-      gimple_seq_add_stmt (&seq, g);
-    }
-
-  /* Insert the check code in the THEN block.  */
-  gsi = gsi_start_bb (then_bb);
-  gsi_insert_seq_after (&gsi, seq, GSI_CONTINUE_LINKING);
-
-  *instr_gsi = gsi_start_bb (join_bb);
-}
-
-
-/* Check whether the given decl, generally a VAR_DECL or PARM_DECL, is
-   eligible for instrumentation.  For the mudflap1 pass, this implies
-   that it should be registered with the libmudflap runtime.  For the
-   mudflap2 pass this means instrumenting an indirection operation with
-   respect to the object.
-*/
-static int
-mf_decl_eligible_p (tree decl)
-{
-  return ((TREE_CODE (decl) == VAR_DECL || TREE_CODE (decl) == PARM_DECL)
-          /* The decl must have its address taken.  In the case of
-             arrays, this flag is also set if the indexes are not
-             compile-time known valid constants.  */
-         /* XXX: not sufficient: return-by-value structs! */
-          && TREE_ADDRESSABLE (decl)
-          /* The type of the variable must be complete.  */
-          && COMPLETE_OR_VOID_TYPE_P (TREE_TYPE (decl))
-         /* The decl hasn't been decomposed somehow.  */
-         && !DECL_HAS_VALUE_EXPR_P (decl));
-}
-
-
-static void
-mf_xform_derefs_1 (gimple_stmt_iterator *iter, tree *tp,
-                   location_t location, tree dirflag)
-{
-  tree type, base, limit, addr, size, t;
-
-  /* Don't instrument read operations.  */
-  if (dirflag == integer_zero_node && flag_mudflap_ignore_reads)
-    return;
-
-  /* Don't instrument marked nodes.  */
-  if (mf_marked_p (*tp))
-    return;
-
-  t = *tp;
-  type = TREE_TYPE (t);
-
-  if (type == error_mark_node)
-    return;
-
-  size = TYPE_SIZE_UNIT (type);
-
-  switch (TREE_CODE (t))
-    {
-    case ARRAY_REF:
-    case COMPONENT_REF:
-      {
-        /* This is trickier than it may first appear.  The reason is
-           that we are looking at expressions from the "inside out" at
-           this point.  We may have a complex nested aggregate/array
-           expression (e.g. "a.b[i].c"), maybe with an indirection as
-           the leftmost operator ("p->a.b.d"), where instrumentation
-           is necessary.  Or we may have an innocent "a.b.c"
-           expression that must not be instrumented.  We need to
-           recurse all the way down the nesting structure to figure it
-           out: looking just at the outer node is not enough.  */
-        tree var;
-        int component_ref_only = (TREE_CODE (t) == COMPONENT_REF);
-       /* If we have a bitfield component reference, we must note the
-          innermost addressable object in ELT, from which we will
-          construct the byte-addressable bounds of the bitfield.  */
-       tree elt = NULL_TREE;
-       int bitfield_ref_p = (TREE_CODE (t) == COMPONENT_REF
-                             && DECL_BIT_FIELD_TYPE (TREE_OPERAND (t, 1)));
-
-        /* Iterate to the top of the ARRAY_REF/COMPONENT_REF
-           containment hierarchy to find the outermost VAR_DECL.  */
-        var = TREE_OPERAND (t, 0);
-        while (1)
-          {
-           if (bitfield_ref_p && elt == NULL_TREE
-               && (TREE_CODE (var) == ARRAY_REF
-                   || TREE_CODE (var) == COMPONENT_REF))
-             elt = var;
-
-            if (TREE_CODE (var) == ARRAY_REF)
-              {
-                component_ref_only = 0;
-                var = TREE_OPERAND (var, 0);
-              }
-            else if (TREE_CODE (var) == COMPONENT_REF)
-              var = TREE_OPERAND (var, 0);
-            else if (INDIRECT_REF_P (var)
-                    || TREE_CODE (var) == MEM_REF)
-              {
-               base = TREE_OPERAND (var, 0);
-                break;
-              }
-            else if (TREE_CODE (var) == VIEW_CONVERT_EXPR)
-             {
-               var = TREE_OPERAND (var, 0);
-               if (CONSTANT_CLASS_P (var)
-                   && TREE_CODE (var) != STRING_CST)
-                 return;
-             }
-            else
-              {
-                gcc_assert (TREE_CODE (var) == VAR_DECL
-                            || TREE_CODE (var) == PARM_DECL
-                            || TREE_CODE (var) == RESULT_DECL
-                            || TREE_CODE (var) == STRING_CST);
-                /* Don't instrument this access if the underlying
-                   variable is not "eligible".  This test matches
-                   those arrays that have only known-valid indexes,
-                   and thus are not labeled TREE_ADDRESSABLE.  */
-                if (! mf_decl_eligible_p (var) || component_ref_only)
-                  return;
-                else
-                 {
-                   base = build1 (ADDR_EXPR,
-                                  build_pointer_type (TREE_TYPE (var)), var);
-                   break;
-                 }
-              }
-          }
-
-        /* Handle the case of ordinary non-indirection structure
-           accesses.  These have only nested COMPONENT_REF nodes (no
-           INDIRECT_REF), but pass through the above filter loop.
-           Note that it's possible for such a struct variable to match
-           the eligible_p test because someone else might take its
-           address sometime.  */
-
-        /* We need special processing for bitfield components, because
-           their addresses cannot be taken.  */
-        if (bitfield_ref_p)
-          {
-            tree field = TREE_OPERAND (t, 1);
-
-            if (TREE_CODE (DECL_SIZE_UNIT (field)) == INTEGER_CST)
-              size = DECL_SIZE_UNIT (field);
-
-           if (elt)
-             elt = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (elt)),
-                           elt);
-            addr = fold_convert_loc (location, ptr_type_node, elt ? elt : base);
-            addr = fold_build_pointer_plus_loc (location,
-                                               addr, byte_position (field));
-          }
-        else
-          addr = build1 (ADDR_EXPR, build_pointer_type (type), t);
-
-        limit = fold_build2_loc (location, MINUS_EXPR, mf_uintptr_type,
-                             fold_build2_loc (location, PLUS_EXPR, mf_uintptr_type,
-                                         fold_convert (mf_uintptr_type, addr),
-                                         size),
-                             integer_one_node);
-      }
-      break;
-
-    case INDIRECT_REF:
-      addr = TREE_OPERAND (t, 0);
-      base = addr;
-      limit = fold_build_pointer_plus_hwi_loc
-       (location, fold_build_pointer_plus_loc (location, base, size), -1);
-      break;
-
-    case MEM_REF:
-      if (addr_expr_of_non_mem_decl_p (TREE_OPERAND (t, 0)))
-       return;
-
-      addr = fold_build_pointer_plus_loc (location, TREE_OPERAND (t, 0),
-                                         TREE_OPERAND (t, 1));
-      base = addr;
-      limit = fold_build_pointer_plus_hwi_loc (location,
-                          fold_build_pointer_plus_loc (location,
-                                                       base, size), -1);
-      break;
-
-    case TARGET_MEM_REF:
-      if (addr_expr_of_non_mem_decl_p (TMR_BASE (t)))
-       return;
-
-      addr = tree_mem_ref_addr (ptr_type_node, t);
-      base = addr;
-      limit = fold_build_pointer_plus_hwi_loc (location,
-                          fold_build_pointer_plus_loc (location,
-                                                       base, size), -1);
-      break;
-
-    case ARRAY_RANGE_REF:
-      warning (OPT_Wmudflap,
-              "mudflap checking not yet implemented for ARRAY_RANGE_REF");
-      return;
-
-    case BIT_FIELD_REF:
-      /* ??? merge with COMPONENT_REF code above? */
-      {
-        tree ofs, rem, bpu;
-
-        /* If we're not dereferencing something, then the access
-           must be ok.  */
-        if (TREE_CODE (TREE_OPERAND (t, 0)) != INDIRECT_REF)
-          return;
-
-        bpu = bitsize_int (BITS_PER_UNIT);
-        ofs = fold_convert (bitsizetype, TREE_OPERAND (t, 2));
-        rem = size_binop_loc (location, TRUNC_MOD_EXPR, ofs, bpu);
-        ofs = size_binop_loc (location, TRUNC_DIV_EXPR, ofs, bpu);
-
-        size = fold_convert (bitsizetype, TREE_OPERAND (t, 1));
-        size = size_binop_loc (location, PLUS_EXPR, size, rem);
-        size = size_binop_loc (location, CEIL_DIV_EXPR, size, bpu);
-        size = fold_convert (sizetype, size);
-
-        addr = TREE_OPERAND (TREE_OPERAND (t, 0), 0);
-        addr = fold_convert (ptr_type_node, addr);
-        addr = fold_build_pointer_plus_loc (location, addr, ofs);
-
-        base = addr;
-        limit = fold_build_pointer_plus_hwi_loc (location,
-                             fold_build_pointer_plus_loc (location,
-                                                         base, size), -1);
-      }
-      break;
-
-    default:
-      return;
-    }
-
-  mf_build_check_statement_for (base, limit, iter, location, dirflag);
-}
-/* Transform
-   1) Memory references.
-*/
-static void
-mf_xform_statements (void)
-{
-  basic_block bb, next;
-  gimple_stmt_iterator i;
-  int saved_last_basic_block = last_basic_block;
-  enum gimple_rhs_class grhs_class;
-
-  bb = ENTRY_BLOCK_PTR ->next_bb;
-  do
-    {
-      next = bb->next_bb;
-      for (i = gsi_start_bb (bb); !gsi_end_p (i); gsi_next (&i))
-        {
-          gimple s = gsi_stmt (i);
-
-          /* Only a few GIMPLE statements can reference memory.  */
-          switch (gimple_code (s))
-            {
-            case GIMPLE_ASSIGN:
-             mf_xform_derefs_1 (&i, gimple_assign_lhs_ptr (s),
-                                gimple_location (s), integer_one_node);
-             mf_xform_derefs_1 (&i, gimple_assign_rhs1_ptr (s),
-                                gimple_location (s), integer_zero_node);
-             grhs_class = get_gimple_rhs_class (gimple_assign_rhs_code (s));
-             if (grhs_class == GIMPLE_BINARY_RHS)
-               mf_xform_derefs_1 (&i, gimple_assign_rhs2_ptr (s),
-                                  gimple_location (s), integer_zero_node);
-              break;
-
-            case GIMPLE_RETURN:
-              if (gimple_return_retval (s) != NULL_TREE)
-                {
-                  mf_xform_derefs_1 (&i, gimple_return_retval_ptr (s),
-                                    gimple_location (s),
-                                    integer_zero_node);
-                }
-              break;
-
-            default:
-              ;
-            }
-        }
-      bb = next;
-    }
-  while (bb && bb->index <= saved_last_basic_block);
-}
-
-/* ------------------------------------------------------------------------ */
-/* ADDR_EXPR transforms.  Perform the declaration-related mudflap tree
-   transforms on the current function.
-
-   This is the first part of the mudflap instrumentation.  It works on
-   high-level GIMPLE because after lowering, all variables are moved out
-   of their BIND_EXPR binding context, and we lose liveness information
-   for the declarations we wish to instrument.  */
-
-static unsigned int
-execute_mudflap_function_decls (void)
-{
-  struct gimplify_ctx gctx;
-
-  /* Don't instrument functions such as the synthetic constructor
-     built during mudflap_finish_file.  */
-  if (mf_marked_p (current_function_decl)
-      || mf_artificial (current_function_decl))
-    return 0;
-
-  push_gimplify_context (&gctx);
-
-  mf_xform_decls (gimple_body (current_function_decl),
-                  DECL_ARGUMENTS (current_function_decl));
-
-  pop_gimplify_context (NULL);
-  return 0;
-}
-
-/* This struct is passed between mf_xform_decls to store state needed
-   during the traversal searching for objects that have their
-   addresses taken.  */
-struct mf_xform_decls_data
-{
-  tree param_decls;
-};
-
-
-/* Synthesize a CALL_EXPR and a TRY_FINALLY_EXPR, for this chain of
-   _DECLs if appropriate.  Arrange to call the __mf_register function
-   now, and the __mf_unregister function later for each.  Return the
-   gimple sequence after synthesis.  */
-gimple_seq
-mx_register_decls (tree decl, gimple_seq seq, location_t location)
-{
-  gimple_seq finally_stmts = NULL;
-  gimple_stmt_iterator initially_stmts = gsi_start (seq);
-
-  while (decl != NULL_TREE)
-    {
-      if (mf_decl_eligible_p (decl)
-          /* Not already processed.  */
-          && ! mf_marked_p (decl)
-          /* Automatic variable.  */
-          && ! DECL_EXTERNAL (decl)
-          && ! TREE_STATIC (decl))
-        {
-          tree size = NULL_TREE, variable_name;
-          gimple unregister_fncall, register_fncall;
-         tree unregister_fncall_param, register_fncall_param;
-
-         /* Variable-sized objects should have sizes already been
-            gimplified when we got here. */
-         size = fold_convert (size_type_node,
-                              TYPE_SIZE_UNIT (TREE_TYPE (decl)));
-         gcc_assert (is_gimple_val (size));
-
-
-          unregister_fncall_param =
-           mf_mark (build1 (ADDR_EXPR,
-                            build_pointer_type (TREE_TYPE (decl)),
-                            decl));
-          /* __mf_unregister (&VARIABLE, sizeof (VARIABLE), __MF_TYPE_STACK) */
-          unregister_fncall = gimple_build_call (mf_unregister_fndecl, 3,
-                                                unregister_fncall_param,
-                                                size,
-                                                integer_three_node);
-
-
-          variable_name = mf_varname_tree (decl);
-          register_fncall_param =
-           mf_mark (build1 (ADDR_EXPR,
-                            build_pointer_type (TREE_TYPE (decl)),
-                            decl));
-          /* __mf_register (&VARIABLE, sizeof (VARIABLE), __MF_TYPE_STACK,
-                           "name") */
-         register_fncall = gimple_build_call (mf_register_fndecl, 4,
-                                              register_fncall_param,
-                                              size,
-                                              integer_three_node,
-                                              variable_name);
-
-
-          /* Accumulate the two calls.  */
-         gimple_set_location (register_fncall, location);
-         gimple_set_location (unregister_fncall, location);
-
-          /* Add the __mf_register call at the current appending point.  */
-          if (gsi_end_p (initially_stmts))
-           {
-             if (!mf_artificial (decl))
-               warning (OPT_Wmudflap,
-                        "mudflap cannot track %qE in stub function",
-                        DECL_NAME (decl));
-           }
-         else
-           {
-             gsi_insert_before (&initially_stmts, register_fncall,
-                                GSI_SAME_STMT);
-
-             /* Accumulate the FINALLY piece.  */
-             gimple_seq_add_stmt (&finally_stmts, unregister_fncall);
-           }
-          mf_mark (decl);
-        }
-
-      decl = DECL_CHAIN (decl);
-    }
-
-  /* Actually, (initially_stmts!=NULL) <=> (finally_stmts!=NULL) */
-  if (finally_stmts != NULL)
-    {
-      gimple stmt = gimple_build_try (seq, finally_stmts, GIMPLE_TRY_FINALLY);
-      gimple_seq new_seq = NULL;
-
-      gimple_seq_add_stmt (&new_seq, stmt);
-      return new_seq;
-    }
-   else
-    return seq;
-}
-
-
-/* Process every variable mentioned in BIND_EXPRs.  */
-static tree
-mx_xfn_xform_decls (gimple_stmt_iterator *gsi,
-                   bool *handled_operands_p ATTRIBUTE_UNUSED,
-                   struct walk_stmt_info *wi)
-{
-  struct mf_xform_decls_data *d = (struct mf_xform_decls_data *) wi->info;
-  gimple stmt = gsi_stmt (*gsi);
-
-  switch (gimple_code (stmt))
-    {
-    case GIMPLE_BIND:
-      {
-        /* Process function parameters now (but only once).  */
-       if (d->param_decls)
-         {
-           gimple_bind_set_body (stmt,
-                                 mx_register_decls (d->param_decls,
-                                                    gimple_bind_body (stmt),
-                                                    gimple_location (stmt)));
-           d->param_decls = NULL_TREE;
-         }
-
-       gimple_bind_set_body (stmt,
-                             mx_register_decls (gimple_bind_vars (stmt),
-                                                gimple_bind_body (stmt),
-                                                gimple_location (stmt)));
-      }
-      break;
-
-    default:
-      break;
-    }
-
-  return NULL_TREE;
-}
-
-/* Perform the object lifetime tracking mudflap transform on the given function
-   tree.  The tree is mutated in place, with possibly copied subtree nodes.
-
-   For every auto variable declared, if its address is ever taken
-   within the function, then supply its lifetime to the mudflap
-   runtime with the __mf_register and __mf_unregister calls.
-*/
-
-static void
-mf_xform_decls (gimple_seq fnbody, tree fnparams)
-{
-  struct mf_xform_decls_data d;
-  struct walk_stmt_info wi;
-  struct pointer_set_t *pset = pointer_set_create ();
-
-  d.param_decls = fnparams;
-  memset (&wi, 0, sizeof (wi));
-  wi.info = (void*) &d;
-  wi.pset = pset;
-  walk_gimple_seq (fnbody, mx_xfn_xform_decls, NULL, &wi);
-  pointer_set_destroy (pset);
-}
-
-
-/* ------------------------------------------------------------------------ */
-/* Externally visible mudflap functions.  */
-
-
-/* Mark and return the given tree node to prevent further mudflap
-   transforms.  */
-static GTY ((param_is (union tree_node))) htab_t marked_trees = NULL;
-
-tree
-mf_mark (tree t)
-{
-  void **slot;
-
-  if (marked_trees == NULL)
-    marked_trees = htab_create_ggc (31, htab_hash_pointer, htab_eq_pointer,
-                                   NULL);
-
-  slot = htab_find_slot (marked_trees, t, INSERT);
-  *slot = t;
-  return t;
-}
-
-int
-mf_marked_p (tree t)
-{
-  void *entry;
-
-  if (marked_trees == NULL)
-    return 0;
-
-  entry = htab_find (marked_trees, t);
-  return (entry != NULL);
-}
-
-/* Remember given node as a static of some kind: global data,
-   function-scope static, or an anonymous constant.  Its assembler
-   label is given.  */
-
-/* A list of globals whose incomplete declarations we encountered.
-   Instead of emitting the __mf_register call for them here, it's
-   delayed until program finish time.  If they're still incomplete by
-   then, warnings are emitted.  */
-
-static GTY (()) vec<tree, va_gc> *deferred_static_decls;
-
-/* A list of statements for calling __mf_register() at startup time.  */
-static GTY (()) tree enqueued_call_stmt_chain;
-
-static void
-mudflap_register_call (tree obj, tree object_size, tree varname)
-{
-  tree arg, call_stmt;
-
-  arg = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (obj)), obj);
-  arg = fold_convert (ptr_type_node, arg);
-
-  call_stmt = build_call_expr (mf_register_fndecl, 4,
-                              arg,
-                              fold_convert (size_type_node, object_size),
-                              /* __MF_TYPE_STATIC */
-                              build_int_cst (integer_type_node, 4),
-                              varname);
-
-  append_to_statement_list (call_stmt, &enqueued_call_stmt_chain);
-}
-
-void
-mudflap_enqueue_decl (tree obj)
-{
-  if (mf_marked_p (obj))
-    return;
-
-  /* We don't need to process variable decls that are internally
-     generated extern.  If we did, we'd end up with warnings for them
-     during mudflap_finish_file ().  That would confuse the user,
-     since the text would refer to variables that don't show up in the
-     user's source code.  */
-  if (DECL_P (obj) && DECL_EXTERNAL (obj) && mf_artificial (obj))
-    return;
-
-  vec_safe_push (deferred_static_decls, obj);
-}
-
-
-void
-mudflap_enqueue_constant (tree obj)
-{
-  tree object_size, varname;
-
-  if (mf_marked_p (obj))
-    return;
-
-  if (TREE_CODE (obj) == STRING_CST)
-    object_size = size_int (TREE_STRING_LENGTH (obj));
-  else
-    object_size = size_in_bytes (TREE_TYPE (obj));
-
-  if (TREE_CODE (obj) == STRING_CST)
-    varname = mf_build_string ("string literal");
-  else
-    varname = mf_build_string ("constant");
-
-  mudflap_register_call (obj, object_size, varname);
-}
-
-
-/* Emit any file-wide instrumentation.  */
-void
-mudflap_finish_file (void)
-{
-  tree ctor_statements = NULL_TREE;
-
-  /* No need to continue when there were errors.  */
-  if (seen_error ())
-    return;
-
-  /* Insert a call to __mf_init.  */
-  {
-    tree call2_stmt = build_call_expr (mf_init_fndecl, 0);
-    append_to_statement_list (call2_stmt, &ctor_statements);
-  }
-
-  /* If appropriate, call __mf_set_options to pass along read-ignore mode.  */
-  if (flag_mudflap_ignore_reads)
-    {
-      tree arg = mf_build_string ("-ignore-reads");
-      tree call_stmt = build_call_expr (mf_set_options_fndecl, 1, arg);
-      append_to_statement_list (call_stmt, &ctor_statements);
-    }
-
-  /* Process all enqueued object decls.  */
-  if (deferred_static_decls)
-    {
-      size_t i;
-      tree obj;
-      FOR_EACH_VEC_ELT (*deferred_static_decls, i, obj)
-        {
-          gcc_assert (DECL_P (obj));
-
-          if (mf_marked_p (obj))
-            continue;
-
-          /* Omit registration for static unaddressed objects.  NB:
-             Perform registration for non-static objects regardless of
-             TREE_USED or TREE_ADDRESSABLE, because they may be used
-             from other compilation units.  */
-          if (! TREE_PUBLIC (obj) && ! TREE_ADDRESSABLE (obj))
-            continue;
-
-         /* If we're neither emitting nor referencing the symbol,
-            don't register it.  We have to register external symbols
-            if they happen to be in other files not compiled with
-            mudflap (say system libraries), and we must not register
-            internal symbols that we don't emit or they'll become
-            dangling references or force symbols to be emitted that
-            didn't have to.  */
-         if (!symtab_get_node (obj))
-           continue;
-
-          if (! COMPLETE_TYPE_P (TREE_TYPE (obj)))
-            {
-              warning (OPT_Wmudflap,
-                      "mudflap cannot track unknown size extern %qE",
-                       DECL_NAME (obj));
-              continue;
-            }
-
-          mudflap_register_call (obj,
-                                 size_in_bytes (TREE_TYPE (obj)),
-                                 mf_varname_tree (obj));
-        }
-
-      deferred_static_decls->truncate (0);
-    }
-
-  /* Append all the enqueued registration calls.  */
-  if (enqueued_call_stmt_chain)
-    {
-      append_to_statement_list (enqueued_call_stmt_chain, &ctor_statements);
-      enqueued_call_stmt_chain = NULL_TREE;
-    }
-
-  cgraph_build_static_cdtor ('I', ctor_statements,
-                             MAX_RESERVED_INIT_PRIORITY-1);
-}
-
-
-static bool
-gate_mudflap (void)
-{
-  return flag_mudflap != 0;
-}
-
-namespace {
-
-const pass_data pass_data_mudflap_1 =
-{
-  GIMPLE_PASS, /* type */
-  "mudflap1", /* name */
-  OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
-  true, /* has_execute */
-  TV_NONE, /* tv_id */
-  PROP_gimple_any, /* properties_required */
-  0, /* properties_provided */
-  0, /* properties_destroyed */
-  0, /* todo_flags_start */
-  0, /* todo_flags_finish */
-};
-
-class pass_mudflap_1 : public gimple_opt_pass
-{
-public:
-  pass_mudflap_1 (gcc::context *ctxt)
-    : gimple_opt_pass (pass_data_mudflap_1, ctxt)
-  {}
-
-  /* opt_pass methods: */
-  bool gate () { return gate_mudflap (); }
-  unsigned int execute () { return execute_mudflap_function_decls (); }
-
-}; // class pass_mudflap_1
-
-} // anon namespace
-
-gimple_opt_pass *
-make_pass_mudflap_1 (gcc::context *ctxt)
-{
-  return new pass_mudflap_1 (ctxt);
-}
-
-namespace {
-
-const pass_data pass_data_mudflap_2 =
-{
-  GIMPLE_PASS, /* type */
-  "mudflap2", /* name */
-  OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
-  true, /* has_execute */
-  TV_NONE, /* tv_id */
-  ( PROP_ssa | PROP_cfg | PROP_gimple_leh ), /* properties_required */
-  0, /* properties_provided */
-  0, /* properties_destroyed */
-  0, /* todo_flags_start */
-  ( TODO_verify_flow | TODO_verify_stmts
-    | TODO_update_ssa ), /* todo_flags_finish */
-};
-
-class pass_mudflap_2 : public gimple_opt_pass
-{
-public:
-  pass_mudflap_2 (gcc::context *ctxt)
-    : gimple_opt_pass (pass_data_mudflap_2, ctxt)
-  {}
-
-  /* opt_pass methods: */
-  bool gate () { return gate_mudflap (); }
-  unsigned int execute () { return execute_mudflap_function_ops (); }
-
-}; // class pass_mudflap_2
-
-} // anon namespace
-
-gimple_opt_pass *
-make_pass_mudflap_2 (gcc::context *ctxt)
-{
-  return new pass_mudflap_2 (ctxt);
-}
-
-#include "gt-tree-mudflap.h"
diff --git a/gcc/tree-mudflap.h b/gcc/tree-mudflap.h
deleted file mode 100644 (file)
index 96f38c4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2001-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef TREE_MUDFLAP_H
-#define TREE_MUDFLAP_H
-
-/* Instrumentation.  */
-extern void mudflap_init (void);
-extern void mudflap_enqueue_decl (tree);
-extern void mudflap_enqueue_constant (tree);
-extern void mudflap_finish_file (void);
-
-/* Tree node marking.  */
-extern int mf_marked_p (tree);
-extern tree mf_mark (tree);
-
-#endif /* TREE_MUDFLAP_H */
diff --git a/gcc/tree-nomudflap.c b/gcc/tree-nomudflap.c
deleted file mode 100644 (file)
index fe9ea60..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2001-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "tree.h"
-#include "tree-inline.h"
-#include "gimple.h"
-#include "hashtab.h"
-#include "langhooks.h"
-#include "tree-mudflap.h"
-#include "tree-pass.h"
-#include "ggc.h"
-#include "diagnostic-core.h"
-
-
-
-/* This file contains placeholder functions, to be used only for
-   language processors that cannot handle tree-mudflap.c directly.
-   (e.g. Fortran).  */
-
-static void
-nogo (void)
-{
-  sorry ("mudflap: this language is not supported");
-}
-
-void
-mudflap_enqueue_decl (tree obj ATTRIBUTE_UNUSED)
-{
-  nogo ();
-}
-
-void
-mudflap_enqueue_constant (tree obj ATTRIBUTE_UNUSED)
-{
-  nogo ();
-}
-
-void
-mudflap_finish_file (void)
-{
-  nogo ();
-}
-
-int
-mf_marked_p (tree t ATTRIBUTE_UNUSED)
-{
-  nogo ();
-  return 0;
-}
-
-tree
-mf_mark (tree t ATTRIBUTE_UNUSED)
-{
-  nogo ();
-  return NULL;
-}
-
-/* The pass structures must exist, but need not do anything.  */
-
-static bool
-gate_mudflap (void)
-{
-  return flag_mudflap != 0;
-}
-
-namespace {
-
-const pass_data pass_data_mudflap_1 =
-{
-  GIMPLE_PASS, /* type */
-  "mudflap1", /* name */
-  OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
-  false, /* has_execute */
-  TV_NONE, /* tv_id */
-  0, /* properties_required */
-  0, /* properties_provided */
-  0, /* properties_destroyed */
-  0, /* todo_flags_start */
-  0, /* todo_flags_finish */
-};
-
-class pass_mudflap_1 : public gimple_opt_pass
-{
-public:
-  pass_mudflap_1 (gcc::context *ctxt)
-    : gimple_opt_pass (pass_data_mudflap_1, ctxt)
-  {}
-
-  /* opt_pass methods: */
-  bool gate () { return gate_mudflap (); }
-
-}; // class pass_mudflap_1
-
-} // anon namespace
-
-gimple_opt_pass *
-make_pass_mudflap_1 (gcc::context *ctxt)
-{
-  return new pass_mudflap_1 (ctxt);
-}
-
-namespace {
-
-const pass_data pass_data_mudflap_2 =
-{
-  GIMPLE_PASS, /* type */
-  "mudflap2", /* name */
-  OPTGROUP_NONE, /* optinfo_flags */
-  true, /* has_gate */
-  false, /* has_execute */
-  TV_NONE, /* tv_id */
-  0, /* properties_required */
-  0, /* properties_provided */
-  0, /* properties_destroyed */
-  0, /* todo_flags_start */
-  0, /* todo_flags_finish */
-};
-
-class pass_mudflap_2 : public gimple_opt_pass
-{
-public:
-  pass_mudflap_2 (gcc::context *ctxt)
-    : gimple_opt_pass (pass_data_mudflap_2, ctxt)
-  {}
-
-  /* opt_pass methods: */
-  bool gate () { return gate_mudflap (); }
-
-}; // class pass_mudflap_2
-
-} // anon namespace
-
-gimple_opt_pass *
-make_pass_mudflap_2 (gcc::context *ctxt)
-{
-  return new pass_mudflap_2 (ctxt);
-}
-
-/* Instead of:
-#include "gt-tree-mudflap.h"
-We prepare a little dummy struct here.
-*/
-
-EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_tree_mudflap_h[] = {
-  LAST_GGC_ROOT_TAB
-};
index e72fe9aeee4d4de4b7cfef166f6528ba761feca6..523743803a7aa85fbb0013fec0c08aa45075bed3 100644 (file)
@@ -338,8 +338,6 @@ extern void register_pass (register_pass_info *);
 extern void register_pass (opt_pass* pass, pass_positioning_ops pos,
                           const char* ref_pass_name, int ref_pass_inst_number);
 
-extern gimple_opt_pass *make_pass_mudflap_1 (gcc::context *ctxt);
-extern gimple_opt_pass *make_pass_mudflap_2 (gcc::context *ctxt);
 extern gimple_opt_pass *make_pass_asan (gcc::context *ctxt);
 extern gimple_opt_pass *make_pass_asan_O0 (gcc::context *ctxt);
 extern gimple_opt_pass *make_pass_tsan (gcc::context *ctxt);
index 52ba182b00d320d97090bde02585135fa49f85f0..e56ca1bbbd5d0d4240e043822acf0d58cf93e0db 100644 (file)
@@ -46,7 +46,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 #include "common/common-target.h"
 #include "targhooks.h"
-#include "tree-mudflap.h"
 #include "cgraph.h"
 #include "pointer-set.h"
 #include "asan.h"
@@ -1247,10 +1246,6 @@ make_decl_rtl (tree decl)
          && SYMBOL_REF_HAS_BLOCK_INFO_P (XEXP (x, 0)))
        change_symbol_block (XEXP (x, 0), get_block_for_decl (decl));
 
-      /* Make this function static known to the mudflap runtime.  */
-      if (flag_mudflap && TREE_CODE (decl) == VAR_DECL)
-       mudflap_enqueue_decl (decl);
-
       return;
     }
 
@@ -1387,10 +1382,6 @@ make_decl_rtl (tree decl)
      If the name is changed, the macro ASM_OUTPUT_LABELREF
      will have to know how to strip this information.  */
   targetm.encode_section_info (decl, DECL_RTL (decl), true);
-
-  /* Make this function static known to the mudflap runtime.  */
-  if (flag_mudflap && TREE_CODE (decl) == VAR_DECL)
-    mudflap_enqueue_decl (decl);
 }
 
 /* Like make_decl_rtl, but inhibit creation of new alias sets when
@@ -1400,7 +1391,7 @@ make_decl_rtl (tree decl)
 rtx
 make_decl_rtl_for_debug (tree decl)
 {
-  unsigned int save_aliasing_flag, save_mudflap_flag;
+  unsigned int save_aliasing_flag;
   rtx rtl;
 
   if (DECL_RTL_SET_P (decl))
@@ -1411,12 +1402,9 @@ make_decl_rtl_for_debug (tree decl)
      we do not want to create alias sets that will throw the alias
      numbers off in the comparison dumps.  So... clearing
      flag_strict_aliasing will keep new_alias_set() from creating a
-     new set.  It is undesirable to register decl with mudflap
-     in this case as well.  */
+     new set.  */
   save_aliasing_flag = flag_strict_aliasing;
   flag_strict_aliasing = 0;
-  save_mudflap_flag = flag_mudflap;
-  flag_mudflap = 0;
 
   rtl = DECL_RTL (decl);
   /* Reset DECL_RTL back, as various parts of the compiler expects
@@ -1424,8 +1412,6 @@ make_decl_rtl_for_debug (tree decl)
   SET_DECL_RTL (decl, NULL);
 
   flag_strict_aliasing = save_aliasing_flag;
-  flag_mudflap = save_mudflap_flag;
-
   return rtl;
 }
 \f
@@ -3206,10 +3192,6 @@ build_constant_desc (tree exp)
   desc = ggc_alloc_constant_descriptor_tree ();
   desc->value = copy_constant (exp);
 
-  /* Propagate marked-ness to copied constant.  */
-  if (flag_mudflap && mf_marked_p (exp))
-    mf_mark (desc->value);
-
   /* Create a string containing the label name, in LABEL.  */
   labelno = const_labelno++;
   ASM_GENERATE_INTERNAL_LABEL (label, "LC", labelno);
@@ -3405,8 +3387,6 @@ output_constant_def_contents (rtx symbol)
          assemble_zeros (asan_red_zone_size (size));
        }
     }
-  if (flag_mudflap)
-    mudflap_enqueue_constant (exp);
 }
 
 /* Look up EXP in the table of constant descriptors.  Return the rtl
@@ -6294,9 +6274,8 @@ categorize_decl_for_section (const_tree decl, int reloc)
     return SECCAT_TEXT;
   else if (TREE_CODE (decl) == STRING_CST)
     {
-      if (flag_mudflap
-         || ((flag_sanitize & SANITIZE_ADDRESS)
-             && asan_protect_global (CONST_CAST_TREE (decl))))
+      if ((flag_sanitize & SANITIZE_ADDRESS)
+         && asan_protect_global (CONST_CAST_TREE (decl)))
       /* or !flag_merge_constants */
         return SECCAT_RODATA;
       else
@@ -6321,7 +6300,7 @@ categorize_decl_for_section (const_tree decl, int reloc)
        }
       else if (reloc & targetm.asm_out.reloc_rw_mask ())
        ret = reloc == 1 ? SECCAT_DATA_REL_RO_LOCAL : SECCAT_DATA_REL_RO;
-      else if (reloc || flag_merge_constants < 2 || flag_mudflap
+      else if (reloc || flag_merge_constants < 2
               || ((flag_sanitize & SANITIZE_ADDRESS)
                   && asan_protect_global (CONST_CAST_TREE (decl))))
        /* C and C++ don't allow different variables to share the same
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
deleted file mode 100644 (file)
index 17ce18d..0000000
+++ /dev/null
@@ -1,2069 +0,0 @@
-2013-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-       PR libmudflap/58230
-       * testsuite/lib/mfdg.exp: Use C locale.
-
-2013-09-20  Jakub Jelinek  <jakub@redhat.com>
-
-       PR testsuite/57605
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Append
-       -fdiagnostics-color=never to cxxflags.
-
-2013-09-20  Alan Modra  <amodra@gmail.com>
-
-       * configure: Regenerate.
-
-2013-03-14  Jakub Jelinek  <jakub@redhat.com>
-
-       PR tree-optimization/53265
-       * testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier.
-
-2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       Update copyright years.
-
-2013-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2012-12-15  Alexandre Oliva <aoliva@redhat.com>
-
-       * mf-hooks1.c (free): Return on NULL before any logging.
-
-2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
-
-       * configure: Regenerated.
-
-2012-07-13  Richard Guenther  <rguenther@suse.de>
-
-       * testsuite/libmudflap.c++/ctors.exp: Explicitely specify -O0.
-       * testsuite/libmudflap.c++/c++frags.exp: Likewise.
-       * testsuite/libmudflap.cth/cthfrags.exp: Likewise.
-       * testsuite/libmudflap.c/cfrags.exp: Likewise.
-       * testsuite/libmudflap.c/externs.exp: Likewise.
-
-2012-07-13  Richard Guenther  <rguenther@suse.de>
-
-       * testsuite/libmudflap.c/fail11-frag.c: Adjust to not look like memset.
-       * testsuite/libmudflap.c/fail12-frag.c: Likewise.
-
-2012-05-29  Joseph Myers  <joseph@codesourcery.com>
-
-       * mf-impl.h: Fix typo.
-
-2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * configure: Regenerated.
-
-2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
-
-       PR 24985
-       * testsuite/lib/libmudflap.exp: Handle caret.
-
-2012-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libmudflap/40778
-       * testsuite/libmudflap.c/fail68-frag.c: New test.
-
-2012-01-01  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
-
-       * configure: Regenerate.
-
-2011-07-31  Tom de Vries  <tom@codesourcery.com>
-
-       PR middle-end/43513
-       * testsuite/libmudflap.c/fail31-frag.c: Adapt testcase to prevent
-       folding of alloca.
-
-2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       Revert:
-       2011-07-15  Jakub Jelinek  <jakub@redhat.com>
-
-       PR testsuite/49753
-       PR tree-optimization/49309
-       * testsuite/libmudflap.c++/pass68-frag.cxx: New test.
-
-2011-07-15  Jakub Jelinek  <jakub@redhat.com>
-
-       PR testsuite/49753
-       PR tree-optimization/49309
-       * testsuite/libmudflap.c++/pass68-frag.cxx: New test.
-
-2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * configure.ac: Don't create pth.
-       Check for library containing sched_yield.
-       * configure: Regenerate.
-       * config.h.in: Regenerate.
-
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Use
-       mfconfig_libs in -static check.
-
-2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libmudflap/49550
-       * mf-runtime.c (__wrap_main) [__sun__ && __svr4__]: Don't register
-       stdin, stdout, stderr.
-       Register __ctype, __ctype_mask.
-
-       * configure.ac: Check for mmap64.
-       Check for rawmemchr, stpcpy, mempcpy.
-       * configure: Regenerate.
-       * config.h.in: Regenerate.
-       * mf-hooks1.c [HAVE_MMAP64] (__mf_0fn_mmap64): New function.
-       (mmap64): New wrapper function.
-       * mf-impl.h (__mf_dynamic_index) [HAVE_MMAP64]: Add dyn_mmap64.
-       * mf-runtime.c (__mf_dynamic) [HAVE_MMAP64]: Handle mmap64.
-
-       * mf-hooks2.c [HAVE_GETMNTENT && HAVE_SYS_MNTTAB_H]: Implement
-       getmntent wrapper.
-
-       * mf-hooks3.c (_REENTRANT): Define.
-
-       * testsuite/libmudflap.c/heap-scalestress.c (SCALE): Reduce to 10000.
-
-       * testsuite/libmudflap.c/pass-stratcliff.c: Include ../config.h.
-       (MIN): Define.
-       Use HAVE_RAWMEMCHR, HAVE_STPCPY, HAVE_MEMPCPY as guards.
-
-       * testsuite/libmudflap.c/pass47-frag.c: Expect __ctype warning on
-       *-*-solaris2.*.
-
-2011-07-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libmudflap/49549
-       * testsuite/lib/libmudflap.exp (load_gcc_lib): Load
-       target-supports.exp.
-       * testsuite/libmudflap.cth/cthfrags.exp: Only pass
-       --noinhibit-exec to GNU ld.
-
-2011-06-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libmudflap/38738
-       * configure.ac: Check for sys/mnttab.h.
-       Check for library containing connect.
-       * configure: Regenerate.
-       * config.h.in: Regenerate.
-       * mf-hooks2.c [HAVE_SYS_MNTTAB_H]: Include <sys/mnttab.h>.
-       * testsuite/libmudflap.c/pass-stratcliff.c (main) [__sun__ &&
-       __svr4__]: Disable rawmemchr, stpcpy, mempcpy tests.
-
-2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2010-10-31  Jason Merrill  <jason@redhat.com>
-
-       PR testsuite/20003
-       * testsuite/libmudflap.cth/pass40-frag.c: Increase timeout to 30.
-
-2010-08-20  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libmudflap.c++/pass41-frag.cxx (dg-prune-output):
-       New dg directive.
-
-2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR bootstrap/43170
-       * configure: Regenerate.
-
-2010-05-16  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.
-
-2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/lib/mfdg.exp (additional_prunes): New global.
-       (dg-test): Clear additional_prunes before test is run.
-       (dg-prune-output): New procedure.
-       * testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
-       prune_gcc_output.
-       (libmudflap-dg-prune): New procedure.
-       * testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
-       New dg directive.
-
-2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       PR other/43620
-       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
-       * Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2010-03-15  David S. Miller  <davem@davemloft.net>
-
-       * testsuite/libmudflap.c/pass54-frag.c: Add explicit return from
-       main.
-
-2010-01-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-09-22  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR libmudflap/41433
-       * mf-runtime.c (__mf_init): Ignore $MUDFLAP_OPTIONS if
-       running setuid or setgid.
-
-2009-09-01  Loren J. Rittle  <ljrittle@acm.org>
-
-       * mf-runtime.c (__mf_init): Support FreeBSD.
-       Prime mutex which calls calloc upon first lock to avoid deadlock.
-       * mf-hooks1.c (__mf_0fn_mmap): Support FreeBSD.
-       Ignore red zone allocation request for initial thread's stack.
-
-2009-09-01  Loren J. Rittle  <ljrittle@acm.org>
-           Andreas Schwab  <schwab@linux-m68k.org>
-
-       * testsuite/libmudflap.c/pass51-frag.c (MAP_FAILED): Define,
-       if not in system header; use it.  On FreeBSD, must pass fd==-1
-       with MAP_ANON flag.  Correct mmap error check.
-       * testsuite/libmudflap.c/fail40-frag.c: Ditto.
-
-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.
-       * config.h.in: Regenerate.
-       * configure: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-16  Joseph Myers  <joseph@codesourcery.com>
-
-       * configure: Regenerate.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libmudflap.exp: Revert 2009-06-30 commit.
-
-2009-07-01  Richard Guenther  <rguenther@suse.de>
-
-       PR tree-optimization/19831
-       * testsuite/libmudflap.c/fail11-frag.c: Make allocated memory
-       escape.
-       * testsuite/libmudflap.c/fail12-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail16-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail31-frag.c: Likewise.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libmudflap.exp (libmudflap-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-04-09  Nick Clifton  <nickc@redhat.com>
-
-       * mf-hooks1.c: Change copyright header to refer to version 3
-       of the GNU General Public License with version 3.1 of the GCC
-       Runtime Library Exception and to point readers at the COPYING3
-       and COPYING3.RUNTIME files and the FSF's license web page.
-       * mf-heuristics.c: Likewise.
-       * mf-hooks2.c: Likewise.
-       * mf-hooks3.c: Likewise.
-       * mf-impl.h: Likewise.
-       * mf-runtime.c: Likewise.
-       * mf-runtime.h: Likewise.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/mfdg.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/lib/libmudflap.exp: Likewise.
-
-2009-03-31  Ben Elliston  <bje@au.ibm.com>
-
-       PR libmudflap/38462
-       * testsuite/libmudflap.c/fail27-frag.c: Match `mudflap dead
-       object', not `mudflap object'.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2009-02-03  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2009-01-23  Jie Zhang  <jie.zhang@analog.com>
-
-       * mf-impl.h (__mf_get_state, __mf_set_state): Don't use
-       __thread when TLS support is emulated.
-       * mf-hooks3.c (__mf_get_state, __mf_set_state): Likewise.
-       * mf-runtime.c (__mf_state_1): Likewise.
-       * configure.ac: Use GCC_CHECK_EMUTLS.
-       * configure: Regenerate.
-       * config.h.in: Regenerate.
-
-2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-11-26  Janis Johnson  <janis187@us.ibm.com>
-
-       PR testsuite/28870
-       * testsuite/lib/mfdg.exp (dg-test): Use new timeout support.
-       (dg-timeout): Remove.
-       (standard-wait): Remove.
-       * testsuite/lib/libmudflap.exp: Include new timeout library files.
-       (libmudflap_target_compile): Set timeout value from new proc.
-
-2008-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-       PR middle-end/35314
-       * testsuite/libmudflap.c/pass67-frag.c: New test.
-
-2008-10-09  Jakub Jelinek  <jakub@redhat.com>
-
-       PR c++/37568
-       * testsuite/libmudflap.c++/pass66-frag.cxx: New test.
-
-2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
-            Steve Ellcey  <sje@cup.hp.com>
-
-       * configure: Regenerate for new libtool.
-       * Makefile.in: Ditto.
-       * testsuite/Makefile.in: Ditto.
-
-2008-09-15  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libmudflap/36397
-       * testsuite/libmudflap.c/pass64-frag.c: New test.
-
-2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * config.h.in: Regenerate.
-       * configure: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
-
-       PR bootstrap/35457
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2008-03-20  Volker Reichelt  <v.reichelt@netcologne.de>
-
-       * testsuite/libmudflap.c/pass63-frag.c: New test.
-
-2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * aclocal.m4: Regenerate.
-       * configure: Likewise.
-       * Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2008-03-02  Jakub Jelinek  <jakub@redhat.com>
-
-       * mf-runtime.c (__mf_usage): Update copyright notice dates.
-
-2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libmudflap.c/fail8-frag.c: Adjust scan pattern for
-       mudflap dead object.
-       * testsuite/libmudflap.c/fail9-frag.c: Ditto.
-
-2008-01-24  David Edelsohn  <edelsohn@gnu.org>
-
-       * configure: Regenerate.
-
-2008-01-05  Jakub Jelinek  <jakub@redhat.com>
-
-       PR tree-optimization/34618
-       * testsuite/libmudflap.c/pass62-frag.c: New test.
-
-2008-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-       PR c++/34619
-       * testsuite/libmudflap.c++/pass61-frag.cxx: New test.
-
-2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
-
-       PR libmudflap/26442
-       * testsuite/libmudflap.c++/pass60-frag.cxx: New test.
-
-2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * configure: Regenerate following changes to ../config/tls.m4.
-
-2007-07-26  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (clean-local): Removed.
-       (pth/mf-runtime.lo, pth/mf-heuristics.lo, pth/mf-hooks1.lo,
-       pth/mf-hooks2.lo, pth/mf-hooks3.lo): Likewise.
-       (libmudflapth_la_SOURCES): List sources.
-       (libmudflapth_la_LIBADD): Clear.
-       (libmudflapth_la_CFLAGS): New variable.
-
-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-31  Frank Ch. Eigler  <fche@redhat.com>
-
-       From Andi Kleen <ak@suse.de>:
-       * mf-runtime.c (options): Rename structure for compatibility with
-       glibc getopt_long.
-
-2007-05-23  Steve Ellcey  <sje@cup.hp.com>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * aclocal.m4: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2007-03-14  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libmudflap.cth/pass59-frag.c (main): Fix casting of arg.
-
-2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
-
-       * Makefile.am: Add dummy install-pdf target.
-       * Makefile.in: Regenerate
-
-2007-02-07  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libgomp/28468
-       * configure: Regenerate.
-
-2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * configure: Regenerate.
-
-2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
-
-       * configure: Regenerated.
-
-2006-11-10  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR libmudflap/28578
-       * mf-hooks1.c (__mf_0fn_malloc): Make the bootstrap buffers
-       static but not function scope static.
-       (free): Skip deallocation attempts for objects placed into
-       bootstrap buffers.
-       * testsuite/libmudflap.cth/pass59-frag.c: New test.
-
-2006-11-06  Frank Ch. Eigler  <fche@redhat.com>
-
-       From Herman ten Brugge <hermantenbrugge@home.nl>:
-       * mf-runtime.c (__mf_uncache_object): Optimize the code so that
-       small and large objects are handled a lot faster.
-
-2006-11-06  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.ac (__libc_freeres): Look for it.
-       * mf-impl.h (call_libc_freeres): New configuration flag.
-       * mf-runtime.c (__mf_set_default_options): Set it by default.
-       (__mfu_report): Call it if needed.
-       (__mfu_unregister): Remove "unaccessed registered object" warning.
-       * configure, config.h.in: Regenerated.
-
-2006-09-18  Tom Tromey  <tromey@redhat.com>
-
-       * configure: Rebuilt.
-
-2006-06-21  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR 21274
-       mf-runtime.h installation based on ssp patch for PR 26473 from
-       Mark Mitchell  <mark@codesourcery.com>.
-       * configure.ac (ACX_NONCANONICAL_TARGET): Use it.
-       * Makefile.am (target_noncanonical): Define.
-       (libsubincludedir): New variable.
-       (nobase_libsubinclude_HEADERS): Add mf-runtime.h.
-       (include_HEADERS): Remove.
-       * configure, aclocal.m4, config.h.in: Regenerated.
-       * Makefile.in, testsuite/Makefile.in: Likewise.
-       * mf-runtime.h: Add #ifndef protection for conflicting _REENTRANT
-       and _THREAD_SAFE redefinition values.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-
-2006-04-19  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
-
-       PR mudflap/26789
-       * testsuite/libmudflap.c++/error1-frag.cxx: New test.
-
-       PR mudflap/26790
-       * testsuite/libmudflap.c++/error2-frag.cxx: New test.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Recognize multilib
-       directory names containing underscores.
-
-2005-11-22  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Remove -static from
-       MUDFLAP_FLAGS if static library not supported.
-       * testsuite/libmudflap.c/cfrags.exp (MUDFLAP_FLAGS): new.
-       * testsuite/libmudflap.c/externs.exp: Ditto.
-       * testsuite/libmudflap.c++/ctors.exp: Ditto.
-       * testsuite/libmudflap.c++/c++frags.exp: Ditto.
-       * testsuite/libmudflap.cth/cthfrags.exp: Ditto.
-
-2005-10-04  James E Wilson  <wilson@specifix.com>
-
-       * configure.ac (mudflap_cv_entry_point): Use quadrigraphs to declare
-       $name as array of characters with unknown bound.  Also store into the
-       array.
-       * configure: Regenerate.
-
-2005-09-30  James E. Wilson  <wilson@specifix.com>
-
-       * configure.ac (pthread.h): Use AC_CHECK_HEADERS instead of
-       AC_CHECK_HEADER.
-       (target_thread_file): New.  Set from sed'ed gcc output.
-       (posix_threads): New.  Set from target_thread_file.  Use instead of
-       ac_have_pthread_h.
-       (pthread_create_version): Move initialization before code using it.
-       * configure: Regenerate.
-
-       * mf-heuristics.c (_end, ENTRY_POINT): Make them arrays with unknown
-       bounds.
-
-2005-09-29  James E. Wilson  <wilson@specifix.com>
-
-       * mf-hooks1.c (__mf_0fn_mmap, mmap, __mf_0fn_munmap, munmap): Protect
-       with HAVE_MMAP ifdef.
-
-2005-09-23  Frank Ch. Eigler  <fche@elastic.org>
-
-       PR 23084.
-       * mf-hooks2.c (accept): Tolerate NULL sockaddr* parameter.
-
-2005-09-23  Frank Ch. Eigler  <fche@elastic.org>
-
-       * testsuite/libmudflap.c++/pass58-frag.cxx: New test for heisenbug 19319.
-
-2005-09-23  Tom Tromey  <tromey@redhat.com>
-
-       * aclocal.m4, configure: Rebuilt.
-       * configure.ac: Use GCC_CHECK_TLS.
-       * acinclude.m4 (LIBMUDFLAP_CHECK_TLS, LIBMUDFLAP_ENABLE): Moved
-       to ../config.
-
-2005-08-22  Jim Wilson  <wilson@specifix.com>
-
-       * mf-hooks2.c (MF_REGISTER_fopen): Define to __MF_TYPE_STATIC when
-       __FreeBSD__ is defined.
-
-2005-08-17  Jim Wilson  <wilson@specifix.com>
-
-       * mf-hooks1.c (malloc, calloc, realloc, free,
-       __mf_wrap_alloca_indirect): Call BEGIN_MALLOC_PROTECT before calling
-       the real routines, and END_MALLOC_PROTECT afterwards.
-       * mf-impl.h (enum __mf_state_enum): Expand comment.  Add in_malloc.
-       (BEGIN_PROTECT): Handle in_malloc state.
-       (BEGIN_MALLOC_PROTECT, END_MALLOC_PROTECT): New.
-       * testsuite/libmudflap.c/hook2-allocstuff.c: New.
-
-2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * All files: Update FSF address.
-
-2005-08-15  Ulrich Weigand  <weigand@informatik.uni-erlangen.de>
-
-       * mf-hooks3.c (main_seen_p): Remove.
-       (__mf_get_state): Remove attempt to recognize the main thread.
-
-2005-08-15  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * configure.ac: Test for the name of the symbol used for the entry
-       point; define ENTRY_POINT to the result.
-       * configure: Regenerate.
-       * config.h.in: Regenerate.
-       * mf-heuristics.c: Replace _start with ENTRY_POINT throughout.
-
-2005-08-14  Ulrich Weigand  <weigand@informatik.uni-erlangen.de>
-
-       * mf-runtime.c (__mf_state_1): Initialize to reentrant.
-       (__mf_init): Set thread state active.
-       * mf-hooks3.c (__mf_pthread_spawner): Always set thread
-       state active.
-       (pthread_create wrapper): Always use thread spawner.
-
-       * testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
-       * testsuite/libmudflap.cth/pass39-frag.c: Likewise.
-
-2005-07-16  Richard Henderson  <rth@redhat.com>
-
-       * acinclude.m4: New file.
-       * configure.ac: Invoke LIBMUDFLAP_CHECK_TLS.
-       * configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild.
-       * mf-hooks1.c (__mf_0fn_malloc): Move body from ...
-       (__mf_0fn_calloc): ... here.
-       * mf-hooks3.c (struct pthread_info): Remove.
-       (__mf_pthread_info, __mf_pthread_info_idx): Remove.
-       (LIBMUDFLAPTH_THREADS_MAX): Set to 1021.
-       (struct mf_thread_data): New.
-       (mf_thread_data, mf_thread_data_lock): New.
-       (__mf_allocate_blank_threadinfo): Remove.
-       (__mf_find_threadinfo): Rewrite and simplify.  Only use if TLS is
-       not available.
-       (__mf_state_perthread): Remove.
-       (__mf_get_state, __mf_set_state): New.
-       (__mf_pthread_cleanup): Use &errno, rather than saved pointer.
-       Update mf_thread_data killing procedure.
-       (__mf_pthread_spawner): Similarly.
-       (__mf_0fn_pthread_create): Only use wrapper if necessary.  Remove
-       code to allocate thread stack space.
-       (__mf_0fn_pthread_join, pthread_join): Remove.
-       (__mf_0fn_pthread_exit, pthread_exit): Remove.
-       * mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove.
-       (__mf_state_1): Rename from __mf_state; use TLS when available.
-       (__mf_get_state, __mf_set_state): New.  Update all users.
-       * mf-runtime.c (begin_recursion_protect1): New.
-       (BEGIN_RECURSION_PROTECT): Use it.
-       (__mf_state_1): Rename from __mf_state; use TLS when available.
-       (threads_active_p): Remove.
-       (__mf_usage): Compute it directly.
-
-2005-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libmudflap.c/externs-1.c (main): Add return statement.
-
-2005-06-15  Frank Ch. Eigler  <fche@redhat.com>
-
-       Fix for uncaching bug reported by Herman ten Brugge.
-       * mf-runtime.c (__mf_uncache_object): Search whole cache.
-       * testsuite/libmudflap.c/fail40-frag.c: New test.
-
-2005-05-23  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libmudflap/21724
-       * Makefile.am (AM_MAKEFLAGS): Pass includedir.
-       * Makefile.in: Amend.
-
-2005-06-14  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR mudflap/21023
-       * testsuite/libmudflap.c/externs.exp, externs-{1,2}.c: New test files.
-       * testsuite/libmudflap.c/cfrags.exp: Bypass new sources.
-
-2005-06-14  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR libmudflap/21094
-       * testsuite/libmudflap.c++/*.exp: Assert build tree g++.
-
-2005-06-14  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR mudflap/22064
-       * mf-impl.h (mudflap_mode, violation_mode): Make these ordinary
-       unsigned vars with #defines instead of enums.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-04-12  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR mudflap/19266
-       * testsuite/libmudflap.c++/c++frags.exp: Also test -O permutation.
-       * testsuite/libmudflap.c++/pass57-frag.cxx: New test.
-
-2005-04-04  Alan Modra  <amodra@bigpond.net.au>
-
-       * mf-runtime.c (__mfu_unregister): Warning fix for char unsigned.
-
-2005-03-31  Mike Stump  <mrs@apple.com>
-
-       * mf-runtime.h: Add libmudflap copyright clause.
-
-2005-03-21  Mike Stump  <mrs@apple.com>
-
-       * mf-heuristics.c: Fix whitespace at end of line.
-       * mf-hooks1.c: Likewise.
-       * mf-hooks2.c: Likewise.
-       * mf-hooks3.c: Likewise.
-       * mf-impl.h: Likewise.
-       * mf-runtime.c: Likewise.
-       * mf-runtime.h: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       In all substitutions, expand gcc_version in Makefile.
-       * aclocal.m4, configure: Regenerate.
-       * Makefile.am: Set gcc_version.
-       * Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-03-17  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mfu_check): Respect ignore_reads configuration.
-       * testsuite/libmudflap.c/{pass56,fail39}-frag.c: New tests.
-
-2005-02-13  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR mudflap/19319
-       * testsuite/libmudflap.c++/pass55-frag.c: New test.
-
-2005-01-05  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libmudflap.c/pass32-frag.c: Fix typo.
-
-2005-01-02  Greg McGary  <greg@mcgary.org>
-
-       * mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
-       * mf-runtime.h: New file, replaces mf-runtime.h.in.
-       * configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated.
-       * Makefile.in: Ditto.
-       * testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h
-       * testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/
-       * testsuite/libmudflap.c/fail36-frag.c: New test.
-       * testsuite/libmudflap.c/fail37-frag.c: New test.
-       * testsuite/libmudflap.c/fail38-frag.c: New test.
-
-2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
-       * aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * aclocal.m4: Include ../config/gcc-version.m4.
-       * configure, Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Define ACLOCAL_AMFLAGS.
-       * acinclude.m4: Remove.
-       * stamp-h.in: Remove superfluous stamp file.
-       * aclocal.m4, configure, Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Likewise.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Revert previous.
-       * acinclude.m4: Restore.
-       * aclocal.m4, configure, Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Likewise.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Define ACLOCAL_AMFLAGS.
-       * acinclude.m4: Remove.
-       * aclocal.m4, configure, Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Likewise.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.in, configure, aclocal.m4: Regenerate with automake 1.9.3.
-       * testsuite/Makefile.in: Likewise.
-
-2004-11-01  Andreas Schwab  <schwab@suse.de>
-
-       * configure.ac: (target_alias): Default to $host_alias, not
-       $target.
-       * configure: Regenerated.
-
-2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/fail35-,pass53-,pass54-frag.c: New tests.
-       * testsuite/libmudflap.c/pass35-frag.c: Correct embedded warning
-       message.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libmudflap.exp: Accept more than one multilib libgcc.
-
-2004-10-12  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.ac: Check for more headers, functions.
-       * mf-hooks2.c (mkbuffer, unmkbuffer): New helper functions for
-       tracking overridden FILE buffers.
-       (fopen, setvbuf): New/revised hook functions for buffer overriding.
-       (setbuf,setlinebuf,fdopen,freopen,fopen64,freopen64,fclose): Ditto.
-       (fflush): Accept given NULL stream (means "all streams").
-       * mf-runtime.h.in:
-       * mf-runtime.c (__mfu_check): Accept accesses that span adjacent
-       HEAP/GUESS objects.
-       (LOOKUP_CACHE_SIZE_MAX): Raise to 64K entries tentatively.
-       (__mf_adapt_cache): Use them all.
-       * testsuite/libmudflap.c/pass35-frag.c: Update warning message.
-       * testsuite/libmudflap.c++/ctors.exp: Ditto.
-       * testsuite/libmudflap.c/{pass51,pass52}-frag.c: New tests.
-       * configure, config.h.in: Regenerated.
-
-2004-10-05  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.ac: Checking for sys/socket.h once is enough.
-       * configure: Regenerated.
-
-2004-10-04  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.ac: Look for more headers & functions.
-       * mf-hooks2.c (getmntent, inet_ntoa, getproto*): New wrapper functions.
-       * mf-runtime.h.in: Add new "#pragma redefine_extname"s for them.
-       * mf-runtime.c (options): Clean up integer signedness warnings.
-       (main): Add a declaration to fix a warning.
-       * mf-hooks3.c (pthread_exit): Add not-reached exit() to wrapper.
-       * configure, config.h.in: Regenerated.
-
-2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass50-frag.c, fail33-frag.c, fail34-frag.c:
-       New tests for proper base/limit checking for aggregates.
-
-2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
-
-       * testsuite/libmudflap.c/pass35-frag.c: Update expected message.
-
-2004-09-07  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
-       * mf-hooks2.c (strerror): Unregister previous string returned by
-       previous strerror.
-       (getlogin,cuserid,getpwnam,getpwuid,getgrnam,getgrgid): New wrappers.
-       (getservent,getservbyname,getservbyport,gai_strerror): Ditto.
-       * mf-runtime.h.in: Add redefine_extname pragmas for them all.
-       * mf-runtime.c (__mf_describe_object): Clarify object life status.
-       * testsuite/libmudflap.c/pass48-frag.c, pass49-frag.c, fail32-frag.c:
-       New tests.
-       * configure, config.h.in: Regenerated.
-
-2004-08-03  Dale Johannesen  <dalej@apple.com>
-
-        * mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin.
-
-2004-08-03  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (compare_uintptr_t): Remove function.  Inline
-       simplified contents in all former callers.
-
-2004-07-27  Ulrich Weigand  <weigand@informatik.uni-erlangen.de>
-
-       * mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in
-       the statically linked case.
-
-2004-07-27  Frank Ch. Eigler  <fche@redhat.com>
-
-       * splay-tree.[ch]: Remove.  Merge contents into ...
-       * mf-runtime.c: ... here, renaming symbols and making all functions
-       static.  Remove unused min/max functions.
-       * Makefile.am: Forget about splay-tree.[ch].
-       * Makefile.in, testsuite/Makefile.in: Regenerated.
-
-2004-07-21  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling.
-       (__mfu_usage): Include (C) 2004.
-       * mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions
-       here.  Include a comment explaining why.
-
-2004-07-20  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
-       * mf-runtime.c (options): Give them a name.
-       (__mf_set_default_options): Set them.
-       (__mf_insert_new_object, __mfu_unregister): Optionalize timestamps.
-       (__mf_violation): Warning cleanup.
-       * mf-impl.h (MF_VALIDATE_EXTENT): Support ignore_reads option.
-       * splay-tree.c (splay_tree_delete_helper): Remove obsolete decl.
-
-2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
-
-       g++/15861
-       * mf-runtime.c (__mf_init): Make it non-static.  Tolerate
-       repeated invocation.
-
-2004-07-09  Frank Ch. Eigler  <fche@redhat.com>
-
-       Test case for g++/15861
-       * testsuite/libmudflap.c++/ctors-[12].cxx: New test case halves.
-       * testsuite/libmudflap.c++/ctors.exp: Driver.
-       * testsuite/libmudflap.c++/c++frags.exp: Elide redundant default.
-       Look only for *frag* test cases.
-
-2004-07-08  Frank Ch. Eigler  <fche@redhat.com>
-
-       ANSI C conversion, libmudflap specialization, recursion limiting.
-       * splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data
-       argument and indirection function pointers, update callers.
-       (splay_tree_s): Add statistics and recursion control fields
-       num_keys, max_depth, depth, rebalance_p.
-       * splay-tree.c (splay_tree_splay_helper): Track recursion depth.
-       Back out of search if it exceeds limit.
-       (splay_tree_splay): Manage recursion limiting with rebalancing as
-       needed.
-       (splay_tree_new): More initialization.
-       (splay_tree_rebalance): New function.
-       (splay_tree_foreach): Rewrite using nonrecursive logic.
-       (splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate):
-       Remove.  Point indirect calls to mf-runtime.c's routines.
-       (splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused
-       functions.
-       (splay_tree_delete, splay_tree_delete_helper): Ditto.
-       * testsuite/heap-scalestress.c: New test based on one from
-       Eyal Lebedinsky <eyal@eyal.emu.id.au>:
-
-2004-07-05  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libmudflap_la_LDFLAGS, libmudflapth_la_LDFLAGS):
-       Use -version-info for soname.
-       * Makefile.in: Regenerate.
-       * configure.ac: Remove libtool_VERSION macro
-       * configure: Regenerate
-
-2004-07-05  Zack Weinberg  <zack@codesourcery.com>
-
-       * mf-runtime.h.in: Wrap declarations of struct __mf_cache,
-       __mf_lookup_cache, __mf_lc_mask, or __mf_lc_shift in
-       #ifndef _MUDFLAP.
-
-2004-06-29  Frank Ch. Eigler  <fche@redhat.com>
-
-       Splay tree implementation fork.
-       * splay-tree.c, splay-tree.h: Copied & modified from libiberty.
-       Use hard-coded comparison function for uintptr_t.  Remove key/value
-       deallocation logic.  Cache last splayed key for consecutive lookups.
-       * Makefile.am, Makefile.in: Use them, don't link to them.
-       * mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new.
-       (__mf_find_objects2): Flip successor/predecessor search sequence.
-       * ansidecl.h, libiberty.h: Removed dummy files.
-
-2004-06-29  Nick Clifton  <nickc@redhat.com>
-
-       * configure.ac (AC_CHECK_HEADERS): Add dirent.h
-       * configure: Regenerate.
-       * mf-hooks2.c: Surround uses of dirent.h with #ifdef
-       HAVE_DIRENT_H.
-       Remove spurious inclusion of <strings.h>.
-
-2004-06-29  Nick Clifton  <nickc@redhat.com>
-
-       * mf-runtime.c (pthread_join): Only apply the weak pragma if the
-       function actually exists.
-
-2004-06-25  Frank Ch. Eigler  <fche@redhat.com>
-
-       * ansidecl.h, libiberty.h: New dummy files for building splay-tree.
-       * config.h.in: Regenerated.
-
-2004-06-24  Frank Ch. Eigler  <fche@redhat.com>
-
-       Adopt splay trees for object database.
-       * Makefile.am: Copy splay-tree.* from libiberty.
-       * Makefile.in, testsuite/Makefile.in: Regenerated.
-       * mf-runtime.h.in (__mf_unregister): Add third parameter (type).
-       * mf-hooks[123].c (*): Add new third parameter to mf_unregister.
-       * mf-impl.h (BEGIN_PROTECT): Remove some trace text.
-       * mf-runtime.c: Rewrite code dealing with object database to use
-       libiberty splay trees.  Remove tree liveness aging option.
-       * testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * configure.ac: New name of configure.in.  Update
-       AC_INIT, AC_CONFIG_SRCDIR, AC_CONFIG_HEADERS, AC_CONFIG_FILES,
-       AC_OUTPUT, AM_INIT_AUTOMAKE to the preferred style for
-       Autoconf 2.5x and Automake 1.7 or later.
-       * configure.in: Remove.
-       * configure: Regenerate.
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Stephen Crowley  <stephen.crowley@sbcglobal.net>
-
-       PR libmudflap/13505
-       * mf-hooks2.c (semctl): Add cygwin porting hack.
-
-2004-06-09  Frank Ch. Eigler  <fche@redhat.com>
-
-       ctype support.
-       * configure.in: Look for ctype header and glibc implementation.
-       * mf-hooks2.c (__ctype_{b,toupper,tolower}_loc): Sample ctype
-       array hooks for glibc 2.3.
-       * mf-runtime.h.in: Wrap them.
-       * mf-runtime.c (__mf_init): Leave marker regarding other ctype
-       implementations.
-       * testsuite/libmudflap.c/pass47-frag.c: New test.
-       * configure, config.h.in: Regenerated.
-
-2004-06-04  Frank Ch. Eigler  <fche@redhat.com>
-
-       Portability improvements, e.g., libmudflap/15293.
-       * configure.in: Look for glibc extension functions.  Look for
-       support of -f{function,data}-sections.  Look for more headers.
-       Create testsuite/mfconfig.exp.  Correct more "test x.." thinkos.
-       * Makefile.am: Use $(SECTION_FLAGS).  Collapse piecemeal-compiled
-       mf-hooks* into usual single object per source.
-       * mf-hooks*.c: Remove all #if WRAP_foo conditionals.
-       * mf-hooks2.c: #include a bunch more system headers.  Define strnlen
-       if system doesn't provide one.
-       * mf-hooks3.c (struct pthread_info): Add stack_*_alloc fields.
-       (pthread_create): Use it to properly GC dead thread stacks.
-       * mf-runtime.c (__mf_violation): Correct snprintf type warning.
-       * testsuite/Makefile.am: Stop generating site.exp.
-       * testsuite/mfconfig.exp.in: New file.
-       * testsuite/config/default.exp: Load new mfconfig.exp.
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Add extra libraries.
-       (prune_gcc_output): Add glibc static linking warnings.
-       * testsuite/libmudflap.*/*frags.exp: Enumerate needed -lmudflap* libs.
-       * testsuite/libmudflap.c/pass46-frag.c: Ditto.
-       * configure, Makefile, aclocal.m4, config.h.in, testsuite/Makefile.in:
-       Regenerated with autoconf 2.57 and automake 1.7.
-
-2004-06-04  Per Bothner  <per@bothner.com>
-
-       * configure.in (LIBMUDFLAPTH):  Fix thinko.
-
-       * configure.in:  Check for more headers.
-       * mf-hooks2.c:  Conditionalize on HAVE_SYS_SOCKET_H etc.
-
-       * mf-runtime.c:  In two places conditionalize on SIUSR1 rather than
-       HAVE_SIGNAL as mingw has signal.h but not SIUSR1.
-
-2004-06-01  Andreas Jaeger  <aj@suse.de>
-
-       * configure.in: Handle multilibs, support
-       --enable-version-specific-runtime-libs.
-       * Makefile.am (lib_LTLIBRARIES): Rename to ...
-       (toolexeclib_LTLIBRARIES): this for multilib support.
-       * Makefile.in: Regenerated.
-       * configure: Regenerated.
-       * aclocal.m4: Regenerated.
-       * config.h.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2004-06-01  Andreas Jaeger  <aj@suse.de>
-
-       * testsuite/lib/libmudflap.exp (libmudflap-init): Handle
-       multilibs, using multilib directory instead of hardcoded path.
-       Set LD_RUN_PATH.
-
-2004-05-21  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
-       * Makefile.in: Ditto.
-
-2004-05-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * acinclude.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*.
-       * aclocal.m4, configure: Rebuilt.
-
-2004-05-17  Frank Ch. Eigler  <fche@redhat.com>
-
-       * lib/libmudflap.exp (libmudflap-init): For C++ test cases only,
-       import some build settings from libstdc++-v3 testsuite_flags.
-       * .../cfrags.exp, .../c++frags.exp, .../cthfrags.exp: Corresponding
-       changes to pass test language.
-
-       * mf-runtime.c (__mfu_check): Poison the cache with antidote for
-       quicker mode-nop handling.
-
-2004-03-25  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-impl.h: Added libgcc license header.
-
-2004-03-20  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks[123].c, mf-runtime.c, mf-heuristics.c:
-       Added libgcc license header.
-       * mf-hooks3.c (__mf_0fn_pthread_create): Correct arg constness.
-       (pthread_create): Simplify stack allocation syntax.
-
-2004-03-08  Loren J. Rittle  <ljrittle@acm.org>
-
-       * mf-hooks2.c: Support FreeBSD.
-       (WRAP_gets): Avoid gets().
-       * testsuite/libmudflap.c/pass-stratcliff.c: Do not
-       test unimplemented mem/str calls on FreeBSD.
-       * testsuite/libmudflap.c/pass21-frag.c: Do not include
-       <alloca.h> on FreeBSD.
-
-2004-01-30  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass36-frag.c: Add missing free() call.
-       * testsuite/libmudflap.c/pass46-frag.c: New test for -fmudflapir.
-       * testsuite/libmudflap.cth/cthfrags.exp: Add -DSTATIC to compiler
-       flags for static linking permutation.
-       * testsuite/libmudflap.cth/pass40-frag.c: When -DSTATIC, avoid
-       some pthreads code that croaks on linux glibc tls.
-
-2004-01-27  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/fail31-frag.c, pass45-frag.c: New tests.
-
-2004-01-15  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass44-frag.c: New test.
-
-2004-01-12  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/fail{28,29,30}-frag.c: New tests.
-
-2004-01-08  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass43-frag.c: Added missing program rc.
-
-2003-12-11  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass42-frag.c, pass43-frag.c: New tests.
-
-2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
-
-       PR libmudflap/12670
-       * configure.in: Add check for see if
-       socklen_t typedef is in sys/socket.h.
-       * mf-hooks1.c: Add define if socklen_t
-       is not typedef.
-       * mf-hooks2.c: Likewise.
-       * mf-hooks3.c: Likewise.
-       * config.h.in: Regen.
-       * configure: Regen.
-
-2003-12-08  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mf_watch_or_not): Tweak tracing message.
-       * testsuite/libmudflap.c/fail21-frag.c: Defeat aliasing
-       optimizations.
-       * testsuite/libmudflap.c/pass25-frag.c: Ditto.
-       * testsuite/libmudflap.c/pass26-frag.c: Tolerate non-overlapping
-       (unoptimized) allocation of stack space.
-
-2003-12-07  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libmudflap.c/fail23-frag.c (main): Adjust addend to 11.
-       * testsuite/libmudflap.c/fail27-frag.c (foo): Mark noinline.
-
-2003-12-06  Andrew Pinski <apinski@apple.com>
-
-       partial PR libmudflap/12670
-       * mf-hooks1.c: Respect Darwin checks.  Conditionalize POSIX_SOURCE.
-       * mf-hooks2.c: Likewise.
-       * mf-hooks3.c: Likewise.
-
-2003-11-19  Frank Ch. Eigler  <fche@redhat.com>
-
-       libstdc++/11696
-       * mf-runtime.h.in: Switch to #pragma redefine_extname for
-       symbols interposed at compile time.
-       * testsuite/libmudflap.c++/pass41-frag.cxx: New test.
-
-       libmudflap/12939
-       * mf-hooks2.c (semctl): Tolerate FreeBSD.
-
-       * configure.in: Reorganize check for <pthread.h>.
-       * configure: Regenerated.
-
-2003-11-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * mf-runtime.c (_ALL_SOURCE): Define for AIX.
-       (_LARGE_FILE_API): Define for AIX.
-       * mf-hooks[123]: Same.
-       (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX.
-
-2003-10-21  David Edelsohn  <edelsohn@gnu.org>
-
-       * mf-runtime.c (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX.
-
-2003-07-29  Frank Ch. Eigler  <fche@redhat.com>
-
-       2003-07-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * configure.in: Update check for union semun.
-
-2003-07-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       PR other/11673
-       * mf-hooks2.c [WRAP_semctl]: Fix check for HAVE_UNION_SEMUN.
-
-2003-07-29  Frank Ch. Eigler  <fche@redhat.com>
-
-       PR other/11673
-       * configure.in: Add checks for 64-bit LFS functions, struct semun
-       definition, for BSD compatibility.
-       * mf-hooks1.c: Respect BSD checks.  Conditionalize POSIX_SOURCE.
-       * mf-hooks2.c: Ditto.  Include <strings.h> for bcmp* decls.
-       * mf-hooks3.c: Ditto.
-       (pthread_create): Try MAP_ANON on platforms without the MAP_ANONYMOUS
-       mmap flag.
-       * configure, config.h.in: Regenerated.
-
-2003-07-23  Frank Ch. Eigler  <fche@redhat.com>
-
-       Multithreading fixes:
-       * mf-runtime.c (__mf_object): Store allocating/deallocating
-       thread id.
-       (options): Support new "-thread-stack" option.
-       Rename "-heur-argv-environ" option to "-heur-stdlib".
-       Disable "-lc-mask" and "-lc-shift" options.
-       (__mf_dynamic): Add function pointers for pthread_join/_exit.
-       (__assert_fail): New self-contained function for glibc.
-       * mf-hooks3.c: Essentially rewritten, particularly related to
-       use of __mf_pthread_info array.
-       (pthread_join, _exit): New hook functions.
-       * mf-impl.h (BEGIN_PROTECT): Handle starting_p case.
-       * testsuite/libmudflap.cth/pass40-frag.c: New test.
-
-       Warning cleanups:
-       * mf-heuristics.c: Add type casts for tracing, sub calls.
-       * mf-impl.h (BEGIN_PROTECT): Redefine to omit result type.
-       Update all callers to declare explicit result holder.
-       (END_PROTECT): Removed.
-       * testsuite/*/*frags.exp: Clean up default MUDFLAP_OPTIONS.
-
-2003-07-15  Diego Novillo  <dnovillo@redhat.com>
-
-       * testsuite/libmudflap.c/fail21-frag.c: Add volatile modifiers.
-       * testsuite/libmudflap.c/fail15-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail13-frag.c: Likewise.
-
-2003-07-04  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks1.c, 2.c, 3.c: New file, splits up content from old ...
-       * mf-hooks: Removed.
-       * mf-impl.h (MF_VALIDATE_EXTENT, BEGIN_PROTECT, END_PROTECT):
-       Move these macros from old mf-hooks.c here.
-       * Makefile.am: Adapt to split-up hook sources for faster builds.
-       * Makefile.in: Regenerated.
-
-       * mf-heuristics.c: Remove #if-0 block.
-
-       * mf-impl.h (__mf_state): Reorganize declaration and implementation.
-       (__mf_starting_p): New state only for use while dlsym bootstrapping.
-       (CALL_REAL, __mf_init): Corresponding changes.
-       (TRACE, VERBOSE_TRACE): Include thread id and "mf:" prefix.  Update
-       all callers to remove redundant "mf:" prefix.
-       * mf-runtime.h.in: #define a few reentrancy macros for libmudflapth.
-       * mf-hooks3.c: Rewrite chunks to support per-thread __mf_state value.
-       (__mf_pthread_info): Become a hash table.
-
-       * testsuite/lib/mfdg.exp: Support new "dg-timeout" and
-       "dg-repetitions" directives to control test case execution.
-       * testsuite/libmudflap.cth/pass37-frag.c: Add timeout and repeat
-       options.
-       * testsuite/libmudflap.cth/pass39-frag.c: Ditto for this new test.
-
-2003-06-25  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (alloca): Separate into stub.
-       (__mf_wrap_alloca_indirect): New function.  Use CALL_REAL
-       malloc/free for alloca blocks.
-       (pthread_create): Tolerate failing pthread_attr_get* calls.
-       * mf-runtime.c (__mf_fini): Call __mf_wrap_alloca_indirect.
-       * mf-impl.h (CALL_WRAP): Remove macro.
-       * testsuite/libmudflap.c/pass21-frag.c: Include <alloca.h>.
-       * testsuite/libmudflap.c/pass23-frag.c: Include more struct
-       padding for ia64 BIT_FIELD_REF constructs.
-
-2003-06-19  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (struct pthread_info): Add "thread_errno" field.
-       (__mf_pthread_spawner, __mf_pthread_cleanup): Use it with GUESS
-       libmudflap object type.
-       * mf-runtime.c (__mfu_unregister): Correct cemetary logic to avoid
-       crashes on unregistering STATIC objects.
-
-2003-06-17  Frank Ch. Eigler  <fche@redhat.com>
-
-       Based on patch from Eyal Lebedinsky <eyal@eyal.emu.id.au>:
-       * mf-hooks.c (__mf_pthread_spawner): Register thread errno.
-       (time, strerror, fopen, fopen64, fclose, fread): New hooks.
-       (fwrite, fgetc, fgets, getc, gets, ungetc, fputc): New hooks.
-       (fputs, putc, puts, clearerr, feof, ferror, fileno): New hooks.
-       (printf, fprintf, sprintf, snprintf, vprintf, vfprintf): New hooks.
-       (vsprintf, vsnprintf, access, remove, fflush, fseek): New hooks.
-       (fseeko64, ftell, ftello64, rewind, fgetpos, fsetpos): New hooks.
-       (stat, stat64, fstat, lstat, mkfifo, setvbuf, setbuf): New hooks.
-       (setvbuf, opendir, closedir, readdir, recv, recvfrom): New hooks.
-       (recvmsg, send, sendto, sendmsg, setsockopt, getsockopt): New hooks.
-       (accept, bind, connect, gethostname, sethostname): New hooks.
-       (gethostbyname, wait, waitpid, popen, pclose, execve): New hooks.
-       (execv, execvp, system, dlopen, dlclose, dlerror, dlsym): New hooks.
-       (semop, semctl, shmctl, shmat, shmdt): New hooks.
-       * mf-runtime.h.in: Corresponding changes.
-       * mf-runtime.c (__mf_ini): Register stdio objects.  Use STATIC type.
-       (opts) Rename heur_argv_environ to heur_std_data.
-       (__mf_wrap_main): Use STATIC type for argv/environ strings.
-       * Makefile.am: Corresponding changes.
-       * Makefile.in: Regenerated.
-
-2003-06-11  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-heuristics.c (__mf_heuristic_check): Disable stack_bounds
-       heuristic for threaded case, and for non-x86-linux targets.
-       * mf-hooks.c (__mf_0fn_calloc): Provide a working dummy implementation
-       for use during pre-main() program startup.
-       (__mf_0fn_*): Make these functions non-static.
-       * mf-impl.h (DECLARE, CALL_REAL): Support calls to 0fn backup hook
-       functions.
-       * mf-runtime.c (__mf_state): Set initial state to "starting".
-       (__mf_resolve_single_dynamic): Tolerate repeated calls for same symbol.
-       (__wrap_main): New function to register argv[] and environ[] strings.
-       (__mf_ini): Call it.
-       (*): In all trace functions, use "%p" as formatter for uintptr_t.
-
-       * testsuite/libmudflap.c/pass38-frag.c: New test case.
-       * testsuite/libmudflap.cth/pass37-frag.c: Improved test.
-
-       * acinclude.m4: Add comments with aoliva's concerns about x86_64
-       pass_all.
-       * aclocal.m4, configure: Regenerated.
-
-2003-06-04  Frank Ch. Eigler  <fche@redhat.com>
-
-       * acinclude.m4: Correct typo in AC_MSG_CHECKING.
-       * aclocal.m4, configure: Regenerated.
-
-2003-06-03  Frank Ch. Eigler  <fche@redhat.com>
-
-       * acinclude.m4: Force "pass_all" deplibs_check_method for libtool
-       for x86_64 target.  Disable caching for this value.
-       * aclocal.m4, configure: Regenerated.
-
-2003-06-02  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass38-frag.c: Deleted.  -fwritable-strings
-       is about to become deprecated, and its present handling bugs are
-       unworthy of fixing.
-
-2003-05-30  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/pass38-frag.c: New test for
-       -fwritable-strings.
-
-2003-05-23  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mf_sigusr1_handle): Call unlocked variant of
-       __mf_report, asserting reentrant calling context.
-
-2003-05-23  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (realloc): Correct reentrancy logic.
-       * testsuite/libmudflap.c/hook-allocstuff.c: New test case.
-
-2003-05-20  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (LIBMUDFLAPTH_THREADS_MAX): New macro, replaces
-       PTHREAD_THREADS_MAX.  Update users.
-       * mf-runtime.c (__mf_usage): Print [active] instead of [default]
-       for active options.
-       * testsuite/Makefile.am (all-local): Prime dejagnu site.exp file
-       with libmudflapth presence indicator.
-       * testsuite/Makefile.in: Regenerated.
-
-2003-05-16  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (AM_CFLAGS): Remove "-ansi".
-       * configure.in: Remove silly no-pthreads => no-shared logic.
-       * Makefile.in, configure: Regenerated.
-       * mf-heuristics.c (__mf_heuristic_check): Remove reentrancy hacks.
-       * mf-hooks.c (BEGIN_PROTECT, END_PROTECT): Reorganize reentrancy
-       code.  Count reentrancy events.
-       (all hook functions): Don't directly manipulate __mf_state variable.
-       Add TRACE calls to hook functions without them.
-       * mf-impl.h (LOCKTH): Try to count lock contention events.
-       (VERBOSE_TRACE, TRACE): Remove reentrancy hacks.
-       * mf-runtime.c (BEGIN_RECURSION_PROTECT, END_RECURSION_PROTECT):
-       Reorganize reentrancy code.
-       (external __mf_ entry points): Use RECURSION_PROTECT mechanism to
-       identify reentrancy with mutex holding times.
-       (internal __mfu_ entry points): Remove internal reentrancy code.
-       (__mf_init): Use ordinary locked calls.
-       (__mfu_report): Print the two new counts.
-       * testsuite/lib/libmudflap.exp: Filter out junk ld/pthreads messages.
-       * testsuite/libmudfap.cth/cthfrags.exp: New test driver.
-       * testsuite/libmudflap.cth/pass37-frag.c: New pthreads test.
-       * testsuite/libmudfap.cth/cfrags.exp: Adapt to new libmudflap
-       option defaults.
-
-2003-05-09  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.in: Add pthread support, plus glibc and porting hacks.
-       * Makefile.am (LIBMUDFLAPTH): New conditional, to build -lmudflapth
-       from objects built into ./pth/.
-       * mf-runtime.c (__mfu_watch,register,...): Fork new unlocked
-       functions for internal entry points.  Update callers to pick
-       locked vs. unlocked variants.
-       (__mf_resolve_single_dynamic): Extend to support symbol versioning
-       info coming in from a static data structure.
-       (*): Reorder miscellaneous declarations to group data vs functions.
-       (__mf_set_default_options): Simplify.
-       (__mf_usage): Mention threading status of host executable.
-       * mf-impl.h: Move max/min decls here.  Reorganize __mf_dynamic
-       decls to match above.
-       (LOCKTH, UNLOCKTH): New macros for Big Libmudflap Lock management.
-       * mf-heuristics.c: Choose between locked/unlocked calls.  Add
-       some lock/unlock markers.  Remove some unused code.
-       * mf-hooks: Ditto.
-       (pthread_create): New hook function.
-       (__mf_pthread_cleanup, _spawner): New helper functions.
-       * configure. aclocal.m4, config.h.in, Makefile.in: Regenerated.
-
-2003-05-02  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/fail27-frag.c: Add more volatile flags.
-
-2002-04-28  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (HOOKOBJS): Add *time related hooks.
-       * configure.in: Look for pthreads.h header.
-       * mf-hooks.c (asctime, ctime, gmtime, localtime): New wrappers.
-       * mf-runtime.c: Begin sketching some pthreads support.
-       (__mf_usage): Check for -lpthread presence.
-       (__mf_unregister): Confirm matching unregistration base.
-       (__mf_find_objects_rec): Reduce unnecessary recursion.
-       * mf-runtime.h.in: Add "nothrow" attribute to functions.  Add
-       #defines for new hook functions.
-       * mf-impl.h: Corresponding changes.
-       * config.h.in, configure, Makefile.in: Regenerated.
-
-2002-04-27  Diego Novillo  <dnovillo@redhat.com>
-
-       * testsuite/libmudflap.c/fail1-frag.c: Add volatile
-       modifiers to prevent being optimized away.
-       * testsuite/libmudflap.c/fail10-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail13-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail14-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail15-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail2-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail20-frag.c: Likewise.
-       * testsuite/libmudflap.c/fail3-frag.c: Likewise.
-
-2003-04-15  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (libmudflap_la_LIBADD): Remove -ldl.
-       * configure.in: Look for uintptr_t and -ldl on target.
-       * mf-runtime.h.in: Adjust uintptr_t declaration logic.
-       * Makefile.in, aclocal.m4, configure, config.h.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-       * mf-runtime.c (__mf_sigusr1_respond): Tweak declaration and calls
-       for better C compliance.
-
-2003-04-15  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (MF_VALIDATE_EXTENT): Remove unnecessary reentrancy
-       prevention code.
-       * mf-runtime.c (__mf_set_default_options): Turn off
-       check-initialization.
-       (__mf_describe_object): Shorten description.
-       * testsuite/libmudflap.c/fail25-frag.c: Turn on check-initialization.
-
-2003-04-07  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (__mf_0fn_mmap): Correct return value, as per <rth>.
-
-2003-04-02  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (BEGIN_PROTECT): Handle startup-time reentrant
-       calls specially.
-       (__mf_0fn_malloc ... _munmap): New dummy backup calls.
-       * mf-impl.h (CALL_BACKUP): New macros.
-       * mf-runtime.c (__mf_init): Tweak __mf_state during startup.
-
-2003-03-31  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (AM_CFLAGS): Remove optimization flags.
-       (HOOKOBJS): Remove dlopen hook.
-       (libmudflap_la_LIBADD): Add -ldl.
-       * mf-hooks.c (dlopen): Remove hook.
-       * mf-impl.h (__mf_dynamic): Ditto.
-       * mf-runtime.c (__mf_resolve_dynamics): Ditto.
-       * Makefile.in: Regenerated.
-
-2003-03-28  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.in: Check for target gettimeofday, signal, some headers.
-       * mf-impl.h (__mf_opts): Add new "sigusr1_report" field.  Comment
-       out inop multi_threaded field.
-       * mf-runtime.c (options): Handle new "-sigusr1-report" option.
-       (__mf_set_options): Correct handling of "-help".
-       (__mf_sigusr1_respond): New function to manage SIGUSR1 response.
-       (__mf_check, __mf_register, __mf_unregister): Call it.
-       (__mf_insert_new_object, __mf_unregister): Respect HAVE_GETTIMEOFDAY.
-       (__mf_report_leaks): Make callable
-       (__mf_tree_analyze): Traverse in-order.  Accumulate address bit
-       distribution statistics.
-       (__mf_adapt_cache): Rewrite shift guessing logic based on address
-       bit distributions.
-       * config.h.in, configure: Regenerated.
-       * testsuite/libmudflap.c/fail27-frag.c: New test.
-       * testsuite/libmudflap.c/pass36-frag.c: New test.
-
-2003-03-11  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.h.in: Tweak.
-       * Makefile.am, configure.in: Tweak mf-runtime.h generation some more.
-       Don't use intermediate files nor AC_OUTPUT-time postprocessing.
-       * Makefile.in, testsuite/Makefile.in, configure: Regenerated.
-
-2003-03-10  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.in: Tweak generation of mf-runtime.h some more.  It
-       needs to work from both config.status and configure.
-       * configure: Regenerated.
-
-2003-03-10  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am: Reorganize hook file building.  Add auto dependencies.
-       * configure.in: Tweak generation of mf-runtime.h.
-       * mf-runtime.h.in: Add new __MF_TYPE_HEAP_I.
-       * mf-hooks.c (*): Adapt to initialized-heap object type.
-       * mf-impl.h: Tweak cemetary boundaries.
-       * mf-runtime.c (__mf_check): Adapt to new initialized-heap object
-       type.
-       (__mf_insert_new_object, __mf_register, __mf_unregister): Ditto.
-       (__mf_describe_object, __mf_report_leaks, __mf_violation): Ditto.
-       * testsuite/lib/libmudflap.exp (includes): Include build tree.
-       * testsuite/libmudflap.c/pass{26,5}: Further adapt to initialization
-       checking.
-       * testsuite/.../fail{25,26}-frag.c: New tests.
-       * testsuite/.../pass{32,33,34,35}-frag.c: New tests.
-       * Makefile.in, configure: Regenerated.
-
-2003-03-05  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mf_set_default_options): Turn on initialization
-       checking by default.
-       (__mf_insert_new_object): As a temporary hack, assume that new
-       objects registered on the stack start out initialized.
-       * testsuite/libmudflap.c/fail9,pass23,pass[6789]-*: Initialize
-       heap objects by hand.
-
-2003-03-05  Frank Ch. Eigler  <fche@redhat.com>
-
-       Switch to macro-style hooks for str*/mem*/b* functions.
-       * mf-runtime.h.in (__MF_TYPE_*): Moved some internal values out.
-       (mem*, str*, b*): Added macro-style hooks for _MUDFLAP case.
-       * mf-runtime.c: #include config.h to enable glibc backtraces again.
-       (__mf_set_default_options): Turn off heur_proc_map.
-       (*): Adapt to to macro-style hook functions.
-       (__mf_object_dead_head, __mf_object_cemetary): Correct bounds.
-       (__mf_check, __mf_register, __mf_unregister): Tweak tracing message.
-       (__mf_violation): Handle __MF_VIOL_WATCH.
-       * mf-impl.h (__MF_TYPE_*): Moved these internal values here.
-       (__mf_dynamic): Removed mem*/str*/b* functions.
-       (TRACE, VERBOSE_TRACE): Add reentrancy locking.
-       (WRAPPER2): New macro for macro-style hooks.
-       * mf-hooks.c: Convert mem*/str*/b* functions to simpler
-       macro-style hooks.
-       (BEGIN_PROTECT): Tweak tracing vs reentrancy-lock ordering.
-       * mf-heuristics.c: Adapt to macro-style hook functions.
-       Correct some comments.
-       * testsuite/lib/mfdg.exp (dg-test): Simplify result string for
-       output pattern tests.
-       * testsuite/libmudflap.c/fail[89]-frag.c: Elaborate output test.
-       * testsuite/libmudflap.c++/c++frags.exp: Enable non-static tests.
-
-2003-02-28  Frank Ch. Eigler  <fche@redhat.com>
-
-       * testsuite/libmudflap.c/fail23-frag.c, pass30-frag.c: New tests
-       for global array registration.
-       * testsuite/libmudflap.c++/fail24-frag.cxx, pass31-frag.cxx: Ditto.
-       * testsuite/libmudflap.c++/c++frags.exp: Tweak -static multilib hack.
-
-2003-02-27  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am: Add gross make bug workarounds.  Tweaked
-       SUBDIRS and AM_CFLAGS.
-       * Makefile.in: Regenerated.
-
-2003-02-26  Frank Ch. Eigler  <fche@redhat.com>
-
-       Switch to dejagnu.
-       * configure.in (AC_PROG_CXX): Don't look for C++ any more.
-       * Makefile.am (TESTS): Remove simple automake testing.
-       * configure, Makefile.in: Regenerated.
-       (SUBDIRS): Include new testsuite/ directory.
-       * tests/*: Removed all files; moved bulk under:
-       * testsuite/*: New subdirectory tree.
-       * testsuite/libmudflap.c/cfrags.exp: New file, C test driver.
-       * testsuite/libmudflap.c++/c++frags.exp: New file, C++ test driver.
-       * testsuite/lib/libmudflap.exp: New file, derived from libstdc++.
-       * testsuite/lib/mfdg.exp: New file, derived from dejagnu.
-       * testsuite/config/default.exp: New file.
-       * testsuite/Makefile.am, Makefile.in: New files.
-
-2003-01-29  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am (TESTS_ENVIRONMENT): Remove redundant "-mode-check".
-       (TESTS): Add fail22 and pass29 tests.
-       * mf-runtime.h.in: Change API to take void*/size_t region parameters.
-       Add new access-type parameter for __mf_check.  Move __MF_VIOL* out.
-       * mf-impl.h: Corresponding changes.  Update CLAMP* macros for void*
-       values.  Move __MF_VIOL* here.
-       * mf-runtime.c (*): Adapt to void*/size_t API in mf-runtime.h.
-       (check_initialization): New field in __mf_opts.  Default off.
-       (read_count,write_count): New fields in __mf_object.
-       (__mf_check): Implement basic initialization checking.
-       (__mf_insert_new_object): Assume STATIC|GUESS regions are initialized.
-       (__mf_describe_object): Print new fields.
-       (__mf_violation): Identify check/read vs. check/write in messages.
-       * test/pass29-frag.c, test/fail22-frag.c: Basic tests for new
-       "-check-initialized" mudflap option.
-       * test/pass25-frag.c, test/fail21-frag.c: Adapt to API changes.
-       * mf-hooks.c (MF_VALIDATE_EXTENT): Add new access-type parameter.
-       Drop __FILE__/__LINE__ hack.  Update callers.
-       (*): Adapt to new mf-runtime.h API.
-       * Makefile.in: regenerated.
-
-2003-01-24  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.in: Build mf-runtime.h a more proper way.
-       * mf-hooks.c (strdup, strndup): Correct reentrancy logic.
-       * mf-runtime.c (verbose_violations): Turn on by default.
-       * mf-runtime.h.in: Remove some miscellaneous stuff ...
-       * mf-impl.h: ... and move it here.
-       * configure: Regenerated.
-
-2003-01-22  Frank Ch. Eigler  <fche@redhat.com>
-
-       * configure.in: Look for C++ compiler.
-       * test/*-frag.c, mf-driver.c: Reformatted with GNU indent and
-       fixed type warnings when built with C++.
-       * test/pass27-frag.cxx, pass28-frag.cxx: New C++ tests.
-       * Makefile.am (TESTS): Run them.
-       (*) Add new rules for building and running C++ tests.
-       (TESTFLAGS): Set new default to avoid libstdc++-v3 shlib issues.
-       * mf-runtime.h.in: Protect with extern "C".
-       * Makefile, configure: Regenerated.
-
-2003-01-06  Frank Ch. Eigler  <fche@redhat.com>
-
-       Portability improvements.
-       * configure.in: Look for glibc backtrace headers/functions.
-       * mf-hooks.c: Don't include <execinfo.h> any more.
-       * mf-runtime.c (__mf_set_options): Call more stdlib functions
-       via CALL_REAL.
-       (__mf_backtrace): Provide alternate baby implementation in
-       absence of glibc.
-       * test/mf-driver.c: Portability tweaks.
-       * acinclude.m4: New file, containing top level libtool.m4.
-       * aclocal.m4, configure, Makefile.in, config.h.in: Regenerated.
-
-2002-12-19  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.h.in (HAVE_UINTPTR_T): Define unconditionally.
-
-2002-11-08  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (options): Add new "wipe-heap", "wipe-stack"
-       options.
-       (__mf_unregister): Implement stack/heap object wiping.
-       (__mf_set_options): Renamed from __mf_process_opts.
-       (__mf_uncache_object): Change arg type, correct callers.
-       * mf-impl.h: Corresponding changes.
-       * mf-hooks.c (realloc): Save/restore heap-wiping flag.
-       * mf-runtime.h.in (__mf_set_options): Extend public API.
-       * test/pass26-frag.c: New test for stack wiping.
-       * Makefile.am (TESTS): Run it.
-       * Makefile.in: Regenerated.
-
-2002-11-07  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.h.in (__mf_watch, __mf_unwatch): Extend public API.
-       * mf-runtime.c (__mf_object_t): Add watching_p field.
-       (__mf_watch_or_not): New function to implement
-       object watch flagging.
-       (__mf_watch, __mf_unwatch): New wrappers for above.
-       (__mf_check, __mf_describe_object): Handle objects with watching_p.
-       (__mf_count_violation): Enlarge array.
-       (__mf_uncache_object): Renamed from __mf_remove_old_object.  Don't
-       unlink object.  Clear cache properly.
-       (__mf_unregister): Unlink object explicitly before uncaching.
-       * test/fail21-frag.c, pass25-frag.c: New tests.
-       * Makefile.in, aclocal.m4: Regenerated.
-
-2002-11-05  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/fail20-frag.c: New test for NULL pointer dereferencing.
-       * Makefile.am (TESTS): Add it.
-       * test/pass-stratcliff.c: Add decls of stpcpy.
-       * configure.in: Test for <stdint.h>.  Generate mf-runtime.h in
-       build tree from config.h and new file mf-runtime.h.in.
-       * mf-runtime.h.in: Renamed from mf-runtime.h.  Tweak uintptr_t decl.
-       * Makefile.in, configure, config.h.in: Regenerated.
-       * mf-hooks.c: Add #undef for wrapped glibc str*/mem* macros.
-       * mf-runtime.c (options, __mf_set_default_options): Support new
-       default "abbreviate" option.
-       (__mf_object.description_epoch): New field.
-       (__mf_describe_object): Conditionally abbreviate objects already
-       displayed in current epoch.  Accept NULL input to increment epoch.
-       (__mf_fini, __mf_ini): Reset description epoch.
-       (__mf_register, __mf_unregister, __mf_adapt_cache, __mf_init): Ensure
-       that NULL pointer slot in lookup cache is invalidated.  Register a
-       NOACCESS region around NULL.
-       * mf-impl.h: Corresponding changes.
-
-2002-10-16  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/fail19-frag.c, pass24-frag.c, pass-stratcliff.c: New tests.
-       * Makefile.am: Run them.  Install mf-runtime.h.
-       * Makefile.in: Regenerated.
-       * mf-hooks.c: Add some markers for more missing functions.
-       * mf-runtime.c (__mf_adapt_cache): Experiment with a utilization-based
-       statistic to tune tune cache size (mask).
-
-2002-10-01  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/pass23-frag.c: New test for bit_field_ref expressions.
-       * Makefile.am, Makefile.in: Add new test.
-       * mf-hooks.c (mmap, munmap): Rewrite to track individual pages.
-       (MF_VALIDATE_EXTENT): Accept zero-size mem/str operations.
-       * mf-runtime.c (__mf_init): Register errno global.
-       (__mf_find_object): Removed function.
-       (__mf_check): Rewrite logic to support accesses across some
-       contiguous but distinctly registered objects.
-       (__mf_remove_old_object): Tolerate cache entries that span
-       contiguous objects.
-
-2002-09-30  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/pass21-frag.c, pass22-frag.c: New tests: alloca, bitfields.
-       * Makefile.am, Makefile.in: Run new tests.
-       * mf-hooks.c (alloca): Correct stack direction logic.
-
-2002-09-26  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-impl.h (adapt_cache): New option.
-       * mf-runtime.c (__mf_set_default_options): Set its default value.
-       Tweak the tree_aging parameter down.
-       (__mf_check): Maintain separate counter for cache-adaptation.
-       (__mf_tree_analyze): New function to collect object tree stats.
-       (__mf_adapt_cache): New function to automate cache parameters.
-
-2002-09-24  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-heuristics.c (__init_misc, __mf_heuristic_check): Add
-       hypothetical #if-0'd argv/envp region registration.
-       * mf-runtime.c (__mf_init): Add kludged form of above.
-       (*) Add "heur_argv_environ" flag, default on, to govern this.
-       * mf-impl.h: Corresponding changes.
-
-2002-09-20  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/fail18-frag.c: New test file for NOACCESS regions.
-       * Makefile.am (TESTS): Add new test.
-       * Makefile.in: Regenerated.
-
-       * mf-heuristics.c (__mf_heuristics_check): Correct deja_vu logic.
-       * mf-impl.h (tree_aging): Add new mudflap_option, default 1000000.
-       (optimize_object_tree): Remove unused mudflap_option.
-       * mf-runtime.h (__MF_TYPE_NOACCESS): New region type.  Add printing
-       support throughout.  Use .._MAX_CEM for cemetary upper bound.
-       * mf-runtime.c (__mf_init): Register __mf_* globals as NOACCESS
-       regions.
-       (__mf_object): Add new liveness field for use by tree aging.
-       (__mf_check): Trigger tree aging when needed.
-       (__mf_age_tree): New function to decay liveness field.
-       (__mf_find_objects_rec): Use liveness field to rotate tree.
-       (__mf_insert_new_object): Only provide backtrace for HEAP objects.
-       (__mf_unregister): Ditto.
-       (__mf_register): Tweak duplicate-static message.
-       (__mf_violation: Tweak nearby-object counter printing.
-
-2002-09-16  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/pass20-frag.c: New test file.
-       * Makefile.am (TESTS): Reorganize.  Add pass20 test.
-       * Makefile.in: Regenerated.
-
-       * mf-impl.h (TRACE_IN, TRACE_OUT): Remove macros.  Update callers.
-       * mf-hooks.c (BEGIN_PROTECT): Add hook tracing here.
-       * mf-heuristic.c (__mf_heuristic_check): Track seen /proc/self/map
-       entries to avoid repeat registration.
-       * mf-runtime.c (__mf_object_cemetary): Don't bother bury GUESS regions.
-       (__mf_register, __mf_unregister): Rewrite GUESS handling logic.
-
-2002-09-09  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am: Create test sources with #include, not cat>>.
-       * Makefile.in: Regenerated.
-       * test/buildtest.sh: Removed.
-       * test/driver.c (abort_handler, main): Be quiet.
-
-2002-09-06  Frank Ch. Eigler  <fche@redhat.com>
-
-       * test/pass18-frag.c, pass19-frag.c: New tests.
-       * Makefile.am (check): Run them.  Rebuild test programs each time.
-       * Makefile.in: Regenerated.
-
-2002-09-06  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mf_register): Correct SEGV-inducing error in
-       overlapping object search.
-       (__mf_violation): Likewise for nearby objects.
-       Improve nearby-object listing.
-
-       cleanup:
-       * mf-runtime.c, mf-hooks.c: Remove "{{{"/"}}}" folding marks.
-       * mf-heuristics.c (__mf_heuristic_check): Tweak message.
-
-2002-09-03  Frank Ch. Eigler  <fche@redhat.com>
-
-       alloca support:
-       * Makefile.am (AM_CFLAGS): New definition of needed settings.
-       (HOOKOBJS): Add alloca-hook.o.
-       * mf-hooks.c (alloca): New function to implement alloca in libiberty
-       style.
-       * mf-runtime.c (__mf_report): Call alloca(0) to flush remaining blocks.
-       (__mf_backtrace): Reimplement without using alloca.
-       * Makefile.in: Regenerated.
-
-       cleanup:
-       * mf-hooks.c: Use VERBOSE_TRACE throughout instead of fprintf(stderr).
-       Correct signedness bugs in length-tracking variables.
-       * mf-impl.h: Make options unsigned.
-       (CALL_WRAP): New macro to parallel CALL_REAL().
-       (DECLARE): Remove erroneous ";" at end.
-       * mf-runtime.c, mf-hooks.c, mf-heuristics.c: Replace remaining %p
-       formatting specs with %08lx.  Correct several compiler warnings.
-
-2002-08-28  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-runtime.c (__mf_violation): Try harder to locate nearby objects.
-
-2002-08-27  Frank Ch. Eigler  <fche@redhat.com>
-
-       libmudflap hook breakup:
-       * Makefile.am (TESTS_ENVIRONMENT): Add ../../gcc to LD_LIBRARY_PATH
-       for libgcc_s.
-       (TESTS): Make dependent on libmudflap.
-       (HOOKOBJS): Break up mf-hooks.o into many little hook objects,
-       compiled from segments of mf-hooks.c.
-       * mf-hooks.c: Corresponding changes: wrap each function in
-       #ifdef/#endif.
-       * Makefile.in: Regenerated.
-
-       Heuristics reorganization:
-       * mf-heuristics.c (__mf_register_ro_sections, __mf_init_heuristics):
-       Remove these functions.  Update callers.
-       (__mf_heuristic_check): Incorporate all the various heuristics.
-       Encode cacheability/retry judgement into trinary return value.
-       Separate start-end logic into a separate fallback heuristic.  Only
-       register relevant /proc/self/map segments.
-       * mf-impl.h: Corresponding changes.
-       * mf-runtime.c (__mf_check): Reorganize heuristics fallback logic.
-       (__mf_init): Don't call __mf_init_heuristics.
-
-       Tracing cleanup:
-       * mf-heuristics.c, mf-runtime.c: Use new MUDFLAP_OPTION
-       "-verbose-trace" to emit all tracing messages other than those of
-       basic public api.  Eliminate some duplicate/excessive messages.
-       * mf-runtime.h: Corresponding changes.
-
-2002-08-27  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-impl.h (WRAPPER): Change to create linker aliases for __wrap
-       and __real when compiled with -DPIC.
-       * mf-hooks.c (WRAPPER): Change all uses of WRAPPER macro slightly.
-       * Makefile.am (AUTOMAKE_OPTIONS): Fix LD_LIBRARY_PATH for tests.
-       * Makefile.in: Regenerate.
-
-2002-08-26  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-impl.h: New file, private implementation header.
-       * mf-runtime.h: Reorganize a bit.
-       (CLAMPSZ): Fix arithmetic.
-       (__MF_CACHE_MISS_P): Fix arithmetic.
-       * mf-runtime.c: Reorganize a bit.
-       (__mf_dynamic): New structure.
-       (resolve_single_dynamic): New function.
-       (__mf_resolve_dynamics): New function.
-       (__mf_init): Initialize dynamic wrappers.
-       * mf-hooks.c: Macro-ize __real calls.
-       Clamp various bits of arithmetic.
-       Add explicit __mf_check call contexts.
-       * Makefile.am: Add dependencies on mf-impl.h
-       * Makefile.in: Regenerate.
-       * configure.in: Comment out shared override.
-       * configure: Regenerate.
-
-2002-08-22  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-runtime.c (__mf_process_opts): Sanity-check free_queue_length.
-       (__mf_check): Re-inialize and check heuristics before violation.
-       (__mf_register): Permit updating pure-guess regions.
-       * mf-hooks.c (__wrap_free): Correct some free queue logic.
-       (__wrap_dlopen): New wrapper function.
-       (__wrap_mmap): New wrapper function.
-       (__wrap_munmap): New wrapper function.
-       * mf-heuristics.c (__mf_register_ro_sections): Register *all* regions
-       which are not stack addresses.
-       (is_stack_address): New function.
-       (__mf_init_heuristics): Save and restore state, always initialize with
-       "starting" state.
-
-2002-08-21  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c (MF_VALIDATE_EXTENT): Rewrite to correct off-by-one
-       error.  Pass location string.
-       (wrap_strcpy, wrap_strncpy): Remove extra %s in trace strings.
-       * mf-runtime.c (options): Add lc-mask, lc-shift options.
-       (__mf_process_opts): Apply some sanity checking for lc-mask.
-       (__mf_check, __mf_violation): Take new location-string argument.
-       Update callers to pass NULL if necessary.
-       (__mf_backtrace): New smart backtracer function.  Calls replace
-       several ad-hoc blocks elsewhere.
-       (__mf_describe_object): Remove bad reentrancy test.  Improve
-       tracing message.
-       * mf-runtime.h: Corresponding changes.  Public/private markup.
-       (__MF_CACHE_MISS_P): New macro.
-
-2002-08-20  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-runtime.h: New option: stack_bound (heuristic).
-       Move some macros out of implementation files.
-       * mf-runtime.c: New option string: -stack-bound.
-       Unify recursion protection with hooks.
-       Add more logging.
-       (__mf_check): Call __mf_heuristic_check.
-       (__mf_process_opts): Fix "no-" processing.
-       * mf-heuristics.c (__mf_heuristic_check): New function.
-       * mf-hooks.c: Much off-by-one fixing, recursion protection.
-
-2002-08-20  Frank Ch. Eigler  <fche@redhat.com>
-
-       Option parsing improvements, region splitting bug fixes:
-       * mf-heuristics.c (__mf_register_ro_sections): Add warned casts.
-       * mf-runtime.h (heur_proc_map): New libmudflap option.
-       * mf-runtime.c (__mf_set_default_options): Set it.
-       (__mf_usage): Print default values/status.
-       (__mf_process_opts): Support general "no-" option string prefix.
-       (__mf_init): Print __mf_usage on unknown-option error.
-       (__mf_register): Print trace message up front.
-       Correct region splitting logic for case where a subregion disappears.
-       Correct memory leak.
-       (__mf_violation): Make even basic message conditional on option.
-
-       Build cleanup:
-       * Makefile.am (TESTS_ENVIRONMENT): Add -no-heur-proc-map.
-       (clean-local): New target.
-       (test/*x rules): Add -g CFLAGS.
-       (CFLAGS): Add -freorder-blocks.
-       (MFCONFIG_CFLAGS, INCLUDE): Remove unneeded settings.
-       * Makefile.in: Regenerated.
-       * Makefile, mf-config.h: Removed files.
-
-2002-08-16  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-runtime.c (__mf_insert_new_object): Factor out of
-       __mf_register.
-       (__mf_remove_old_object): Factor out of __mf_unregister.
-       (__mf_register): Handle guessed regions, splitting
-       guesses when new registrations arrive.
-       (__mf_unregister): Do not unregister guesses.
-       * mf-runtime.h: Move convenience macros around,
-       declare new option fields. Add __MF_TYPE_GUESS.
-       * mf-hooks.c (__wrap_*alloc): Use crumple zones.
-       (__wrap_free): Call __real_free for deferred frees.
-       * Makefile.am: Add more tests, fix dependency.
-       * Makefile.in: Regenerate.
-       * test/pass[13..17]-frag.c: New testcases.
-       * test/fail[13..17]-frag.c: New testcases.
-
-2002-08-15  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-heuristics.c: New file.
-       * mf-runtime.c (options): Add -trace-calls option.
-       (__mf_init): Call __mf_init_heuristics.
-
-2002-08-14  Graydon Hoare  <graydon@redhat.com>
-
-       * Makefile.am (TESTS): Add testsuite support.
-       * Makefile.in: Regenerate.
-       * test/mf-driver.c: New file.
-       * test/buildtest.sh: New file.
-       * test/passNN-frag.c: New testcases.
-       * test/failNN-frag.c: New testcases.
-
-2002-08-14  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-hooks.c: Change __real_strlen() to __real_strlen()+1 when
-       verifying non-size-limited string extents.
-
-2002-08-14  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c: Make __wrap string* functions use __real_str[n]len
-       instead of plain str[n]len for internal checks.
-       * mf-runtime.c (__mf_violation): Print optional stack traceback.
-
-2002-08-14  Frank Ch. Eigler  <fche@redhat.com>
-
-       * mf-hooks.c: Remove #if-0 around hooks that are now ld-wrapped.
-
-2002-08-13  Graydon Hoare  <graydon@redhat.com>
-
-       * mf-runtime.c: Rework configuration to operate on
-       environment variable options rather than #defines
-       (__mf_violation): Add simple fork-a-gdb violaiton mode.
-       (__mf_init): Set static __mf_active_p flag on startup,
-       to inhibit mudflap wrap-based checking during crt0.s.
-       * mf-runtime.h: Declare options structure.
-       * mf-hooks.c: New wrappings for mem*, b*, str*
-       libc functions (temporarily #if 0-ed out).
-
-2002-08-12  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile.am, configure.in: New files.
-       * Makefile.in, Makefile, configure, config.h.in: New generated files.
-       * stamp-h.in, aclocal.m4: Ditto.
-
-2002-08-08  Frank Ch. Eigler  <fche@redhat.com>
-
-       * Makefile: New file.
-       * mf-config.h: New file: runtime configuration.
-       * mf-hooks.c: New file: interposed libc functions.
-       * mf-runtime.c: New file: bulk of runtime.
-       * mf-runtime.h: New file: public functions.
diff --git a/libmudflap/Makefile.am b/libmudflap/Makefile.am
deleted file mode 100644 (file)
index 40a70ae..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-## Makefile for the toplevel directory of the mudflap library.
-##
-## Copyright (C) 2002-2013 Free Software Foundation, Inc.
-##
-
-AUTOMAKE_OPTIONS = 1.8 foreign
-ACLOCAL_AMFLAGS = -I .. -I ../config
-MAINT_CHARSET = latin1
-SUBDIRS = testsuite
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-
-SECTION_FLAGS = @SECTION_FLAGS@
-AM_CFLAGS = -Wall $(SECTION_FLAGS)
-
-if LIBMUDFLAPTH
-libmudflapth = libmudflapth.la
-else
-libmudflapth =
-endif
-
-toolexeclib_LTLIBRARIES = libmudflap.la $(libmudflapth)
-target_noncanonical = @target_noncanonical@
-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
-nobase_libsubinclude_HEADERS = mf-runtime.h
-
-
-libmudflap_la_SOURCES = \
-       mf-runtime.c \
-       mf-heuristics.c \
-       mf-hooks1.c \
-       mf-hooks2.c
-libmudflap_la_LIBADD = 
-libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-
-
-libmudflapth_la_SOURCES = \
-       mf-runtime.c \
-       mf-heuristics.c \
-       mf-hooks1.c \
-       mf-hooks2.c \
-       mf-hooks3.c
-libmudflapth_la_CFLAGS = -DLIBMUDFLAPTH
-libmudflapth_la_LIBADD =
-libmudflapth_la_DEPENDENCIES = $(libmudflapth_la_LIBADD)
-libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-
-
-# XXX hack alert
-# From libffi/Makefile.am
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "SHELL=$(SHELL)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "prefix=$(prefix)" \
-       "includedir=$(includedir)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "NM=$(NM)" \
-       "PICFLAG=$(PICFLAG)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-## ################################################################
-
diff --git a/libmudflap/Makefile.in b/libmudflap/Makefile.in
deleted file mode 100644 (file)
index ae342cf..0000000
+++ /dev/null
@@ -1,822 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = .
-DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(top_srcdir)/configure $(am__configure_deps) \
-       $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
-       $(srcdir)/../depcomp $(nobase_libsubinclude_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
-       $(top_srcdir)/../config/depstand.m4 \
-       $(top_srcdir)/../config/enable.m4 \
-       $(top_srcdir)/../config/lead-dot.m4 \
-       $(top_srcdir)/../config/multi.m4 \
-       $(top_srcdir)/../config/override.m4 \
-       $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \
-       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
-       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
-       "$(DESTDIR)$(libsubincludedir)"
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-am_libmudflap_la_OBJECTS = mf-runtime.lo mf-heuristics.lo mf-hooks1.lo \
-       mf-hooks2.lo
-libmudflap_la_OBJECTS = $(am_libmudflap_la_OBJECTS)
-libmudflap_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libmudflap_la_LDFLAGS) $(LDFLAGS) -o $@
-am_libmudflapth_la_OBJECTS = libmudflapth_la-mf-runtime.lo \
-       libmudflapth_la-mf-heuristics.lo libmudflapth_la-mf-hooks1.lo \
-       libmudflapth_la-mf-hooks2.lo libmudflapth_la-mf-hooks3.lo
-libmudflapth_la_OBJECTS = $(am_libmudflapth_la_OBJECTS)
-libmudflapth_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmudflapth_la_CFLAGS) \
-       $(CFLAGS) $(libmudflapth_la_LDFLAGS) $(LDFLAGS) -o $@
-@LIBMUDFLAPTH_TRUE@am_libmudflapth_la_rpath = -rpath $(toolexeclibdir)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/../depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libmudflap_la_SOURCES) $(libmudflapth_la_SOURCES)
-MULTISRCTOP = 
-MULTIBUILDTOP = 
-MULTIDIRS = 
-MULTISUBDIR = 
-MULTIDO = true
-MULTICLEAN = true
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-HEADERS = $(nobase_libsubinclude_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MF_HAVE_STDINT_H = @MF_HAVE_STDINT_H@
-MF_HAVE_UINTPTR_T = @MF_HAVE_UINTPTR_T@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_libmudflapth = @build_libmudflapth@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_noncanonical = @target_noncanonical@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.8 foreign
-ACLOCAL_AMFLAGS = -I .. -I ../config
-MAINT_CHARSET = latin1
-SUBDIRS = testsuite
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-AM_CFLAGS = -Wall $(SECTION_FLAGS)
-@LIBMUDFLAPTH_FALSE@libmudflapth = 
-@LIBMUDFLAPTH_TRUE@libmudflapth = libmudflapth.la
-toolexeclib_LTLIBRARIES = libmudflap.la $(libmudflapth)
-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
-nobase_libsubinclude_HEADERS = mf-runtime.h
-libmudflap_la_SOURCES = \
-       mf-runtime.c \
-       mf-heuristics.c \
-       mf-hooks1.c \
-       mf-hooks2.c
-
-libmudflap_la_LIBADD = 
-libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-libmudflapth_la_SOURCES = \
-       mf-runtime.c \
-       mf-heuristics.c \
-       mf-hooks1.c \
-       mf-hooks2.c \
-       mf-hooks3.c
-
-libmudflapth_la_CFLAGS = -DLIBMUDFLAPTH
-libmudflapth_la_LIBADD = 
-libmudflapth_la_DEPENDENCIES = $(libmudflapth_la_LIBADD)
-libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-
-# XXX hack alert
-# From libffi/Makefile.am
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "SHELL=$(SHELL)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "prefix=$(prefix)" \
-       "includedir=$(includedir)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "NM=$(NM)" \
-       "PICFLAG=$(PICFLAG)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-all: config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
-       @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
-       }
-
-uninstall-toolexeclibLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
-       done
-
-clean-toolexeclibLTLIBRARIES:
-       -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
-       @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libmudflap.la: $(libmudflap_la_OBJECTS) $(libmudflap_la_DEPENDENCIES) 
-       $(libmudflap_la_LINK) -rpath $(toolexeclibdir) $(libmudflap_la_OBJECTS) $(libmudflap_la_LIBADD) $(LIBS)
-libmudflapth.la: $(libmudflapth_la_OBJECTS) $(libmudflapth_la_DEPENDENCIES) 
-       $(libmudflapth_la_LINK) $(am_libmudflapth_la_rpath) $(libmudflapth_la_OBJECTS) $(libmudflapth_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmudflapth_la-mf-heuristics.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmudflapth_la-mf-hooks1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmudflapth_la-mf-hooks2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmudflapth_la-mf-hooks3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmudflapth_la-mf-runtime.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf-heuristics.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf-hooks1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf-hooks2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mf-runtime.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-libmudflapth_la-mf-runtime.lo: mf-runtime.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -MT libmudflapth_la-mf-runtime.lo -MD -MP -MF $(DEPDIR)/libmudflapth_la-mf-runtime.Tpo -c -o libmudflapth_la-mf-runtime.lo `test -f 'mf-runtime.c' || echo '$(srcdir)/'`mf-runtime.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libmudflapth_la-mf-runtime.Tpo $(DEPDIR)/libmudflapth_la-mf-runtime.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mf-runtime.c' object='libmudflapth_la-mf-runtime.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -c -o libmudflapth_la-mf-runtime.lo `test -f 'mf-runtime.c' || echo '$(srcdir)/'`mf-runtime.c
-
-libmudflapth_la-mf-heuristics.lo: mf-heuristics.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -MT libmudflapth_la-mf-heuristics.lo -MD -MP -MF $(DEPDIR)/libmudflapth_la-mf-heuristics.Tpo -c -o libmudflapth_la-mf-heuristics.lo `test -f 'mf-heuristics.c' || echo '$(srcdir)/'`mf-heuristics.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libmudflapth_la-mf-heuristics.Tpo $(DEPDIR)/libmudflapth_la-mf-heuristics.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mf-heuristics.c' object='libmudflapth_la-mf-heuristics.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -c -o libmudflapth_la-mf-heuristics.lo `test -f 'mf-heuristics.c' || echo '$(srcdir)/'`mf-heuristics.c
-
-libmudflapth_la-mf-hooks1.lo: mf-hooks1.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -MT libmudflapth_la-mf-hooks1.lo -MD -MP -MF $(DEPDIR)/libmudflapth_la-mf-hooks1.Tpo -c -o libmudflapth_la-mf-hooks1.lo `test -f 'mf-hooks1.c' || echo '$(srcdir)/'`mf-hooks1.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libmudflapth_la-mf-hooks1.Tpo $(DEPDIR)/libmudflapth_la-mf-hooks1.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mf-hooks1.c' object='libmudflapth_la-mf-hooks1.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -c -o libmudflapth_la-mf-hooks1.lo `test -f 'mf-hooks1.c' || echo '$(srcdir)/'`mf-hooks1.c
-
-libmudflapth_la-mf-hooks2.lo: mf-hooks2.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -MT libmudflapth_la-mf-hooks2.lo -MD -MP -MF $(DEPDIR)/libmudflapth_la-mf-hooks2.Tpo -c -o libmudflapth_la-mf-hooks2.lo `test -f 'mf-hooks2.c' || echo '$(srcdir)/'`mf-hooks2.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libmudflapth_la-mf-hooks2.Tpo $(DEPDIR)/libmudflapth_la-mf-hooks2.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mf-hooks2.c' object='libmudflapth_la-mf-hooks2.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -c -o libmudflapth_la-mf-hooks2.lo `test -f 'mf-hooks2.c' || echo '$(srcdir)/'`mf-hooks2.c
-
-libmudflapth_la-mf-hooks3.lo: mf-hooks3.c
-@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -MT libmudflapth_la-mf-hooks3.lo -MD -MP -MF $(DEPDIR)/libmudflapth_la-mf-hooks3.Tpo -c -o libmudflapth_la-mf-hooks3.lo `test -f 'mf-hooks3.c' || echo '$(srcdir)/'`mf-hooks3.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/libmudflapth_la-mf-hooks3.Tpo $(DEPDIR)/libmudflapth_la-mf-hooks3.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mf-hooks3.c' object='libmudflapth_la-mf-hooks3.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmudflapth_la_CFLAGS) $(CFLAGS) -c -o libmudflapth_la-mf-hooks3.lo `test -f 'mf-hooks3.c' || echo '$(srcdir)/'`mf-hooks3.c
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds.  Hence the
-# comments below.
-all-multi:
-       $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
-install-multi:
-       $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-
-mostlyclean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
-distclean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
-       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-install-nobase_libsubincludeHEADERS: $(nobase_libsubinclude_HEADERS)
-       @$(NORMAL_INSTALL)
-       test -z "$(libsubincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libsubincludedir)"
-       @list='$(nobase_libsubinclude_HEADERS)'; test -n "$(libsubincludedir)" || list=; \
-       $(am__nobase_list) | while read dir files; do \
-         xfiles=; for file in $$files; do \
-           if test -f "$$file"; then xfiles="$$xfiles $$file"; \
-           else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
-         test -z "$$xfiles" || { \
-           test "x$$dir" = x. || { \
-             echo "$(MKDIR_P) '$(DESTDIR)$(libsubincludedir)/$$dir'"; \
-             $(MKDIR_P) "$(DESTDIR)$(libsubincludedir)/$$dir"; }; \
-           echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(libsubincludedir)/$$dir'"; \
-           $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(libsubincludedir)/$$dir" || exit $$?; }; \
-       done
-
-uninstall-nobase_libsubincludeHEADERS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(nobase_libsubinclude_HEADERS)'; test -n "$(libsubincludedir)" || list=; \
-       $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(libsubincludedir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(libsubincludedir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) all-multi $(HEADERS) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(libsubincludedir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-multi clean-recursive
-
-clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \
-       mostlyclean-am
-
-distclean: distclean-multi distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-nobase_libsubincludeHEADERS
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-multi install-toolexeclibLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-multi mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-nobase_libsubincludeHEADERS \
-       uninstall-toolexeclibLTLIBRARIES
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
-       clean-multi ctags-recursive distclean-multi install-am \
-       install-multi install-strip maintainer-clean-multi \
-       mostlyclean-multi tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am all-multi am--refresh check check-am clean \
-       clean-generic clean-libtool clean-multi \
-       clean-toolexeclibLTLIBRARIES ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-hdr \
-       distclean-libtool distclean-multi distclean-tags dvi dvi-am \
-       html html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-multi \
-       install-nobase_libsubincludeHEADERS install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip \
-       install-toolexeclibLTLIBRARIES installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic maintainer-clean-multi mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-nobase_libsubincludeHEADERS \
-       uninstall-toolexeclibLTLIBRARIES
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libmudflap/acinclude.m4 b/libmudflap/acinclude.m4
deleted file mode 100644 (file)
index 38e0808..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-dnl ----------------------------------------------------------------------
-dnl This whole bit snagged from libgfortran.
-
-sinclude(../libtool.m4)
-dnl The lines below arrange for aclocal not to bring an installed
-dnl libtool.m4 into aclocal.m4, while still arranging for automake to
-dnl add a definition of LIBTOOL to Makefile.in.
-ifelse(,,,[AC_SUBST(LIBTOOL)
-AC_DEFUN([AM_PROG_LIBTOOL])
-AC_DEFUN([AC_LIBTOOL_DLOPEN])
-AC_DEFUN([AC_PROG_LD])
-])
diff --git a/libmudflap/aclocal.m4 b/libmudflap/aclocal.m4
deleted file mode 100644 (file)
index b62d573..0000000
+++ /dev/null
@@ -1,982 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
-[m4_warning([this file was generated for autoconf 2.64.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
-       [enable], [m4_define([am_maintainer_other], [disable])],
-       [disable], [m4_define([am_maintainer_other], [enable])],
-       [m4_define([am_maintainer_other], [enable])
-        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
-  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
-  AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([../config/acx.m4])
-m4_include([../config/depstand.m4])
-m4_include([../config/enable.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/multi.m4])
-m4_include([../config/override.m4])
-m4_include([../config/tls.m4])
-m4_include([../ltoptions.m4])
-m4_include([../ltsugar.m4])
-m4_include([../ltversion.m4])
-m4_include([../lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/libmudflap/config.h.in b/libmudflap/config.h.in
deleted file mode 100644 (file)
index ffdd672..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to the name of the symbol used for the entry point. */
-#undef ENTRY_POINT
-
-/* Define to 1 if you have the `addmntent' function. */
-#undef HAVE_ADDMNTENT
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the `backtrace' function. */
-#undef HAVE_BACKTRACE
-
-/* Define to 1 if you have the `backtrace_symbols' function. */
-#undef HAVE_BACKTRACE_SYMBOLS
-
-/* Define to 1 if the target assembler supports thread-local storage. */
-#undef HAVE_CC_TLS
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#undef HAVE_CTYPE_H
-
-/* Define to 1 if you have the `cuserid' function. */
-#undef HAVE_CUSERID
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `dlvsym' function. */
-#undef HAVE_DLVSYM
-
-/* Define to 1 if you have the <execinfo.h> header file. */
-#undef HAVE_EXECINFO_H
-
-/* Define to 1 if you have the `fopen64' function. */
-#undef HAVE_FOPEN64
-
-/* Define to 1 if you have the `freopen64' function. */
-#undef HAVE_FREOPEN64
-
-/* Define to 1 if you have the `fseeko64' function. */
-#undef HAVE_FSEEKO64
-
-/* Define to 1 if you have the `ftello64' function. */
-#undef HAVE_FTELLO64
-
-/* Define to 1 if you have the `gai_strerror' function. */
-#undef HAVE_GAI_STRERROR
-
-/* Define to 1 if you have the `getaddrinfo' function. */
-#undef HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `getgrent' function. */
-#undef HAVE_GETGRENT
-
-/* Define to 1 if you have the `getgrgid' function. */
-#undef HAVE_GETGRGID
-
-/* Define to 1 if you have the `getgrgid_r' function. */
-#undef HAVE_GETGRGID_R
-
-/* Define to 1 if you have the `getgrnam' function. */
-#undef HAVE_GETGRNAM
-
-/* Define to 1 if you have the `getgrnam_r' function. */
-#undef HAVE_GETGRNAM_R
-
-/* Define to 1 if you have the `getlogin' function. */
-#undef HAVE_GETLOGIN
-
-/* Define to 1 if you have the `getlogin_r' function. */
-#undef HAVE_GETLOGIN_R
-
-/* Define to 1 if you have the `getmntent' function. */
-#undef HAVE_GETMNTENT
-
-/* Define to 1 if you have the `getprotobyname' function. */
-#undef HAVE_GETPROTOBYNAME
-
-/* Define to 1 if you have the `getprotobynumber' function. */
-#undef HAVE_GETPROTOBYNUMBER
-
-/* Define to 1 if you have the `getprotoent' function. */
-#undef HAVE_GETPROTOENT
-
-/* Define to 1 if you have the `getpwent' function. */
-#undef HAVE_GETPWENT
-
-/* Define to 1 if you have the `getpwnam' function. */
-#undef HAVE_GETPWNAM
-
-/* Define to 1 if you have the `getpwnam_r' function. */
-#undef HAVE_GETPWNAM_R
-
-/* Define to 1 if you have the `getpwuid' function. */
-#undef HAVE_GETPWUID
-
-/* Define to 1 if you have the `getpwuid_r' function. */
-#undef HAVE_GETPWUID_R
-
-/* Define to 1 if you have the `getservbyname' function. */
-#undef HAVE_GETSERVBYNAME
-
-/* Define to 1 if you have the `getservbyport' function. */
-#undef HAVE_GETSERVBYPORT
-
-/* Define to 1 if you have the `getservent' function. */
-#undef HAVE_GETSERVENT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define to 1 if you have the <grp.h> header file. */
-#undef HAVE_GRP_H
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#undef HAVE_INET_NTOA
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `dl' library (-ldl). */
-#undef HAVE_LIBDL
-
-/* Define to 1 if you have the `rt' library (-lrt). */
-#undef HAVE_LIBRT
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `memmem' function. */
-#undef HAVE_MEMMEM
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mempcpy' function. */
-#undef HAVE_MEMPCPY
-
-/* Define to 1 if you have the `memrchr' function. */
-#undef HAVE_MEMRCHR
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `mmap64' function. */
-#undef HAVE_MMAP64
-
-/* Define to 1 if you have the <mntent.h> header file. */
-#undef HAVE_MNTENT_H
-
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <pthread.h> header file. */
-#undef HAVE_PTHREAD_H
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define to 1 if you have the `rawmemchr' function. */
-#undef HAVE_RAWMEMCHR
-
-/* Define to 1 if you have the `setbuf' function. */
-#undef HAVE_SETBUF
-
-/* Define to 1 if you have the `setbuffer' function. */
-#undef HAVE_SETBUFFER
-
-/* Define to 1 if you have the `sethostname' function. */
-#undef HAVE_SETHOSTNAME
-
-/* Define to 1 if you have the `setlinebuf' function. */
-#undef HAVE_SETLINEBUF
-
-/* Define to 1 if you have the `setmntent' function. */
-#undef HAVE_SETMNTENT
-
-/* Define to 1 if you have the `setvbuf' function. */
-#undef HAVE_SETVBUF
-
-/* Define to 1 if you have the `signal' function. */
-#undef HAVE_SIGNAL
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define it socklen_t typedef is in sys/socket.h. */
-#undef HAVE_SOCKLEN_T
-
-/* Define to 1 if you have the `stat64' function. */
-#undef HAVE_STAT64
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `stpcpy' function. */
-#undef HAVE_STPCPY
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strncpy' function. */
-#undef HAVE_STRNCPY
-
-/* Define to 1 if you have the `strnlen' function. */
-#undef HAVE_STRNLEN
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#undef HAVE_SYS_IPC_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/mnttab.h> header file. */
-#undef HAVE_SYS_MNTTAB_H
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#undef HAVE_SYS_SEM_H
-
-/* Define to 1 if you have the <sys/shm.h> header file. */
-#undef HAVE_SYS_SHM_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if the target supports thread-local storage. */
-#undef HAVE_TLS
-
-/* union semun defined in sys/ipc.h or sys/sem.h */
-#undef HAVE_UNION_SEMUN
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `__ctype_b_loc' function. */
-#undef HAVE___CTYPE_B_LOC
-
-/* Define to 1 if you have the `__ctype_tolower_loc' function. */
-#undef HAVE___CTYPE_TOLOWER_LOC
-
-/* Define to 1 if you have the `__ctype_toupper_loc' function. */
-#undef HAVE___CTYPE_TOUPPER_LOC
-
-/* Define to 1 if you have the `__libc_freeres' function. */
-#undef HAVE___LIBC_FREERES
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* pthread_create symbol version */
-#undef PTHREAD_CREATE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if the target use emutls for thread-local storage. */
-#undef USE_EMUTLS
-
-/* Version number of package */
-#undef VERSION
diff --git a/libmudflap/configure b/libmudflap/configure
deleted file mode 100755 (executable)
index 1e91dbb..0000000
+++ /dev/null
@@ -1,14050 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for libmudflap 1.0.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libmudflap'
-PACKAGE_TARNAME='libmudflap'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='libmudflap 1.0'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="mf-runtime.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-SECTION_FLAGS
-toolexeclibdir
-toolexecdir
-build_libmudflapth
-LIBMUDFLAPTH_FALSE
-LIBMUDFLAPTH_TRUE
-MF_HAVE_UINTPTR_T
-MF_HAVE_STDINT_H
-enable_static
-enable_shared
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-RANLIB
-AR
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-SED
-LIBTOOL
-EGREP
-GREP
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-multi_basedir
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_noncanonical
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_version_specific_runtime_libs
-enable_maintainer_mode
-enable_multilib
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-enable_libtool_lock
-enable_tls
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)   ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libmudflap 1.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libmudflap]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libmudflap 1.0:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-multilib       build many library versions (default)
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-tls            Use thread-local storage [default=yes]
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libmudflap configure 1.0
-generated by GNU Autoconf 2.64
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libmudflap $as_me 1.0, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
- case ${build_alias} in
-  "") build_noncanonical=${build} ;;
-  *) build_noncanonical=${build_alias} ;;
-esac
-
- case ${host_alias} in
-  "") host_noncanonical=${build_noncanonical} ;;
-  *) host_noncanonical=${host_alias} ;;
-esac
-
- case ${target_alias} in
-  "") target_noncanonical=${host_noncanonical} ;;
-  *) target_noncanonical=${target_alias} ;;
-esac
-
-
-
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libmudflap'
- VERSION='1.0'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-version-specific-runtime-libs" >&5
-$as_echo_n "checking for --enable-version-specific-runtime-libs... " >&6; }
-# Check whether --enable-version-specific-runtime-libs was given.
-if test "${enable_version_specific_runtime_libs+set}" = set; then :
-  enableval=$enable_version_specific_runtime_libs; case "$enableval" in
- yes) version_specific_libs=yes ;;
- no)  version_specific_libs=no ;;
- *)   as_fn_error "Unknown argument to enable/disable version-specific libs" "$LINENO" 5;;
- esac
-else
-  version_specific_libs=no
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5
-$as_echo "$version_specific_libs" >&6; }
-
-
-{ $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
-
-
-
-
-# Default to --enable-multilib
-# Check whether --enable-multilib was given.
-if test "${enable_multilib+set}" = set; then :
-  enableval=$enable_multilib; case "$enableval" in
-  yes) multilib=yes ;;
-  no)  multilib=no ;;
-  *)   as_fn_error "bad value $enableval for multilib option" "$LINENO" 5 ;;
- esac
-else
-  multilib=yes
-fi
-
-
-# We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
-# See config-ml.in if you want the gory details.
-
-if test "$srcdir" = "."; then
-  if test "$with_target_subdir" != "."; then
-    multi_basedir="$srcdir/$with_multisrctop../.."
-  else
-    multi_basedir="$srcdir/$with_multisrctop.."
-  fi
-else
-  multi_basedir="$srcdir/.."
-fi
-
-
-# Even if the default multilib is not a cross compilation,
-# it may be that some of the other multilibs are.
-if test $cross_compiling = no && test $multilib = yes \
-   && test "x${with_multisubdir}" != x ; then
-   cross_compiling=maybe
-fi
-
-ac_config_commands="$ac_config_commands default-1"
-
-
-target_alias=${target_alias-$host_alias}
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-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
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
-fi
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-
-
-
-if test "x$GCC" != "xyes"; then
-  as_fn_error "libmudflap must be built with GCC" "$LINENO" 5
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Some hosts don't have dlsym(RTLD_NEXT, "symbol") for use in
-# symbol interposition.  We disable shared libraries for these.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dlsym(RTLD_NEXT,...) is available" >&5
-$as_echo_n "checking whether dlsym(RTLD_NEXT,...) is available... " >&6; }
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#define _GNU_SOURCE
-#include <dlfcn.h>
-
-int
-main ()
-{
-void *foo = dlsym (RTLD_NEXT, "exit");
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-enable_shared=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in stdint.h execinfo.h signal.h dlfcn.h dirent.h pwd.h grp.h \
-  netdb.h sys/ipc.h sys/sem.h sys/shm.h sys/wait.h ctype.h mntent.h \
-  sys/mnttab.h sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in backtrace backtrace_symbols gettimeofday signal
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in fopen64 fseeko64 ftello64 stat64 freopen64
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in setbuf setbuffer setlinebuf setvbuf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in strnlen memrchr strncpy memmem sethostname
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in __ctype_b_loc __ctype_tolower_loc __ctype_toupper_loc
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in getlogin cuserid getpwnam getpwuid getpwent getgrnam getgrgid getgrent
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in getlogin_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in getservent getservbyname getservbyport getaddrinfo gai_strerror
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in getprotoent getprotobyname getprotobynumber
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in getmntent setmntent addmntent
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in inet_ntoa mmap munmap
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in mmap64
-do :
-  ac_fn_c_check_func "$LINENO" "mmap64" "ac_cv_func_mmap64"
-if test "x$ac_cv_func_mmap64" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP64 1
-_ACEOF
-
-fi
-done
-
-for ac_func in __libc_freeres
-do :
-  ac_fn_c_check_func "$LINENO" "__libc_freeres" "ac_cv_func___libc_freeres"
-if test "x$ac_cv_func___libc_freeres" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE___LIBC_FREERES 1
-_ACEOF
-
-fi
-done
-
-for ac_func in rawmemchr stpcpy mempcpy
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-int
-main ()
-{
-union semun foo;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mf_have_semun=1
-else
-  mf_have_semun=0
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $mf_have_semun = 1
-then
-
-$as_echo "#define HAVE_UNION_SEMUN 1" >>confdefs.h
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t in sys/socket.h" >&5
-$as_echo_n "checking for socklen_t in sys/socket.h... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _POSIX_PII_SOCKET
-#include <sys/types.h>
-#include <sys/socket.h>
-int
-main ()
-{
-socklen_t x = 5;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-$as_echo "#define HAVE_SOCKLEN_T 1" >>confdefs.h
-
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-enable_dlopen=yes
-
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.7a'
-macro_revision='1.3134'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           case `/usr/bin/file conftest.o` in
-             *x86-64*)
-               LD="${LD-ld} -m elf32_x86_64"
-               ;;
-             *)
-               LD="${LD-ld} -m elf_i386"
-               ;;
-           esac
-           ;;
-         powerpc64le-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo(void) {}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 10624 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 10730 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = x""yes; then :
-  MF_HAVE_STDINT_H=1
-else
-  MF_HAVE_STDINT_H=0
-fi
-
-
-
-if test $MF_HAVE_STDINT_H = 1
-then
-   MF_HAVE_UINTPTR_T=1
-else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-int
-main ()
-{
-uintptr_t k = 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  MF_HAVE_UINTPTR_T=1
-else
-  MF_HAVE_UINTPTR_T=0
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-for ac_header in pthread.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
-if test "x$ac_cv_header_pthread_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREAD_H 1
-_ACEOF
-
-fi
-
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread model used by GCC" >&5
-$as_echo_n "checking for thread model used by GCC... " >&6; }
-target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $target_thread_file" >&5
-$as_echo "$target_thread_file" >&6; }
-
-# We only support posix threads, or no threads at all.
-posix_threads=
-case ${target_thread_file} in
-  posix)
-    posix_threads=yes
-    ;;
-  single)
-    ;;
-  *)
-    echo "${target_thread_file} is an unsupported thread package" 1>&2
-    exit 1
-    ;;
-esac
-
- if test "x$posix_threads" != "x"; then
-  LIBMUDFLAPTH_TRUE=
-  LIBMUDFLAPTH_FALSE='#'
-else
-  LIBMUDFLAPTH_TRUE='#'
-  LIBMUDFLAPTH_FALSE=
-fi
-
-if test "x$posix_threads" != "x"
-then
-        build_libmudflapth=1
-else
-        build_libmudflapth=0
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
-$as_echo_n "checking for dlsym in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlsym+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlsym ();
-int
-main ()
-{
-return dlsym ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlsym=yes
-else
-  ac_cv_lib_dl_dlsym=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
-$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
-if test "x$ac_cv_lib_dl_dlsym" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
-  LIBS="-ldl $LIBS"
-
-fi
-
-
-ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_connect=yes
-else
-  ac_cv_lib_socket_connect=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
-  LIBS="-lsocket $LIBS"
-
-fi
-
-fi
-
-ac_fn_c_check_func "$LINENO" "sched_yield" "ac_cv_func_sched_yield"
-if test "x$ac_cv_func_sched_yield" = x""yes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
-$as_echo_n "checking for sched_yield in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_sched_yield+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
-int
-main ()
-{
-return sched_yield ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_sched_yield=yes
-else
-  ac_cv_lib_rt_sched_yield=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
-$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
-if test "x$ac_cv_lib_rt_sched_yield" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRT 1
-_ACEOF
-
-  LIBS="-lrt $LIBS"
-
-fi
-
-fi
-
-
-# Calculate toolexeclibdir
-# Also toolexecdir, though it's only used in toolexeclibdir
-case ${version_specific_libs} in
-  yes)
-    # Need the gcc compiler version to know where to install libraries
-    # and header files if --enable-version-specific-runtime-libs option
-    # is selected.
-    toolexecdir='$(libdir)/gcc/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
-    ;;
-  no)
-    if test -n "$with_cross_host" &&
-       test x"$with_cross_host" != x"no"; then
-      # Install a library built with a cross compiler in tooldir, not libdir.
-      toolexecdir='$(exec_prefix)/$(target_alias)'
-      toolexeclibdir='$(toolexecdir)/lib'
-    else
-      toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-      toolexeclibdir='$(libdir)'
-    fi
-    multi_os_directory=`$CC -print-multi-os-directory`
-    case $multi_os_directory in
-      .) ;; # Avoid trailing /.
-      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-    esac
-    ;;
-esac
-
-
-
-includedir=${toolexecdir}/include
-
-
-pthread_create_version='""'
-if test "x$enable_shared" = "xyes" && test "x$posix_threads" != "x"; then
-  # NB: don't check for -lpthread here, because then it would be
-  # added to LIBS.  For the thread-unaware libmudflap.la, we don't
-  # want it there.
-
-  # glibc-related hacks.  dlsym() may pick the wrong version of
-  # interposed functions like pthread_create on modern glibc.
-  # We need to find the proper symbol version string, and use
-  # the nonstandard dlvsym().
-  for ac_func in dlvsym
-do :
-  ac_fn_c_check_func "$LINENO" "dlvsym" "ac_cv_func_dlvsym"
-if test "x$ac_cv_func_dlvsym" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLVSYM 1
-_ACEOF
-
-fi
-done
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nm; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  ac_cv_prog_NM="$NM" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NM="${ac_tool_prefix}nm"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NM=$ac_cv_prog_NM
-if test -n "$NM"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
-$as_echo "$NM" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NM"; then
-  ac_ct_NM=$NM
-  # Extract the first word of "nm", so it can be a program name with args.
-set dummy nm; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NM+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NM"; then
-  ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NM="nm"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NM=$ac_cv_prog_ac_ct_NM
-if test -n "$ac_ct_NM"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5
-$as_echo "$ac_ct_NM" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NM" = x; then
-    NM=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NM=$ac_ct_NM
-  fi
-else
-  NM="$ac_cv_prog_NM"
-fi
-
-  if test "x$ac_cv_have_dlvsym" != "x"; then
-    # Try compiling a simple pthreads program.  Find the shared libraries it
-    # ends up with.  Then use "nm" on those libraries to extract the
-    # default symbol versioning suffix ("@@"), if any.  But that's tricky.
-    # Rather, run nm on the resulting executable.  Unfortunately, autoconf
-    # doesn't appear to have a macro that builds a test executable for
-    # subsequent analysis ... so we do it by hand here.
-    cat >> conftest.c << EOF
-#include <pthread.h>
-int main () { void *p = (void *) & pthread_create; return (int) p; }
-EOF
-    oldLIBS="$LIBS"
-    LIBS="$LIBS -lpthread"
-    pthread_create_version="\"\""
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking pthread_create symbol version" >&5
-$as_echo_n "checking pthread_create symbol version... " >&6; }
-    if eval $ac_link 2>&5 && test -s conftest${ac_exeext}; then
-      version=`$NM conftest${ac_exeect} | grep 'pthread_create@@' | sed -e 's/^.*@@//'`
-      if test "x$version" != "x"; then
-        pthread_create_version="\"$version\""
-      fi
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pthread_create_version" >&5
-$as_echo "$pthread_create_version" >&6; }
-    LIBS="$oldLIBS"
-  fi
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define PTHREAD_CREATE_VERSION $pthread_create_version
-_ACEOF
-
-
-
-# Figure out whether the compiler supports "-ffunction-sections -fdata-sections",
-# similarly to how libstdc++ does it
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-
-# Check for -ffunction-sections -fdata-sections
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc that supports -ffunction-sections -fdata-sections" >&5
-$as_echo_n "checking for gcc that supports -ffunction-sections -fdata-sections... " >&6; }
-CFLAGS='-Werror -ffunction-sections -fdata-sections'
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-int foo;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_fdsections=yes
-else
-  ac_fdsections=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
-else
-  # this is the suspicious part
-  CFLAGS=""
-fi
-if test x"$ac_fdsections" = x"yes"; then
-  SECTION_FLAGS='-ffunction-sections -fdata-sections'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
-$as_echo "$ac_fdsections" >&6; }
-
-
-
-# Check for the name of the symbol used for the entry point.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the name of the symbol used for the entry point" >&5
-$as_echo_n "checking for the name of the symbol used for the entry point... " >&6; }
-if test "${mudflap_cv_entry_point+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-for name in _start __start unknown; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-extern char $name[];
-int
-main ()
-{
-$name[0] = 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-done
-mudflap_cv_entry_point="$name"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mudflap_cv_entry_point" >&5
-$as_echo "$mudflap_cv_entry_point" >&6; }
-if test "$mudflap_cv_entry_point" = unknown; then
-  as_fn_error "none of the known symbol names works" "$LINENO" 5
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define ENTRY_POINT $mudflap_cv_entry_point
-_ACEOF
-
-
-
-if test ${multilib} = yes; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-# See if we support thread-local storage.
-
-
-   # Check whether --enable-tls was given.
-if test "${enable_tls+set}" = set; then :
-  enableval=$enable_tls;
-      case "$enableval" in
-       yes|no) ;;
-       *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
-      esac
-
-else
-  enable_tls=yes
-fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
-$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
-if test "${gcc_cv_have_tls+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    if test "$cross_compiling" = yes; then :
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  chktls_save_LDFLAGS="$LDFLAGS"
-                         case $host in
-           *-*-linux*)
-             LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
-             ;;
-         esac
-         chktls_save_CFLAGS="$CFLAGS"
-         CFLAGS="-fPIC $CFLAGS"
-                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int f() { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-__thread int a; int b; int f() { return a = b; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gcc_cv_have_tls=yes
-else
-  gcc_cv_have_tls=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-else
-  gcc_cv_have_tls=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-         CFLAGS="$chktls_save_CFLAGS"
-         LDFLAGS="$chktls_save_LDFLAGS"
-else
-  gcc_cv_have_tls=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-                      chktls_save_LDFLAGS="$LDFLAGS"
-      LDFLAGS="-static $LDFLAGS"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int main() { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if test "$cross_compiling" = yes; then :
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gcc_cv_have_tls=yes
-else
-  gcc_cv_have_tls=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-else
-  gcc_cv_have_tls=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-      LDFLAGS="$chktls_save_LDFLAGS"
-      if test $gcc_cv_have_tls = yes; then
-                                               chktls_save_CFLAGS="$CFLAGS"
-       thread_CFLAGS=failed
-       for flag in '' '-pthread' '-lpthread'; do
-         CFLAGS="$flag $chktls_save_CFLAGS"
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <pthread.h>
-               void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  thread_CFLAGS="$flag"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-         if test "X$thread_CFLAGS" != Xfailed; then
-           break
-         fi
-       done
-       CFLAGS="$chktls_save_CFLAGS"
-       if test "X$thread_CFLAGS" != Xfailed; then
-         CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
-                                                 if test "$cross_compiling" = yes; then :
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <pthread.h>
-               __thread int a;
-               static int *volatile a_in_other_thread;
-               static void *
-               thread_func (void *arg)
-               {
-                 a_in_other_thread = &a;
-                 return (void *)0;
-               }
-int
-main ()
-{
-pthread_t thread;
-               void *thread_retval;
-               int *volatile a_in_main_thread;
-               a_in_main_thread = &a;
-               if (pthread_create (&thread, (pthread_attr_t *)0,
-                                   thread_func, (void *)0))
-                 return 0;
-               if (pthread_join (thread, &thread_retval))
-                 return 0;
-               return (a_in_other_thread == a_in_main_thread);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gcc_cv_have_tls=yes
-else
-  gcc_cv_have_tls=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-         CFLAGS="$chktls_save_CFLAGS"
-       fi
-      fi
-else
-  gcc_cv_have_tls=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
-$as_echo "$gcc_cv_have_tls" >&6; }
-  if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
-
-$as_echo "#define HAVE_TLS 1" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the thread-local storage support is from emutls" >&5
-$as_echo_n "checking whether the thread-local storage support is from emutls... " >&6; }
-if test "${gcc_cv_use_emutls+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_use_emutls=no
-    echo '__thread int a; int b; int main() { return a = b; }' > conftest.c
-    if { ac_try='${CC-cc} -Werror -S -o conftest.s conftest.c 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      if grep __emutls_get_address conftest.s > /dev/null; then
-       gcc_cv_use_emutls=yes
-      fi
-    fi
-    rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_use_emutls" >&5
-$as_echo "$gcc_cv_use_emutls" >&6; }
-  if test "$gcc_cv_use_emutls" = "yes" ; then
-
-$as_echo "#define USE_EMUTLS 1" >>confdefs.h
-
-  fi
-
-ac_config_files="$ac_config_files Makefile testsuite/Makefile testsuite/mfconfig.exp"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBMUDFLAPTH_TRUE}" && test -z "${LIBMUDFLAPTH_FALSE}"; then
-  as_fn_error "conditional \"LIBMUDFLAPTH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libmudflap $as_me 1.0, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_version="\\
-libmudflap config.status 1.0
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-
-srcdir="$srcdir"
-host="$host"
-target="$target"
-with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
-with_target_subdir="$with_target_subdir"
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-multi_basedir="$multi_basedir"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-CC="$CC"
-CXX="$CXX"
-GFORTRAN="$GFORTRAN"
-GCJ="$GCJ"
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-AR \
-AR_FLAGS \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
-lt_prog_compiler_pic \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-fix_srcfile_path \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "testsuite/mfconfig.exp") CONFIG_FILES="$CONFIG_FILES testsuite/mfconfig.exp" ;;
-
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\).*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\).*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[    ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-       || as_fn_error "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "default-1":C)
-# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" Makefile "*)
-   ac_file=Makefile . ${multi_basedir}/config-ml.in
-   ;;
-esac ;;
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
-
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/libmudflap/configure.ac b/libmudflap/configure.ac
deleted file mode 100644 (file)
index 83aba5a..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-# Process this file with autoconf to produce a configure script, like so:
-# aclocal -I .. -I ../config && autoconf && autoheader && automake
-
-AC_PREREQ(2.64)
-AC_INIT(libmudflap, 1.0)
-AC_CONFIG_SRCDIR(mf-runtime.c)
-AC_CANONICAL_SYSTEM
-ACX_NONCANONICAL_TARGET
-
-AM_INIT_AUTOMAKE([no-dist])
-
-AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
-AC_ARG_ENABLE(version-specific-runtime-libs,
-[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
-[case "$enableval" in
- yes) version_specific_libs=yes ;;
- no)  version_specific_libs=no ;;
- *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
- esac],
-[version_specific_libs=no])
-AC_MSG_RESULT($version_specific_libs)
-
-AM_MAINTAINER_MODE
-AC_EXEEXT
-
-AM_ENABLE_MULTILIB(, ..)
-
-target_alias=${target_alias-$host_alias}
-AC_SUBST(target_alias)
-
-AC_CONFIG_HEADERS(config.h)
-
-AC_LANG_C
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-AC_PROG_CC
-m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-if test "x$GCC" != "xyes"; then
-  AC_MSG_ERROR([libmudflap must be built with GCC])
-fi
-AC_PROG_CPP
-
-# Some hosts don't have dlsym(RTLD_NEXT, "symbol") for use in
-# symbol interposition.  We disable shared libraries for these.
-AC_MSG_CHECKING([whether dlsym(RTLD_NEXT,...) is available])
-AC_TRY_COMPILE([
-#define _GNU_SOURCE
-#include <dlfcn.h>
-],
-[void *foo = dlsym (RTLD_NEXT, "exit");],
-[AC_MSG_RESULT(yes)],
-[AC_MSG_RESULT(no)
-enable_shared=no])
-
-AC_CHECK_HEADERS(stdint.h execinfo.h signal.h dlfcn.h dirent.h pwd.h grp.h \
-  netdb.h sys/ipc.h sys/sem.h sys/shm.h sys/wait.h ctype.h mntent.h \
-  sys/mnttab.h sys/socket.h netinet/in.h arpa/inet.h dlfcn.h sys/mman.h)
-
-AC_CHECK_FUNCS(backtrace backtrace_symbols gettimeofday signal)
-AC_CHECK_FUNCS(fopen64 fseeko64 ftello64 stat64 freopen64)
-AC_CHECK_FUNCS(setbuf setbuffer setlinebuf setvbuf)
-AC_CHECK_FUNCS(strnlen memrchr strncpy memmem sethostname)
-AC_CHECK_FUNCS(__ctype_b_loc __ctype_tolower_loc __ctype_toupper_loc)
-AC_CHECK_FUNCS(getlogin cuserid getpwnam getpwuid getpwent getgrnam getgrgid getgrent)
-AC_CHECK_FUNCS(getlogin_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r)
-AC_CHECK_FUNCS(getservent getservbyname getservbyport getaddrinfo gai_strerror)
-AC_CHECK_FUNCS(getprotoent getprotobyname getprotobynumber)
-AC_CHECK_FUNCS(getmntent setmntent addmntent)
-AC_CHECK_FUNCS(inet_ntoa mmap munmap)
-AC_CHECK_FUNCS(mmap64)
-AC_CHECK_FUNCS(__libc_freeres)
-AC_CHECK_FUNCS(rawmemchr stpcpy mempcpy)
-
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>],[union semun foo;], [mf_have_semun=1], [mf_have_semun=0])
-if test $mf_have_semun = 1
-then
-  AC_DEFINE(HAVE_UNION_SEMUN, 1, [union semun defined in sys/ipc.h or sys/sem.h])
-fi
-
-
-AC_MSG_CHECKING([for socklen_t in sys/socket.h])
-AC_TRY_COMPILE([#define _POSIX_PII_SOCKET
-#include <sys/types.h>
-#include <sys/socket.h>], [socklen_t x = 5;],
-  [AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define it socklen_t typedef is in sys/socket.h.])
-   AC_MSG_RESULT(yes)],
-  [AC_MSG_RESULT(no)])
-
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
-AC_SUBST(enable_shared)
-AC_SUBST(enable_static)
-
-AC_CHECK_HEADER(stdint.h, [MF_HAVE_STDINT_H=1], [MF_HAVE_STDINT_H=0])
-AC_SUBST(MF_HAVE_STDINT_H)
-if test $MF_HAVE_STDINT_H = 1
-then
-   MF_HAVE_UINTPTR_T=1
-else
-   AC_TRY_COMPILE([#include <sys/types.h>], [uintptr_t k = 0;],
-       [MF_HAVE_UINTPTR_T=1], [MF_HAVE_UINTPTR_T=0])
-fi
-AC_SUBST(MF_HAVE_UINTPTR_T)
-
-AC_CHECK_HEADERS(pthread.h)
-
-AC_MSG_CHECKING([for thread model used by GCC])
-target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
-AC_MSG_RESULT([$target_thread_file])
-
-# We only support posix threads, or no threads at all.
-posix_threads=
-case ${target_thread_file} in
-  posix)
-    posix_threads=yes
-    ;;
-  single)
-    ;;
-  *)
-    echo "${target_thread_file} is an unsupported thread package" 1>&2
-    exit 1
-    ;;
-esac
-
-AM_CONDITIONAL(LIBMUDFLAPTH, [test "x$posix_threads" != "x"])
-if test "x$posix_threads" != "x"
-then
-        build_libmudflapth=1
-else
-        build_libmudflapth=0
-fi
-AC_SUBST(build_libmudflapth)
-
-AC_CHECK_LIB(dl, dlsym)
-
-AC_CHECK_FUNC(connect,, AC_CHECK_LIB(socket, connect))
-AC_CHECK_FUNC(sched_yield,, AC_CHECK_LIB(rt, sched_yield))
-
-# Calculate toolexeclibdir
-# Also toolexecdir, though it's only used in toolexeclibdir
-case ${version_specific_libs} in
-  yes)
-    # Need the gcc compiler version to know where to install libraries
-    # and header files if --enable-version-specific-runtime-libs option
-    # is selected.
-    toolexecdir='$(libdir)/gcc/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
-    ;;
-  no)
-    if test -n "$with_cross_host" &&
-       test x"$with_cross_host" != x"no"; then
-      # Install a library built with a cross compiler in tooldir, not libdir.
-      toolexecdir='$(exec_prefix)/$(target_alias)'
-      toolexeclibdir='$(toolexecdir)/lib'
-    else
-      toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-      toolexeclibdir='$(libdir)'
-    fi
-    multi_os_directory=`$CC -print-multi-os-directory`
-    case $multi_os_directory in
-      .) ;; # Avoid trailing /.
-      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-    esac
-    ;;
-esac
-AC_SUBST(toolexecdir)
-AC_SUBST(toolexeclibdir)
-
-includedir=${toolexecdir}/include
-AC_SUBST(includedir)
-
-pthread_create_version='""'
-if test "x$enable_shared" = "xyes" && test "x$posix_threads" != "x"; then
-  # NB: don't check for -lpthread here, because then it would be
-  # added to LIBS.  For the thread-unaware libmudflap.la, we don't
-  # want it there.
-
-  # glibc-related hacks.  dlsym() may pick the wrong version of
-  # interposed functions like pthread_create on modern glibc.
-  # We need to find the proper symbol version string, and use
-  # the nonstandard dlvsym().
-  AC_CHECK_FUNCS(dlvsym)
-  AC_CHECK_TOOL(NM, nm)
-  if test "x$ac_cv_have_dlvsym" != "x"; then
-    # Try compiling a simple pthreads program.  Find the shared libraries it
-    # ends up with.  Then use "nm" on those libraries to extract the
-    # default symbol versioning suffix ("@@"), if any.  But that's tricky.
-    # Rather, run nm on the resulting executable.  Unfortunately, autoconf
-    # doesn't appear to have a macro that builds a test executable for
-    # subsequent analysis ... so we do it by hand here.
-    cat >> conftest.c << EOF
-#include <pthread.h>
-int main () { void *p = (void *) & pthread_create; return (int) p; }
-EOF
-    oldLIBS="$LIBS"
-    LIBS="$LIBS -lpthread"
-    pthread_create_version="\"\""
-    AC_MSG_CHECKING(pthread_create symbol version)
-    if eval $ac_link 2>&5 && test -s conftest${ac_exeext}; then
-      version=`$NM conftest${ac_exeect} | grep 'pthread_create@@' | sed -e 's/^.*@@//'`
-      if test "x$version" != "x"; then
-        pthread_create_version="\"$version\""
-      fi
-    fi
-    AC_MSG_RESULT($pthread_create_version)
-    LIBS="$oldLIBS"
-  fi
-fi
-AC_DEFINE_UNQUOTED(PTHREAD_CREATE_VERSION, $pthread_create_version, [pthread_create symbol version])
-
-
-# Figure out whether the compiler supports "-ffunction-sections -fdata-sections",
-# similarly to how libstdc++ does it
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-
-# Check for -ffunction-sections -fdata-sections
-AC_MSG_CHECKING([for gcc that supports -ffunction-sections -fdata-sections])
-CFLAGS='-Werror -ffunction-sections -fdata-sections'
-AC_TRY_COMPILE(, [int foo;], [ac_fdsections=yes], [ac_fdsections=no])
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
-else
-  # this is the suspicious part
-  CFLAGS=""
-fi
-if test x"$ac_fdsections" = x"yes"; then
-  SECTION_FLAGS='-ffunction-sections -fdata-sections'
-fi
-AC_MSG_RESULT($ac_fdsections)
-AC_SUBST(SECTION_FLAGS)
-
-
-# Check for the name of the symbol used for the entry point.
-AC_CACHE_CHECK([for the name of the symbol used for the entry point],
-  [mudflap_cv_entry_point], [
-for name in _start __start unknown; do
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char $name@<:@@:>@;], [$name@<:@0@:>@ = 0;])],
-                [break])
-done
-mudflap_cv_entry_point="$name"])
-if test "$mudflap_cv_entry_point" = unknown; then
-  AC_MSG_ERROR([none of the known symbol names works])
-fi
-AC_DEFINE_UNQUOTED([ENTRY_POINT], [$mudflap_cv_entry_point],
-  [Define to the name of the symbol used for the entry point.])
-
-
-if test ${multilib} = yes; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-# See if we support thread-local storage.
-GCC_CHECK_TLS
-GCC_CHECK_EMUTLS
-
-AC_CONFIG_FILES([Makefile testsuite/Makefile testsuite/mfconfig.exp])
-AC_OUTPUT
diff --git a/libmudflap/libtool-version b/libmudflap/libtool-version
deleted file mode 100644 (file)
index 204fdd2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file is used to maintain libtool version info for libmudflap.  See
-# the libtool manual to understand the meaning of the fields.  This is
-# a separate file so that version updates don't involve re-running
-# automake.
-# CURRENT:REVISION:AGE
-0:0:0
diff --git a/libmudflap/mf-heuristics.c b/libmudflap/mf-heuristics.c
deleted file mode 100644 (file)
index fa2dacb..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-
-#include <stdio.h>
-
-#include "mf-runtime.h"
-#include "mf-impl.h"
-
-#ifdef _MUDFLAP
-#error "Do not compile this file with -fmudflap!"
-#endif
-
-
-extern char _end[];
-extern char ENTRY_POINT[];
-
-
-/* Run some quick validation of the given region.
-   Return -1 / 0 / 1 if the access known-invalid, possibly-valid, or known-valid.
-*/
-int
-__mf_heuristic_check (uintptr_t ptr, uintptr_t ptr_high)
-{
-  VERBOSE_TRACE ("mf: heuristic check\n");
-
-  /* XXX: Disable the stack bounding check for libmudflapth.  We do
-     actually have enough information to track stack bounds (see
-     __mf_pthread_info in mf-hooks.c), so with a bit of future work,
-     this heuristic can be turned on.  */
-#ifndef LIBMUDFLAPTH
-
-  /* The first heuristic is to check stack bounds.  This is a
-     transient condition and quick to check. */
-  if (__mf_opts.heur_stack_bound)
-    {
-      uintptr_t stack_top_guess = (uintptr_t)__builtin_frame_address(0);
-#if defined(__i386__) && defined (__linux__)
-      uintptr_t stack_segment_base = 0xC0000000; /* XXX: Bad assumption. */
-#else
-      /* Cause tests to fail. */
-      uintptr_t stack_segment_base = 0;
-#endif
-
-      VERBOSE_TRACE ("mf: stack estimated as %p-%p\n",
-                    (void *) stack_top_guess, (void *) stack_segment_base);
-
-      if (ptr_high <= stack_segment_base &&
-         ptr >= stack_top_guess &&
-         ptr_high >= ptr)
-       {
-         return 1;
-       }
-    }
-#endif
-
-
-  /* The second heuristic is to scan the range of memory regions
-     listed in /proc/self/maps, a special file provided by the Linux
-     kernel.  Its results may be cached, and in fact, a GUESS object
-     may as well be recorded for interesting matching sections.  */
-  if (__mf_opts.heur_proc_map)
-    {
-      /* Keep a record of seen records from /proc/self/map.  */
-      enum { max_entries = 500 };
-      struct proc_self_map_entry
-      {
-       uintptr_t low;
-       uintptr_t high;
-      };
-      static struct proc_self_map_entry entry [max_entries];
-      static unsigned entry_used [max_entries];
-
-      /* Look for a known proc_self_map entry that may cover this
-        region.  If one exists, then this heuristic has already run,
-        and should not be run again.  The check should be allowed to
-        fail.  */
-      unsigned i;
-      unsigned deja_vu = 0;
-      for (i=0; i<max_entries; i++)
-       {
-         if (entry_used[i] &&
-             (entry[i].low <= ptr) &&
-             (entry[i].high >= ptr_high))
-           deja_vu = 1;
-       }
-
-      if (! deja_vu)
-       {
-         /* Time to run the heuristic.  Rescan /proc/self/maps; update the
-            entry[] array; XXX: remove expired entries, add new ones.
-            XXX: Consider entries that have grown (e.g., stack).  */
-         char buf[512];
-         char flags[4];
-         void *low, *high;
-         FILE *fp;
-
-         fp = fopen ("/proc/self/maps", "r");
-         if (fp)
-           {
-             while (fgets (buf, sizeof(buf), fp))
-               {
-                 if (sscanf (buf, "%p-%p %4c", &low, &high, flags) == 3)
-                   {
-                     if ((uintptr_t) low <= ptr &&
-                         (uintptr_t) high >= ptr_high)
-                       {
-                         for (i=0; i<max_entries; i++)
-                           {
-                             if (! entry_used[i])
-                               {
-                                 entry[i].low = (uintptr_t) low;
-                                 entry[i].high = (uintptr_t) high;
-                                 entry_used[i] = 1;
-                                 break;
-                               }
-                           }
-
-                         VERBOSE_TRACE ("mf: registering region #%d "
-                                        "%p-%p given %s",
-                                        i, (void *) low, (void *) high, buf);
-
-                         __mfu_register ((void *) low, (size_t) (high-low),
-                                         __MF_TYPE_GUESS,
-                                         "/proc/self/maps segment");
-
-                         return 0; /* undecided (tending to cachable) */
-                       }
-                   }
-               }
-             fclose (fp);
-           }
-       }
-    }
-
-
-  /* The third heuristic is to approve all accesses between _start (or its
-     equivalent for the given target) and _end, which should include all
-     text and initialized data.  */
-  if (__mf_opts.heur_start_end)
-    if (ptr >= (uintptr_t) & ENTRY_POINT && ptr_high <= (uintptr_t) & _end)
-      return 1; /* uncacheable */
-
-  return 0; /* unknown */
-}
diff --git a/libmudflap/mf-hooks1.c b/libmudflap/mf-hooks1.c
deleted file mode 100644 (file)
index 474c835..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-
-#ifndef HAVE_SOCKLEN_T
-#define socklen_t int
-#endif
-
-
-/* These attempt to coax various unix flavours to declare all our
-   needed tidbits in the system headers.  */
-#if !defined(__FreeBSD__)  && !defined(__APPLE__)
-#define _POSIX_SOURCE
-#endif /* Some BSDs break <sys/socket.h> if this is defined. */
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE
-#define _BSD_TYPES
-#define __EXTENSIONS__
-#define _ALL_SOURCE
-#define _LARGE_FILE_API
-#define _XOPEN_SOURCE_EXTENDED 1
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-#include <limits.h>
-#include <time.h>
-
-#include "mf-runtime.h"
-#include "mf-impl.h"
-
-#ifdef _MUDFLAP
-#error "Do not compile this file with -fmudflap!"
-#endif
-
-
-/* Memory allocation related hook functions.  Some of these are
-   intercepted via linker wrapping or symbol interposition.  Others
-   use plain macros in mf-runtime.h.  */
-
-
-#if PIC
-
-enum { BS = 4096, NB=10 };
-static char __mf_0fn_bufs[NB][BS];
-static unsigned __mf_0fn_bufs_used[NB];
-
-
-/* A special bootstrap variant. */
-void *
-__mf_0fn_malloc (size_t c)
-{
-  unsigned i;
-
-  for (i=0; i<NB; i++)
-    {
-      if (! __mf_0fn_bufs_used[i] && c < BS)
-       {
-         __mf_0fn_bufs_used[i] = 1;
-         return & __mf_0fn_bufs[i][0];
-       }
-    }
-  return NULL;
-}
-#endif
-
-
-#undef malloc
-WRAPPER(void *, malloc, size_t c)
-{
-  size_t size_with_crumple_zones;
-  DECLARE(void *, malloc, size_t c);
-  void *result;
-  BEGIN_PROTECT (malloc, c);
-
-  size_with_crumple_zones =
-    CLAMPADD(c,CLAMPADD(__mf_opts.crumple_zone,
-                       __mf_opts.crumple_zone));
-  BEGIN_MALLOC_PROTECT ();
-  result = (char *) CALL_REAL (malloc, size_with_crumple_zones);
-  END_MALLOC_PROTECT ();
-
-  if (LIKELY(result))
-    {
-      result += __mf_opts.crumple_zone;
-      __mf_register (result, c, __MF_TYPE_HEAP, "malloc region");
-      /* XXX: register __MF_TYPE_NOACCESS for crumple zones.  */
-    }
-
-  return result;
-}
-
-
-#ifdef PIC
-/* A special bootstrap variant. */
-void *
-__mf_0fn_calloc (size_t c, size_t n)
-{
-  return __mf_0fn_malloc (c * n);
-}
-#endif
-
-
-#undef calloc
-WRAPPER(void *, calloc, size_t c, size_t n)
-{
-  size_t size_with_crumple_zones;
-  DECLARE(void *, calloc, size_t, size_t);
-  DECLARE(void *, malloc, size_t);
-  DECLARE(void *, memset, void *, int, size_t);
-  char *result;
-  BEGIN_PROTECT (calloc, c, n);
-
-  size_with_crumple_zones =
-    CLAMPADD((c * n), /* XXX: CLAMPMUL */
-            CLAMPADD(__mf_opts.crumple_zone,
-                     __mf_opts.crumple_zone));
-  BEGIN_MALLOC_PROTECT ();
-  result = (char *) CALL_REAL (malloc, size_with_crumple_zones);
-  END_MALLOC_PROTECT ();
-
-  if (LIKELY(result))
-    memset (result, 0, size_with_crumple_zones);
-
-  if (LIKELY(result))
-    {
-      result += __mf_opts.crumple_zone;
-      __mf_register (result, c*n /* XXX: clamp */, __MF_TYPE_HEAP_I, "calloc region");
-      /* XXX: register __MF_TYPE_NOACCESS for crumple zones.  */
-    }
-
-  return result;
-}
-
-
-#if PIC
-/* A special bootstrap variant. */
-void *
-__mf_0fn_realloc (void *buf, size_t c)
-{
-  return NULL;
-}
-#endif
-
-
-#undef realloc
-WRAPPER(void *, realloc, void *buf, size_t c)
-{
-  DECLARE(void * , realloc, void *, size_t);
-  size_t size_with_crumple_zones;
-  char *base = buf;
-  unsigned saved_wipe_heap;
-  char *result;
-  BEGIN_PROTECT (realloc, buf, c);
-
-  if (LIKELY(buf))
-    base -= __mf_opts.crumple_zone;
-
-  size_with_crumple_zones =
-    CLAMPADD(c, CLAMPADD(__mf_opts.crumple_zone,
-                        __mf_opts.crumple_zone));
-  BEGIN_MALLOC_PROTECT ();
-  result = (char *) CALL_REAL (realloc, base, size_with_crumple_zones);
-  END_MALLOC_PROTECT ();
-
-  /* Ensure heap wiping doesn't occur during this peculiar
-     unregister/reregister pair.  */
-  LOCKTH ();
-  __mf_set_state (reentrant);
-  saved_wipe_heap = __mf_opts.wipe_heap;
-  __mf_opts.wipe_heap = 0;
-
-  if (LIKELY(buf))
-    __mfu_unregister (buf, 0, __MF_TYPE_HEAP_I);
-  /* NB: underlying region may have been __MF_TYPE_HEAP. */
-
-  if (LIKELY(result))
-    {
-      result += __mf_opts.crumple_zone;
-      __mfu_register (result, c, __MF_TYPE_HEAP_I, "realloc region");
-      /* XXX: register __MF_TYPE_NOACCESS for crumple zones.  */
-    }
-
-  /* Restore previous setting.  */
-  __mf_opts.wipe_heap = saved_wipe_heap;
-
-  __mf_set_state (active);
-  UNLOCKTH ();
-
-  return result;
-}
-
-
-#if PIC
-/* A special bootstrap variant. */
-void
-__mf_0fn_free (void *buf)
-{
-  return;
-}
-#endif
-
-#undef free
-WRAPPER(void, free, void *buf)
-{
-  /* Use a circular queue to delay some number (__mf_opts.free_queue_length) of free()s.  */
-  static void *free_queue [__MF_FREEQ_MAX];
-  static unsigned free_ptr = 0;
-  static int freeq_initialized = 0;
-  DECLARE(void, free, void *);
-
-  if (UNLIKELY(buf == NULL))
-    return;
-
-  BEGIN_PROTECT (free, buf);
-
-#if PIC
-  /* Check whether the given buffer might have come from a
-     __mf_0fn_malloc/calloc call that for whatever reason was not
-     redirected back to __mf_0fn_free.  If so, we just ignore the
-     call. */
-  if (UNLIKELY((uintptr_t) buf >= (uintptr_t) __mf_0fn_bufs &&
-               (uintptr_t) buf < ((uintptr_t) __mf_0fn_bufs + sizeof(__mf_0fn_bufs))))
-  {
-    VERBOSE_TRACE ("skipping free of boot (0fn) alloc buffer %p\n", buf);
-    return;
-  }
-#endif
-
-  LOCKTH ();
-  if (UNLIKELY(!freeq_initialized))
-    {
-      memset (free_queue, 0,
-                    __MF_FREEQ_MAX * sizeof (void *));
-      freeq_initialized = 1;
-    }
-  UNLOCKTH ();
-
-  __mf_unregister (buf, 0, __MF_TYPE_HEAP_I);
-  /* NB: underlying region may have been __MF_TYPE_HEAP. */
-
-  if (UNLIKELY(__mf_opts.free_queue_length > 0))
-    {
-      char *freeme = NULL;
-      LOCKTH ();
-      if (free_queue [free_ptr] != NULL)
-       {
-         freeme = free_queue [free_ptr];
-         freeme -= __mf_opts.crumple_zone;
-       }
-      free_queue [free_ptr] = buf;
-      free_ptr = (free_ptr == (__mf_opts.free_queue_length-1) ? 0 : free_ptr + 1);
-      UNLOCKTH ();
-      if (freeme)
-       {
-         if (__mf_opts.trace_mf_calls)
-           {
-             VERBOSE_TRACE ("freeing deferred pointer %p (crumple %u)\n",
-                            (void *) freeme,
-                            __mf_opts.crumple_zone);
-           }
-         BEGIN_MALLOC_PROTECT ();
-         CALL_REAL (free, freeme);
-         END_MALLOC_PROTECT ();
-       }
-    }
-  else
-    {
-      /* back pointer up a bit to the beginning of crumple zone */
-      char *base = (char *)buf;
-      base -= __mf_opts.crumple_zone;
-      if (__mf_opts.trace_mf_calls)
-       {
-         VERBOSE_TRACE ("freeing pointer %p = %p - %u\n",
-                        (void *) base,
-                        (void *) buf,
-                        __mf_opts.crumple_zone);
-       }
-      BEGIN_MALLOC_PROTECT ();
-      CALL_REAL (free, base);
-      END_MALLOC_PROTECT ();
-    }
-}
-
-
-/* We can only wrap mmap if the target supports it.  Likewise for munmap.
-   We assume we have both if we have mmap.  */
-#ifdef HAVE_MMAP
-
-#if PIC
-/* A special bootstrap variant. */
-void *
-__mf_0fn_mmap (void *start, size_t l, int prot, int f, int fd, off_t off)
-{
-#if defined(__FreeBSD__)
-  if (f == 0x1000 && fd == -1 && prot == 0 && off == 0)
-    return 0;
-#endif /* Ignore red zone allocation request for initial thread's stack. */
-
-  return (void *) -1;
-}
-#endif
-
-
-#undef mmap
-WRAPPER(void *, mmap,
-       void  *start,  size_t length, int prot,
-       int flags, int fd, off_t offset)
-{
-  DECLARE(void *, mmap, void *, size_t, int,
-                           int, int, off_t);
-  void *result;
-  BEGIN_PROTECT (mmap, start, length, prot, flags, fd, offset);
-
-  result = CALL_REAL (mmap, start, length, prot,
-                       flags, fd, offset);
-
-  /*
-  VERBOSE_TRACE ("mmap (%08lx, %08lx, ...) => %08lx\n",
-                (uintptr_t) start, (uintptr_t) length,
-                (uintptr_t) result);
-  */
-
-  if (result != (void *)-1)
-    {
-      /* Register each page as a heap object.  Why not register it all
-        as a single segment?  That's so that a later munmap() call
-        can unmap individual pages.  XXX: would __MF_TYPE_GUESS make
-        this more automatic?  */
-      size_t ps = getpagesize ();
-      uintptr_t base = (uintptr_t) result;
-      uintptr_t offset;
-
-      for (offset=0; offset<length; offset+=ps)
-       {
-         /* XXX: We could map PROT_NONE to __MF_TYPE_NOACCESS. */
-         /* XXX: Unaccessed HEAP pages are reported as leaks.  Is this
-            appropriate for unaccessed mmap pages? */
-         __mf_register ((void *) CLAMPADD (base, offset), ps,
-                        __MF_TYPE_HEAP_I, "mmap page");
-       }
-    }
-
-  return result;
-}
-
-
-#if PIC
-/* A special bootstrap variant. */
-int
-__mf_0fn_munmap (void *start, size_t length)
-{
-  return -1;
-}
-#endif
-
-
-#undef munmap
-WRAPPER(int , munmap, void *start, size_t length)
-{
-  DECLARE(int, munmap, void *, size_t);
-  int result;
-  BEGIN_PROTECT (munmap, start, length);
-
-  result = CALL_REAL (munmap, start, length);
-
-  /*
-  VERBOSE_TRACE ("munmap (%08lx, %08lx, ...) => %08lx\n",
-                (uintptr_t) start, (uintptr_t) length,
-                (uintptr_t) result);
-  */
-
-  if (result == 0)
-    {
-      /* Unregister each page as a heap object.  */
-      size_t ps = getpagesize ();
-      uintptr_t base = (uintptr_t) start & (~ (ps - 1)); /* page align */
-      uintptr_t offset;
-
-      for (offset=0; offset<length; offset+=ps)
-       __mf_unregister ((void *) CLAMPADD (base, offset), ps, __MF_TYPE_HEAP_I);
-    }
-  return result;
-}
-#endif /* HAVE_MMAP */
-
-
-#ifdef HAVE_MMAP64
-#if PIC
-/* A special bootstrap variant. */
-void *
-__mf_0fn_mmap64 (void *start, size_t l, int prot, int f, int fd, off64_t off)
-{
-  return (void *) -1;
-}
-#endif
-
-
-#undef mmap
-WRAPPER(void *, mmap64,
-       void  *start,  size_t length, int prot,
-       int flags, int fd, off64_t offset)
-{
-  DECLARE(void *, mmap64, void *, size_t, int,
-                           int, int, off64_t);
-  void *result;
-  BEGIN_PROTECT (mmap64, start, length, prot, flags, fd, offset);
-
-  result = CALL_REAL (mmap64, start, length, prot,
-                       flags, fd, offset);
-
-  /*
-  VERBOSE_TRACE ("mmap64 (%08lx, %08lx, ...) => %08lx\n",
-                (uintptr_t) start, (uintptr_t) length,
-                (uintptr_t) result);
-  */
-
-  if (result != (void *)-1)
-    {
-      /* Register each page as a heap object.  Why not register it all
-        as a single segment?  That's so that a later munmap() call
-        can unmap individual pages.  XXX: would __MF_TYPE_GUESS make
-        this more automatic?  */
-      size_t ps = getpagesize ();
-      uintptr_t base = (uintptr_t) result;
-      uintptr_t offset;
-
-      for (offset=0; offset<length; offset+=ps)
-       {
-         /* XXX: We could map PROT_NONE to __MF_TYPE_NOACCESS. */
-         /* XXX: Unaccessed HEAP pages are reported as leaks.  Is this
-            appropriate for unaccessed mmap pages? */
-         __mf_register ((void *) CLAMPADD (base, offset), ps,
-                        __MF_TYPE_HEAP_I, "mmap64 page");
-       }
-    }
-
-  return result;
-}
-#endif /* HAVE_MMAP64 */
-
-
-/* This wrapper is a little different, as it's called indirectly from
-   __mf_fini also to clean up pending allocations.  */
-void *
-__mf_wrap_alloca_indirect (size_t c)
-{
-  DECLARE (void *, malloc, size_t);
-  DECLARE (void, free, void *);
-
-  /* This struct, a linked list, tracks alloca'd objects.  The newest
-     object is at the head of the list.  If we detect that we've
-     popped a few levels of stack, then the listed objects are freed
-     as needed.  NB: The tracking struct is allocated with
-     real_malloc; the user data with wrap_malloc.
-  */
-  struct alloca_tracking { void *ptr; void *stack; struct alloca_tracking* next; };
-  static struct alloca_tracking *alloca_history = NULL;
-
-  void *stack = __builtin_frame_address (0);
-  void *result;
-  struct alloca_tracking *track;
-
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  VERBOSE_TRACE ("alloca stack level %p\n", (void *) stack);
-
-  /* XXX: thread locking! */
-
-  /* Free any previously alloca'd blocks that belong to deeper-nested functions,
-     which must therefore have exited by now.  */
-
-#define DEEPER_THAN < /* XXX: for x86; steal find_stack_direction() from libiberty/alloca.c */
-
-  while (alloca_history &&
-        ((uintptr_t) alloca_history->stack DEEPER_THAN (uintptr_t) stack))
-    {
-      struct alloca_tracking *next = alloca_history->next;
-      __mf_unregister (alloca_history->ptr, 0, __MF_TYPE_HEAP);
-      BEGIN_MALLOC_PROTECT ();
-      CALL_REAL (free, alloca_history->ptr);
-      CALL_REAL (free, alloca_history);
-      END_MALLOC_PROTECT ();
-      alloca_history = next;
-    }
-
-  /* Allocate new block.  */
-  result = NULL;
-  if (LIKELY (c > 0)) /* alloca(0) causes no allocation.  */
-    {
-      BEGIN_MALLOC_PROTECT ();
-      track = (struct alloca_tracking *) CALL_REAL (malloc,
-                                                   sizeof (struct alloca_tracking));
-      END_MALLOC_PROTECT ();
-      if (LIKELY (track != NULL))
-       {
-         BEGIN_MALLOC_PROTECT ();
-         result = CALL_REAL (malloc, c);
-         END_MALLOC_PROTECT ();
-         if (UNLIKELY (result == NULL))
-           {
-             BEGIN_MALLOC_PROTECT ();
-             CALL_REAL (free, track);
-             END_MALLOC_PROTECT ();
-             /* Too bad.  XXX: What about errno?  */
-           }
-         else
-           {
-             __mf_register (result, c, __MF_TYPE_HEAP, "alloca region");
-             track->ptr = result;
-             track->stack = stack;
-             track->next = alloca_history;
-             alloca_history = track;
-           }
-       }
-    }
-
-  return result;
-}
-
-
-#undef alloca
-WRAPPER(void *, alloca, size_t c)
-{
-  return __mf_wrap_alloca_indirect (c);
-}
-
diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c
deleted file mode 100644 (file)
index 4af17df..0000000
+++ /dev/null
@@ -1,2198 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-
-#ifndef HAVE_SOCKLEN_T
-#define socklen_t int
-#endif
-
-/* These attempt to coax various unix flavours to declare all our
-   needed tidbits in the system headers.  */
-#if !defined(__FreeBSD__) && !defined(__APPLE__)
-#define _POSIX_SOURCE
-#endif /* Some BSDs break <sys/socket.h> if this is defined. */
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE
-#define _BSD_TYPES
-#define __EXTENSIONS__
-#define _ALL_SOURCE
-#define _LARGE_FILE_API
-#define _LARGEFILE64_SOURCE
-#define _XOPEN_SOURCE_EXTENDED 1
-
-#include <string.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-#include <limits.h>
-#include <time.h>
-#include <ctype.h>
-#ifdef HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#ifdef HAVE_DIRENT_H
-#include <dirent.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifdef HAVE_SYS_IPC_H
-#include <sys/ipc.h>
-#endif
-#ifdef HAVE_SYS_SEM_H
-#include <sys/sem.h>
-#endif
-#ifdef HAVE_SYS_SHM_H
-#include <sys/shm.h>
-#endif
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-#ifdef HAVE_GRP_H
-#include <grp.h>
-#endif
-#ifdef HAVE_MNTENT_H
-#include <mntent.h>
-#endif
-#ifdef HAVE_SYS_MNTTAB_H
-#include <sys/mnttab.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#include "mf-runtime.h"
-#include "mf-impl.h"
-
-#ifdef _MUDFLAP
-#error "Do not compile this file with -fmudflap!"
-#endif
-
-
-/* A bunch of independent stdlib/unistd hook functions, all
-   intercepted by mf-runtime.h macros.  */
-
-#ifndef HAVE_STRNLEN
-static inline size_t (strnlen) (const char* str, size_t n)
-{
-  const char *s;
-
-  for (s = str; n && *s; ++s, --n)
-    ;
-  return (s - str);
-}
-#endif
-
-
-/* str*,mem*,b* */
-
-WRAPPER2(void *, memcpy, void *dest, const void *src, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "memcpy source");
-  MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "memcpy dest");
-  return memcpy (dest, src, n);
-}
-
-
-WRAPPER2(void *, memmove, void *dest, const void *src, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "memmove src");
-  MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "memmove dest");
-  return memmove (dest, src, n);
-}
-
-
-WRAPPER2(void *, memset, void *s, int c, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "memset dest");
-  return memset (s, c, n);
-}
-
-
-WRAPPER2(int, memcmp, const void *s1, const void *s2, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "memcmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "memcmp 2nd arg");
-  return memcmp (s1, s2, n);
-}
-
-
-WRAPPER2(void *, memchr, const void *s, int c, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, n, __MF_CHECK_READ, "memchr region");
-  return memchr (s, c, n);
-}
-
-
-#ifdef HAVE_MEMRCHR
-WRAPPER2(void *, memrchr, const void *s, int c, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, n, __MF_CHECK_READ, "memrchr region");
-  return memrchr (s, c, n);
-}
-#endif
-
-
-WRAPPER2(char *, strcpy, char *dest, const char *src)
-{
-  /* nb: just because strlen(src) == n doesn't mean (src + n) or (src + n +
-     1) are valid pointers. the allocated object might have size < n.
-     check anyways. */
-
-  size_t n = strlen (src);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(src, CLAMPADD(n, 1), __MF_CHECK_READ, "strcpy src");
-  MF_VALIDATE_EXTENT(dest, CLAMPADD(n, 1), __MF_CHECK_WRITE, "strcpy dest");
-  return strcpy (dest, src);
-}
-
-
-#ifdef HAVE_STRNCPY
-WRAPPER2(char *, strncpy, char *dest, const char *src, size_t n)
-{
-  size_t len = strnlen (src, n);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(src, len, __MF_CHECK_READ, "strncpy src");
-  MF_VALIDATE_EXTENT(dest, len, __MF_CHECK_WRITE, "strncpy dest"); /* nb: strNcpy */
-  return strncpy (dest, src, n);
-}
-#endif
-
-
-WRAPPER2(char *, strcat, char *dest, const char *src)
-{
-  size_t dest_sz;
-  size_t src_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  dest_sz = strlen (dest);
-  src_sz = strlen (src);
-  MF_VALIDATE_EXTENT(src, CLAMPADD(src_sz, 1), __MF_CHECK_READ, "strcat src");
-  MF_VALIDATE_EXTENT(dest, CLAMPADD(dest_sz, CLAMPADD(src_sz, 1)),
-                    __MF_CHECK_WRITE, "strcat dest");
-  return strcat (dest, src);
-}
-
-
-WRAPPER2(char *, strncat, char *dest, const char *src, size_t n)
-{
-
-  /* nb: validating the extents (s,n) might be a mistake for two reasons.
-
-  (1) the string s might be shorter than n chars, and n is just a
-  poor choice by the programmer. this is not a "true" error in the
-  sense that the call to strncat would still be ok.
-
-  (2) we could try to compensate for case (1) by calling strlen(s) and
-  using that as a bound for the extent to verify, but strlen might fall off
-  the end of a non-terminated string, leading to a false positive.
-
-  so we will call strnlen(s,n) and use that as a bound.
-
-  if strnlen returns a length beyond the end of the registered extent
-  associated with s, there is an error: the programmer's estimate for n is
-  too large _AND_ the string s is unterminated, in which case they'd be
-  about to touch memory they don't own while calling strncat.
-
-  this same logic applies to further uses of strnlen later down in this
-  file. */
-
-  size_t src_sz;
-  size_t dest_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  src_sz = strnlen (src, n);
-  dest_sz = strnlen (dest, n);
-  MF_VALIDATE_EXTENT(src, src_sz, __MF_CHECK_READ, "strncat src");
-  MF_VALIDATE_EXTENT(dest, (CLAMPADD(dest_sz, CLAMPADD(src_sz, 1))),
-                    __MF_CHECK_WRITE, "strncat dest");
-  return strncat (dest, src, n);
-}
-
-
-WRAPPER2(int, strcmp, const char *s1, const char *s2)
-{
-  size_t s1_sz;
-  size_t s2_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  s1_sz = strlen (s1);
-  s2_sz = strlen (s2);
-  MF_VALIDATE_EXTENT(s1, CLAMPADD(s1_sz, 1), __MF_CHECK_READ, "strcmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, CLAMPADD(s2_sz, 1), __MF_CHECK_WRITE, "strcmp 2nd arg");
-  return strcmp (s1, s2);
-}
-
-
-WRAPPER2(int, strcasecmp, const char *s1, const char *s2)
-{
-  size_t s1_sz;
-  size_t s2_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  s1_sz = strlen (s1);
-  s2_sz = strlen (s2);
-  MF_VALIDATE_EXTENT(s1, CLAMPADD(s1_sz, 1), __MF_CHECK_READ, "strcasecmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, CLAMPADD(s2_sz, 1), __MF_CHECK_READ, "strcasecmp 2nd arg");
-  return strcasecmp (s1, s2);
-}
-
-
-WRAPPER2(int, strncmp, const char *s1, const char *s2, size_t n)
-{
-  size_t s1_sz;
-  size_t s2_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  s1_sz = strnlen (s1, n);
-  s2_sz = strnlen (s2, n);
-  MF_VALIDATE_EXTENT(s1, s1_sz, __MF_CHECK_READ, "strncmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, s2_sz, __MF_CHECK_READ, "strncmp 2nd arg");
-  return strncmp (s1, s2, n);
-}
-
-
-WRAPPER2(int, strncasecmp, const char *s1, const char *s2, size_t n)
-{
-  size_t s1_sz;
-  size_t s2_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  s1_sz = strnlen (s1, n);
-  s2_sz = strnlen (s2, n);
-  MF_VALIDATE_EXTENT(s1, s1_sz, __MF_CHECK_READ, "strncasecmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, s2_sz, __MF_CHECK_READ, "strncasecmp 2nd arg");
-  return strncasecmp (s1, s2, n);
-}
-
-
-WRAPPER2(char *, strdup, const char *s)
-{
-  DECLARE(void *, malloc, size_t sz);
-  char *result;
-  size_t n = strlen (s);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(n,1), __MF_CHECK_READ, "strdup region");
-  result = (char *)CALL_REAL(malloc,
-                            CLAMPADD(CLAMPADD(n,1),
-                                     CLAMPADD(__mf_opts.crumple_zone,
-                                              __mf_opts.crumple_zone)));
-
-  if (UNLIKELY(! result)) return result;
-
-  result += __mf_opts.crumple_zone;
-  memcpy (result, s, n);
-  result[n] = '\0';
-
-  __mf_register (result, CLAMPADD(n,1), __MF_TYPE_HEAP_I, "strdup region");
-  return result;
-}
-
-
-WRAPPER2(char *, strndup, const char *s, size_t n)
-{
-  DECLARE(void *, malloc, size_t sz);
-  char *result;
-  size_t sz = strnlen (s, n);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, sz, __MF_CHECK_READ, "strndup region"); /* nb: strNdup */
-
-  /* note: strndup still adds a \0, even with the N limit! */
-  result = (char *)CALL_REAL(malloc,
-                            CLAMPADD(CLAMPADD(n,1),
-                                     CLAMPADD(__mf_opts.crumple_zone,
-                                              __mf_opts.crumple_zone)));
-
-  if (UNLIKELY(! result)) return result;
-
-  result += __mf_opts.crumple_zone;
-  memcpy (result, s, n);
-  result[n] = '\0';
-
-  __mf_register (result, CLAMPADD(n,1), __MF_TYPE_HEAP_I, "strndup region");
-  return result;
-}
-
-
-WRAPPER2(char *, strchr, const char *s, int c)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (s);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(n,1), __MF_CHECK_READ, "strchr region");
-  return strchr (s, c);
-}
-
-
-WRAPPER2(char *, strrchr, const char *s, int c)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (s);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(n,1), __MF_CHECK_READ, "strrchr region");
-  return strrchr (s, c);
-}
-
-
-WRAPPER2(char *, strstr, const char *haystack, const char *needle)
-{
-  size_t haystack_sz;
-  size_t needle_sz;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  haystack_sz = strlen (haystack);
-  needle_sz = strlen (needle);
-  MF_VALIDATE_EXTENT(haystack, CLAMPADD(haystack_sz, 1), __MF_CHECK_READ, "strstr haystack");
-  MF_VALIDATE_EXTENT(needle, CLAMPADD(needle_sz, 1), __MF_CHECK_READ, "strstr needle");
-  return strstr (haystack, needle);
-}
-
-
-#ifdef HAVE_MEMMEM
-WRAPPER2(void *, memmem,
-       const void *haystack, size_t haystacklen,
-       const void *needle, size_t needlelen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(haystack, haystacklen, __MF_CHECK_READ, "memmem haystack");
-  MF_VALIDATE_EXTENT(needle, needlelen, __MF_CHECK_READ, "memmem needle");
-  return memmem (haystack, haystacklen, needle, needlelen);
-}
-#endif
-
-
-WRAPPER2(size_t, strlen, const char *s)
-{
-  size_t result = strlen (s);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(result, 1), __MF_CHECK_READ, "strlen region");
-  return result;
-}
-
-
-WRAPPER2(size_t, strnlen, const char *s, size_t n)
-{
-  size_t result = strnlen (s, n);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, result, __MF_CHECK_READ, "strnlen region");
-  return result;
-}
-
-
-WRAPPER2(void, bzero, void *s, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
-  bzero (s, n);
-}
-
-
-#undef bcopy
-WRAPPER2(void, bcopy, const void *src, void *dest, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
-  MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
-  bcopy (src, dest, n);
-}
-
-
-#undef bcmp
-WRAPPER2(int, bcmp, const void *s1, const void *s2, size_t n)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
-  MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
-  return bcmp (s1, s2, n);
-}
-
-
-WRAPPER2(char *, index, const char *s, int c)
-{
-  size_t n = strlen (s);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
-  return index (s, c);
-}
-
-
-WRAPPER2(char *, rindex, const char *s, int c)
-{
-  size_t n = strlen (s);
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
-  return rindex (s, c);
-}
-
-/* XXX:  stpcpy, memccpy */
-
-/* XXX: *printf,*scanf */
-
-/* XXX: setjmp, longjmp */
-
-WRAPPER2(char *, asctime, struct tm *tm)
-{
-  static char *reg_result = NULL;
-  char *result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(tm, sizeof (struct tm), __MF_CHECK_READ, "asctime tm");
-  result = asctime (tm);
-  if (reg_result == NULL)
-    {
-      __mf_register (result, strlen (result)+1, __MF_TYPE_STATIC, "asctime string");
-      reg_result = result;
-    }
-  return result;
-}
-
-
-WRAPPER2(char *, ctime, const time_t *timep)
-{
-  static char *reg_result = NULL;
-  char *result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(timep, sizeof (time_t), __MF_CHECK_READ, "ctime time");
-  result = ctime (timep);
-  if (reg_result == NULL)
-    {
-      /* XXX: what if asctime and ctime return the same static ptr? */
-      __mf_register (result, strlen (result)+1, __MF_TYPE_STATIC, "ctime string");
-      reg_result = result;
-    }
-  return result;
-}
-
-
-WRAPPER2(struct tm*, localtime, const time_t *timep)
-{
-  static struct tm *reg_result = NULL;
-  struct tm *result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(timep, sizeof (time_t), __MF_CHECK_READ, "localtime time");
-  result = localtime (timep);
-  if (reg_result == NULL)
-    {
-      __mf_register (result, sizeof (struct tm), __MF_TYPE_STATIC, "localtime tm");
-      reg_result = result;
-    }
-  return result;
-}
-
-
-WRAPPER2(struct tm*, gmtime, const time_t *timep)
-{
-  static struct tm *reg_result = NULL;
-  struct tm *result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT(timep, sizeof (time_t), __MF_CHECK_READ, "gmtime time");
-  result = gmtime (timep);
-  if (reg_result == NULL)
-    {
-      __mf_register (result, sizeof (struct tm), __MF_TYPE_STATIC, "gmtime tm");
-      reg_result = result;
-    }
-  return result;
-}
-
-
-/* EL start */
-
-/* The following indicate if the result of the corresponding function
- * should be explicitly un/registered by the wrapper
-*/
-
-#ifdef __FreeBSD__
-#define MF_REGISTER_fopen              __MF_TYPE_STATIC
-#else
-#undef  MF_REGISTER_fopen
-#endif
-#define MF_RESULT_SIZE_fopen           (sizeof (FILE))
-
-#undef  MF_REGISTER_opendir
-#define MF_RESULT_SIZE_opendir         0       /* (sizeof (DIR)) */
-#undef  MF_REGISTER_readdir
-#define MF_REGISTER_gethostbyname      __MF_TYPE_STATIC
-#undef  MF_REGISTER_gethostbyname_items
-#undef  MF_REGISTER_dlopen
-#undef  MF_REGISTER_dlerror
-#undef  MF_REGISTER_dlsym
-#define MF_REGISTER_shmat              __MF_TYPE_GUESS
-
-
-#include <time.h>
-WRAPPER2(time_t, time, time_t *timep)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  if (NULL != timep)
-    MF_VALIDATE_EXTENT (timep, sizeof (*timep), __MF_CHECK_WRITE,
-      "time timep");
-  return time (timep);
-}
-
-
-WRAPPER2(char *, strerror, int errnum)
-{
-  char *p;
-  static char * last_strerror = NULL;
-
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  p = strerror (errnum);
-  if (last_strerror != NULL)
-    __mf_unregister (last_strerror, 0, __MF_TYPE_STATIC);
-  if (NULL != p)
-    __mf_register (p, strlen (p) + 1, __MF_TYPE_STATIC, "strerror result");
-  last_strerror = p;
-  return p;
-}
-
-
-
-/* An auxiliary data structure for tracking the hand-made stdio
-   buffers we generate during the fopen/fopen64 hooks.  In a civilized
-   language, this would be a simple dynamically sized FILE*->char*
-   lookup table, but this is C and we get to do it by hand.  */
-struct mf_filebuffer
-{
-  FILE *file;
-  char *buffer;
-  struct mf_filebuffer *next;
-};
-static struct mf_filebuffer *mf_filebuffers = NULL;
-
-static void
-mkbuffer (FILE *f)
-{
-  /* Reset any buffer automatically provided by libc, since this may
-     have been done via mechanisms that libmudflap couldn't
-     intercept.  */
-  int rc;
-  size_t bufsize = BUFSIZ;
-  int bufmode;
-  char *buffer = malloc (bufsize);
-  struct mf_filebuffer *b = malloc (sizeof (struct mf_filebuffer));
-  assert ((buffer != NULL) && (b != NULL));
-
-  /* Link it into list.  */
-  b->file = f;
-  b->buffer = buffer;
-  b->next = mf_filebuffers;
-  mf_filebuffers = b;
-
-  /* Determine how the file is supposed to be buffered at the moment.  */
-  bufmode = fileno (f) == 2 ? _IONBF : (isatty (fileno (f)) ? _IOLBF : _IOFBF);
-
-  rc = setvbuf (f, buffer, bufmode, bufsize);
-  assert (rc == 0);
-}
-
-static void
-unmkbuffer (FILE *f)
-{
-  struct mf_filebuffer *b = mf_filebuffers;
-  struct mf_filebuffer **pb = & mf_filebuffers;
-  while (b != NULL)
-    {
-      if (b->file == f)
-        {
-          *pb = b->next;
-          free (b->buffer);
-          free (b);
-          return;
-        }
-      pb = & b->next;
-      b = b->next;
-    }
-}
-
-
-
-WRAPPER2(FILE *, fopen, const char *path, const char *mode)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "fopen path");
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "fopen mode");
-
-  p = fopen (path, mode);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "fopen result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "fopen result");
-
-    mkbuffer (p);
-  }
-
-  return p;
-}
-
-
-WRAPPER2(int, setvbuf, FILE *stream, char *buf, int mode, size_t size)
-{
-  int rc = 0;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE, "setvbuf stream");
-
-  unmkbuffer (stream);
-
-  if (buf != NULL)
-    MF_VALIDATE_EXTENT (buf, size, __MF_CHECK_WRITE, "setvbuf buffer");
-
-  /* Override the user only if it's an auto-allocated buffer request.  Otherwise
-     assume that the supplied buffer is already known to libmudflap.  */
-  if ((buf == NULL) && ((mode == _IOFBF) || (mode == _IOLBF)))
-    mkbuffer (stream);
-  else
-    rc = setvbuf (stream, buf, mode, size);
-
-  return rc;
-}
-
-
-#ifdef HAVE_SETBUF
-WRAPPER2(int, setbuf, FILE* stream, char *buf)
-{
-  return __mfwrap_setvbuf (stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
-}
-#endif
-
-#ifdef HAVE_SETBUFFER
-WRAPPER2(int, setbuffer, FILE* stream, char *buf, size_t sz)
-{
-  return __mfwrap_setvbuf (stream, buf, buf ? _IOFBF : _IONBF, sz);
-}
-#endif
-
-#ifdef HAVE_SETLINEBUF
-WRAPPER2(int, setlinebuf, FILE* stream)
-{
-  return __mfwrap_setvbuf(stream, NULL, _IOLBF, 0);
-}
-#endif
-
-
-
-WRAPPER2(FILE *, fdopen, int fd, const char *mode)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "fdopen mode");
-
-  p = fdopen (fd, mode);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "fdopen result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "fdopen result");
-
-    mkbuffer (p);
-  }
-
-  return p;
-}
-
-
-WRAPPER2(FILE *, freopen, const char *path, const char *mode, FILE *s)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "freopen path");
-
-  MF_VALIDATE_EXTENT (s, (sizeof (*s)), __MF_CHECK_WRITE, "freopen stream");
-  unmkbuffer (s);
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "freopen mode");
-
-  p = freopen (path, mode, s);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "freopen result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "freopen result");
-
-    mkbuffer (p);
-  }
-
-  return p;
-}
-
-
-#ifdef HAVE_FOPEN64
-WRAPPER2(FILE *, fopen64, const char *path, const char *mode)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "fopen64 path");
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "fopen64 mode");
-
-  p = fopen64 (path, mode);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "fopen64 result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "fopen64 result");
-
-    mkbuffer (p);
-  }
-
-  return p;
-}
-#endif
-
-
-#ifdef HAVE_FREOPEN64
-WRAPPER2(FILE *, freopen64, const char *path, const char *mode, FILE *s)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "freopen64 path");
-
-  MF_VALIDATE_EXTENT (s, (sizeof (*s)), __MF_CHECK_WRITE, "freopen64 stream");
-  unmkbuffer (s);
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "freopen64 mode");
-
-  p = freopen (path, mode, s);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "freopen64 result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "freopen64 result");
-
-    mkbuffer (p);
-  }
-
-  return p;
-}
-#endif
-
-
-WRAPPER2(int, fclose, FILE *stream)
-{
-  int resp;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fclose stream");
-  resp = fclose (stream);
-#ifdef MF_REGISTER_fopen
-  __mf_unregister (stream, sizeof (*stream), MF_REGISTER_fopen);
-#endif
-  unmkbuffer (stream);
-
-  return resp;
-}
-
-
-WRAPPER2(size_t, fread, void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fread stream");
-  MF_VALIDATE_EXTENT (ptr, size * nmemb, __MF_CHECK_WRITE, "fread buffer");
-  return fread (ptr, size, nmemb, stream);
-}
-
-
-WRAPPER2(size_t, fwrite, const void *ptr, size_t size, size_t nmemb,
-       FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fwrite stream");
-  MF_VALIDATE_EXTENT (ptr, size * nmemb, __MF_CHECK_READ, "fwrite buffer");
-  return fwrite (ptr, size, nmemb, stream);
-}
-
-
-WRAPPER2(int, fgetc, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fgetc stream");
-  return fgetc (stream);
-}
-
-
-WRAPPER2(char *, fgets, char *s, int size, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fgets stream");
-  MF_VALIDATE_EXTENT (s, size, __MF_CHECK_WRITE, "fgets buffer");
-  return fgets (s, size, stream);
-}
-
-
-WRAPPER2(int, getc, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "getc stream");
-  return getc (stream);
-}
-
-
-WRAPPER2(char *, gets, char *s)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (s, 1, __MF_CHECK_WRITE, "gets buffer");
-  /* Avoid link-time warning... */
-  s = fgets (s, INT_MAX, stdin);
-  if (NULL != s) {     /* better late than never */
-    size_t n = strlen (s);
-    MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_WRITE, "gets buffer");
-  }
-  return s;
-}
-
-
-WRAPPER2(int, ungetc, int c, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-     "ungetc stream");
-  return ungetc (c, stream);
-}
-
-
-WRAPPER2(int, fputc, int c, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fputc stream");
-  return fputc (c, stream);
-}
-
-
-WRAPPER2(int, fputs, const char *s, FILE *stream)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (s);
-  MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "fputs buffer");
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fputs stream");
-  return fputs (s, stream);
-}
-
-
-WRAPPER2(int, putc, int c, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "putc stream");
-  return putc (c, stream);
-}
-
-
-WRAPPER2(int, puts, const char *s)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (s);
-  MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "puts buffer");
-  return puts (s);
-}
-
-
-WRAPPER2(void, clearerr, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "clearerr stream");
-  clearerr (stream);
-}
-
-
-WRAPPER2(int, feof, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "feof stream");
-  return feof (stream);
-}
-
-
-WRAPPER2(int, ferror, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "ferror stream");
-  return ferror (stream);
-}
-
-
-WRAPPER2(int, fileno, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fileno stream");
-  return fileno (stream);
-}
-
-
-WRAPPER2(int, printf, const char *format, ...)
-{
-  size_t n;
-  va_list ap;
-  int result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "printf format");
-  va_start (ap, format);
-  result = vprintf (format, ap);
-  va_end (ap);
-  return result;
-}
-
-
-WRAPPER2(int, fprintf, FILE *stream, const char *format, ...)
-{
-  size_t n;
-  va_list ap;
-  int result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fprintf stream");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "fprintf format");
-  va_start (ap, format);
-  result = vfprintf (stream, format, ap);
-  va_end (ap);
-  return result;
-}
-
-
-WRAPPER2(int, sprintf, char *str, const char *format, ...)
-{
-  size_t n;
-  va_list ap;
-  int result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (str, 1, __MF_CHECK_WRITE, "sprintf str");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "sprintf format");
-  va_start (ap, format);
-  result = vsprintf (str, format, ap);
-  va_end (ap);
-  n = strlen (str);
-  MF_VALIDATE_EXTENT (str, CLAMPADD(n, 1), __MF_CHECK_WRITE, "sprintf str");
-  return result;
-}
-
-
-WRAPPER2(int, snprintf, char *str, size_t size, const char *format, ...)
-{
-  size_t n;
-  va_list ap;
-  int result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (str, size, __MF_CHECK_WRITE, "snprintf str");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "snprintf format");
-  va_start (ap, format);
-  result = vsnprintf (str, size, format, ap);
-  va_end (ap);
-  return result;
-}
-
-
-WRAPPER2(int, vprintf,  const char *format, va_list ap)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "vprintf format");
-  return vprintf (format, ap);
-}
-
-
-WRAPPER2(int, vfprintf, FILE *stream, const char *format, va_list ap)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "vfprintf stream");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "vfprintf format");
-  return vfprintf (stream, format, ap);
-}
-
-
-WRAPPER2(int, vsprintf, char *str, const char *format, va_list ap)
-{
-  size_t n;
-  int result;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (str, 1, __MF_CHECK_WRITE, "vsprintf str");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "vsprintf format");
-  result = vsprintf (str, format, ap);
-  n = strlen (str);
-  MF_VALIDATE_EXTENT (str, CLAMPADD(n, 1), __MF_CHECK_WRITE, "vsprintf str");
-  return result;
-}
-
-
-WRAPPER2(int, vsnprintf, char *str, size_t size, const char *format,
-       va_list ap)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (str, size, __MF_CHECK_WRITE, "vsnprintf str");
-  n = strlen (format);
-  MF_VALIDATE_EXTENT (format, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "vsnprintf format");
-  return vsnprintf (str, size, format, ap);
-}
-
-
-WRAPPER2(int , access, const char *path, int mode)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "access path");
-  return access (path, mode);
-}
-
-
-WRAPPER2(int , remove, const char *path)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "remove path");
-  return remove (path);
-}
-
-
-WRAPPER2(int, fflush, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  if (stream != NULL)
-    MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-                        "fflush stream");
-  return fflush (stream);
-}
-
-
-WRAPPER2(int, fseek, FILE *stream, long offset, int whence)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fseek stream");
-  return fseek (stream, offset, whence);
-}
-
-
-#ifdef HAVE_FSEEKO64
-WRAPPER2(int, fseeko64, FILE *stream, off64_t offset, int whence)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fseeko64 stream");
-  return fseeko64 (stream, offset, whence);
-}
-#endif
-
-
-WRAPPER2(long, ftell, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "ftell stream");
-  return ftell (stream);
-}
-
-
-#ifdef HAVE_FTELLO64
-WRAPPER2(off64_t, ftello64, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "ftello64 stream");
-  return ftello64 (stream);
-}
-#endif
-
-
-WRAPPER2(void, rewind, FILE *stream)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "rewind stream");
-  rewind (stream);
-}
-
-
-WRAPPER2(int, fgetpos, FILE *stream, fpos_t *pos)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fgetpos stream");
-  MF_VALIDATE_EXTENT (pos, sizeof (*pos), __MF_CHECK_WRITE, "fgetpos pos");
-  return fgetpos (stream, pos);
-}
-
-
-WRAPPER2(int, fsetpos, FILE *stream, fpos_t *pos)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "fsetpos stream");
-  MF_VALIDATE_EXTENT (pos, sizeof (*pos), __MF_CHECK_READ, "fsetpos pos");
-  return fsetpos (stream, pos);
-}
-
-
-WRAPPER2(int , stat, const char *path, struct stat *buf)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "stat path");
-  MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_READ, "stat buf");
-  return stat (path, buf);
-}
-
-
-#ifdef HAVE_STAT64
-WRAPPER2(int , stat64, const char *path, struct stat64 *buf)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "stat64 path");
-  MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_READ, "stat64 buf");
-  return stat64 (path, buf);
-}
-#endif
-
-
-WRAPPER2(int , fstat, int filedes, struct stat *buf)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_READ, "fstat buf");
-  return fstat (filedes, buf);
-}
-
-
-WRAPPER2(int , lstat, const char *path, struct stat *buf)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "lstat path");
-  MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_READ, "lstat buf");
-  return lstat (path, buf);
-}
-
-
-WRAPPER2(int , mkfifo, const char *path, mode_t mode)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "mkfifo path");
-  return mkfifo (path, mode);
-}
-
-
-#ifdef HAVE_DIRENT_H
-WRAPPER2(DIR *, opendir, const char *path)
-{
-  DIR *p;
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "opendir path");
-
-  p = opendir (path);
-  if (NULL != p) {
-#ifdef MF_REGISTER_opendir
-    __mf_register (p, MF_RESULT_SIZE_opendir, MF_REGISTER_opendir,
-      "opendir result");
-#endif
-    MF_VALIDATE_EXTENT (p, MF_RESULT_SIZE_opendir, __MF_CHECK_WRITE,
-      "opendir result");
-  }
-  return p;
-}
-
-
-WRAPPER2(int, closedir, DIR *dir)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (dir, 0, __MF_CHECK_WRITE, "closedir dir");
-#ifdef MF_REGISTER_opendir
-  __mf_unregister (dir, MF_RESULT_SIZE_opendir, MF_REGISTER_opendir);
-#endif
-  return closedir (dir);
-}
-
-
-WRAPPER2(struct dirent *, readdir, DIR *dir)
-{
-  struct dirent *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (dir, 0, __MF_CHECK_READ, "readdir dir");
-  p = readdir (dir);
-  if (NULL != p) {
-#ifdef MF_REGISTER_readdir
-    __mf_register (p, sizeof (*p), MF_REGISTER_readdir, "readdir result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "readdir result");
-  }
-  return p;
-}
-#endif
-
-
-#ifdef HAVE_SYS_SOCKET_H
-
-WRAPPER2(int, recv, int s, void *buf, size_t len, int flags)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (buf, len, __MF_CHECK_WRITE, "recv buf");
-  return recv (s, buf, len, flags);
-}
-
-
-WRAPPER2(int, recvfrom, int s, void *buf, size_t len, int flags,
-               struct sockaddr *from, socklen_t *fromlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (buf, len, __MF_CHECK_WRITE, "recvfrom buf");
-  MF_VALIDATE_EXTENT (from, (size_t)*fromlen, __MF_CHECK_WRITE,
-    "recvfrom from");
-  return recvfrom (s, buf, len, flags, from, fromlen);
-}
-
-
-WRAPPER2(int, recvmsg, int s, struct msghdr *msg, int flags)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (msg, sizeof (*msg), __MF_CHECK_WRITE, "recvmsg msg");
-  return recvmsg (s, msg, flags);
-}
-
-
-WRAPPER2(int, send, int s, const void *msg, size_t len, int flags)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (msg, len, __MF_CHECK_READ, "send msg");
-  return send (s, msg, len, flags);
-}
-
-
-WRAPPER2(int, sendto, int s, const void *msg, size_t len, int flags,
-               const struct sockaddr *to, socklen_t tolen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (msg, len, __MF_CHECK_READ, "sendto msg");
-  MF_VALIDATE_EXTENT (to, (size_t)tolen, __MF_CHECK_WRITE, "sendto to");
-  return sendto (s, msg, len, flags, to, tolen);
-}
-
-
-WRAPPER2(int, sendmsg, int s, const void *msg, int flags)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (msg, sizeof (*msg), __MF_CHECK_READ, "sendmsg msg");
-  return sendmsg (s, msg, flags);
-}
-
-
-WRAPPER2(int, setsockopt, int s, int level, int optname, const void *optval,
-       socklen_t optlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (optval, (size_t)optlen, __MF_CHECK_READ,
-    "setsockopt optval");
-  return setsockopt (s, level, optname, optval, optlen);
-}
-
-
-WRAPPER2(int, getsockopt, int s, int level, int optname, void *optval,
-               socklen_t *optlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (optval, (size_t)*optlen, __MF_CHECK_WRITE,
-    "getsockopt optval");
-  return getsockopt (s, level, optname, optval, optlen);
-}
-
-
-WRAPPER2(int, accept, int s, struct  sockaddr *addr, socklen_t *addrlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  if (addr != NULL)
-    MF_VALIDATE_EXTENT (addr, (size_t)*addrlen, __MF_CHECK_WRITE, "accept addr");
-  return accept (s, addr, addrlen);
-}
-
-
-WRAPPER2(int, bind, int sockfd, struct  sockaddr *addr, socklen_t addrlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (addr, (size_t)addrlen, __MF_CHECK_WRITE, "bind addr");
-  return bind (sockfd, addr, addrlen);
-}
-
-
-WRAPPER2(int, connect, int sockfd, const struct sockaddr  *addr,
-       socklen_t addrlen)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (addr, (size_t)addrlen, __MF_CHECK_READ,
-    "connect addr");
-  return connect (sockfd, addr, addrlen);
-}
-
-#endif /* HAVE_SYS_SOCKET_H */
-
-
-WRAPPER2(int, gethostname, char *name, size_t len)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (name, len, __MF_CHECK_WRITE, "gethostname name");
-  return gethostname (name, len);
-}
-
-
-#ifdef HAVE_SETHOSTNAME
-WRAPPER2(int, sethostname, const char *name, size_t len)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (name, len, __MF_CHECK_READ, "sethostname name");
-  return sethostname (name, len);
-}
-#endif
-
-
-#ifdef HAVE_NETDB_H
-
-WRAPPER2(struct hostent *, gethostbyname, const char *name)
-{
-  struct hostent *p;
-  char **ss;
-  char *s;
-  size_t n;
-  int nreg;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (name);
-  MF_VALIDATE_EXTENT (name, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "gethostbyname name");
-  p = gethostbyname (name);
-  if (NULL != p) {
-#ifdef MF_REGISTER_gethostbyname
-    __mf_register (p, sizeof (*p), MF_REGISTER_gethostbyname,
-      "gethostbyname result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE,
-      "gethostbyname result");
-    if (NULL != (s = p->h_name)) {
-      n = strlen (s);
-      n = CLAMPADD(n, 1);
-#ifdef MF_REGISTER_gethostbyname_items
-      __mf_register (s, n, MF_REGISTER_gethostbyname_items,
-        "gethostbyname result->h_name");
-#endif
-      MF_VALIDATE_EXTENT (s, n, __MF_CHECK_WRITE,
-        "gethostbyname result->h_name");
-    }
-
-    if (NULL != (ss = p->h_aliases)) {
-      for (nreg = 1;; ++nreg) {
-        s = *ss++;
-        if (NULL == s)
-          break;
-        n = strlen (s);
-        n = CLAMPADD(n, 1);
-#ifdef MF_REGISTER_gethostbyname_items
-        __mf_register (s, n, MF_REGISTER_gethostbyname_items,
-          "gethostbyname result->h_aliases[]");
-#endif
-        MF_VALIDATE_EXTENT (s, n, __MF_CHECK_WRITE,
-          "gethostbyname result->h_aliases[]");
-      }
-      nreg *= sizeof (*p->h_aliases);
-#ifdef MF_REGISTER_gethostbyname_items
-      __mf_register (p->h_aliases, nreg, MF_REGISTER_gethostbyname_items,
-        "gethostbyname result->h_aliases");
-#endif
-      MF_VALIDATE_EXTENT (p->h_aliases, nreg, __MF_CHECK_WRITE,
-        "gethostbyname result->h_aliases");
-    }
-
-    if (NULL != (ss = p->h_addr_list)) {
-      for (nreg = 1;; ++nreg) {
-        s = *ss++;
-        if (NULL == s)
-          break;
-#ifdef MF_REGISTER_gethostbyname_items
-        __mf_register (s, p->h_length, MF_REGISTER_gethostbyname_items,
-          "gethostbyname result->h_addr_list[]");
-#endif
-        MF_VALIDATE_EXTENT (s, p->h_length, __MF_CHECK_WRITE,
-          "gethostbyname result->h_addr_list[]");
-      }
-      nreg *= sizeof (*p->h_addr_list);
-#ifdef MF_REGISTER_gethostbyname_items
-      __mf_register (p->h_addr_list, nreg, MF_REGISTER_gethostbyname_items,
-        "gethostbyname result->h_addr_list");
-#endif
-      MF_VALIDATE_EXTENT (p->h_addr_list, nreg, __MF_CHECK_WRITE,
-        "gethostbyname result->h_addr_list");
-    }
-  }
-  return p;
-}
-
-#endif /* HAVE_NETDB_H */
-
-
-#ifdef HAVE_SYS_WAIT_H
-
-WRAPPER2(pid_t, wait, int *status)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  if (NULL != status)
-    MF_VALIDATE_EXTENT (status, sizeof (*status), __MF_CHECK_WRITE,
-      "wait status");
-  return wait (status);
-}
-
-
-WRAPPER2(pid_t, waitpid, pid_t pid, int *status, int options)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  if (NULL != status)
-    MF_VALIDATE_EXTENT (status, sizeof (*status), __MF_CHECK_WRITE,
-      "waitpid status");
-  return waitpid (pid, status, options);
-}
-
-#endif /* HAVE_SYS_WAIT_H */
-
-
-WRAPPER2(FILE *, popen, const char *command, const char *mode)
-{
-  size_t n;
-  FILE *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (command);
-  MF_VALIDATE_EXTENT (command, CLAMPADD(n, 1), __MF_CHECK_READ, "popen path");
-
-  n = strlen (mode);
-  MF_VALIDATE_EXTENT (mode, CLAMPADD(n, 1), __MF_CHECK_READ, "popen mode");
-
-  p = popen (command, mode);
-  if (NULL != p) {
-#ifdef MF_REGISTER_fopen
-    __mf_register (p, sizeof (*p), MF_REGISTER_fopen, "popen result");
-#endif
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_WRITE, "popen result");
-  }
-  return p;
-}
-
-
-WRAPPER2(int, pclose, FILE *stream)
-{
-  int resp;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (stream, sizeof (*stream), __MF_CHECK_WRITE,
-    "pclose stream");
-  resp = pclose (stream);
-#ifdef MF_REGISTER_fopen
-  __mf_unregister (stream, sizeof (*stream), MF_REGISTER_fopen);
-#endif
-  return resp;
-}
-
-
-WRAPPER2(int, execve, const char *path, char *const argv [],
-       char *const envp[])
-{
-  size_t n;
-  char *const *p;
-  const char *s;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "execve path");
-
-  for (p = argv;;) {
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_READ, "execve *argv");
-    s = *p++;
-    if (NULL == s)
-      break;
-    n = strlen (s);
-    MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "execve **argv");
-  }
-
-  for (p = envp;;) {
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_READ, "execve *envp");
-    s = *p++;
-    if (NULL == s)
-      break;
-    n = strlen (s);
-    MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "execve **envp");
-  }
-  return execve (path, argv, envp);
-}
-
-
-WRAPPER2(int, execv, const char *path, char *const argv [])
-{
-  size_t n;
-  char *const *p;
-  const char *s;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "execv path");
-
-  for (p = argv;;) {
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_READ, "execv *argv");
-    s = *p++;
-    if (NULL == s)
-      break;
-    n = strlen (s);
-    MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "execv **argv");
-  }
-  return execv (path, argv);
-}
-
-
-WRAPPER2(int, execvp, const char *path, char *const argv [])
-{
-  size_t n;
-  char *const *p;
-  const char *s;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "execvp path");
-
-  for (p = argv;;) {
-    MF_VALIDATE_EXTENT (p, sizeof (*p), __MF_CHECK_READ, "execvp *argv");
-    s = *p++;
-    if (NULL == s)
-      break;
-    n = strlen (s);
-    MF_VALIDATE_EXTENT (s, CLAMPADD(n, 1), __MF_CHECK_READ, "execvp **argv");
-  }
-  return execvp (path, argv);
-}
-
-
-WRAPPER2(int, system, const char *string)
-{
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (string);
-  MF_VALIDATE_EXTENT (string, CLAMPADD(n, 1), __MF_CHECK_READ,
-    "system string");
-  return system (string);
-}
-
-
-WRAPPER2(void *, dlopen, const char *path, int flags)
-{
-  void *p;
-  size_t n;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  n = strlen (path);
-  MF_VALIDATE_EXTENT (path, CLAMPADD(n, 1), __MF_CHECK_READ, "dlopen path");
-  p = dlopen (path, flags);
-  if (NULL != p) {
-#ifdef MF_REGISTER_dlopen
-    __mf_register (p, 0, MF_REGISTER_dlopen, "dlopen result");
-#endif
-    MF_VALIDATE_EXTENT (p, 0, __MF_CHECK_WRITE, "dlopen result");
-  }
-  return p;
-}
-
-
-WRAPPER2(int, dlclose, void *handle)
-{
-  int resp;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (handle, 0, __MF_CHECK_READ, "dlclose handle");
-  resp = dlclose (handle);
-#ifdef MF_REGISTER_dlopen
-  __mf_unregister (handle, 0, MF_REGISTER_dlopen);
-#endif
-  return resp;
-}
-
-
-WRAPPER2(char *, dlerror)
-{
-  char *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  p = dlerror ();
-  if (NULL != p) {
-    size_t n;
-    n = strlen (p);
-    n = CLAMPADD(n, 1);
-#ifdef MF_REGISTER_dlerror
-    __mf_register (p, n, MF_REGISTER_dlerror, "dlerror result");
-#endif
-    MF_VALIDATE_EXTENT (p, n, __MF_CHECK_WRITE, "dlerror result");
-  }
-  return p;
-}
-
-
-WRAPPER2(void *, dlsym, void *handle, char *symbol)
-{
-  size_t n;
-  void *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (handle, 0, __MF_CHECK_READ, "dlsym handle");
-  n = strlen (symbol);
-  MF_VALIDATE_EXTENT (symbol, CLAMPADD(n, 1), __MF_CHECK_READ, "dlsym symbol");
-  p = dlsym (handle, symbol);
-  if (NULL != p) {
-#ifdef MF_REGISTER_dlsym
-    __mf_register (p, 0, MF_REGISTER_dlsym, "dlsym result");
-#endif
-    MF_VALIDATE_EXTENT (p, 0, __MF_CHECK_WRITE, "dlsym result");
-  }
-  return p;
-}
-
-
-#if defined (HAVE_SYS_IPC_H) && defined (HAVE_SYS_SEM_H) && defined (HAVE_SYS_SHM_H)
-
-WRAPPER2(int, semop, int semid, struct sembuf *sops, unsigned nsops)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (sops, sizeof (*sops) * nsops, __MF_CHECK_READ,
-    "semop sops");
-  return semop (semid, sops, nsops);
-}
-
-
-#ifndef HAVE_UNION_SEMUN
-union semun {
-       int val;                        /* value for SETVAL */
-       struct semid_ds *buf;           /* buffer for IPC_STAT, IPC_SET */
-       unsigned short int *array;      /* array for GETALL, SETALL */
-       struct seminfo *__buf;          /* buffer for IPC_INFO */
-};
-#endif
-WRAPPER2(int, semctl, int semid, int semnum, int cmd, union semun arg)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  switch (cmd) {
-  case IPC_STAT:
-    MF_VALIDATE_EXTENT (arg.buf, sizeof (*arg.buf), __MF_CHECK_WRITE,
-      "semctl buf");
-    break;
-  case IPC_SET:
-    MF_VALIDATE_EXTENT (arg.buf, sizeof (*arg.buf), __MF_CHECK_READ,
-      "semctl buf");
-    break;
-  case GETALL:
-    MF_VALIDATE_EXTENT (arg.array, sizeof (*arg.array), __MF_CHECK_WRITE,
-      "semctl array");
-  case SETALL:
-    MF_VALIDATE_EXTENT (arg.array, sizeof (*arg.array), __MF_CHECK_READ,
-      "semctl array");
-    break;
-#ifdef IPC_INFO
-  /* FreeBSD 5.1 And Cygwin headers include IPC_INFO but not the __buf field.  */
-#if !defined(__FreeBSD__) && !defined(__CYGWIN__)
-  case IPC_INFO:
-    MF_VALIDATE_EXTENT (arg.__buf, sizeof (*arg.__buf), __MF_CHECK_WRITE,
-      "semctl __buf");
-    break;
-#endif
-#endif
-  default:
-    break;
-  }
-  return semctl (semid, semnum, cmd, arg);
-}
-
-
-WRAPPER2(int, shmctl, int shmid, int cmd, struct shmid_ds *buf)
-{
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  switch (cmd) {
-  case IPC_STAT:
-    MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_WRITE,
-      "shmctl buf");
-    break;
-  case IPC_SET:
-    MF_VALIDATE_EXTENT (buf, sizeof (*buf), __MF_CHECK_READ,
-      "shmctl buf");
-    break;
-  default:
-    break;
-  }
-  return shmctl (shmid, cmd, buf);
-}
-
-
-WRAPPER2(void *, shmat, int shmid, const void *shmaddr, int shmflg)
-{
-  void *p;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  p = shmat (shmid, shmaddr, shmflg);
-#ifdef MF_REGISTER_shmat
-  if (NULL != p) {
-    struct shmid_ds buf;
-    __mf_register (p, shmctl (shmid, IPC_STAT, &buf) ? 0 : buf.shm_segsz,
-      MF_REGISTER_shmat, "shmat result");
-  }
-#endif
-  return p;
-}
-
-
-WRAPPER2(int, shmdt, const void *shmaddr)
-{
-  int resp;
-  TRACE ("%s\n", __PRETTY_FUNCTION__);
-  resp = shmdt (shmaddr);
-#ifdef MF_REGISTER_shmat
-  __mf_unregister ((void *)shmaddr, 0, MF_REGISTER_shmat);
-#endif
-  return resp;
-}
-
-
-#endif /* HAVE_SYS_IPC/SEM/SHM_H */
-
-
-
-/* ctype stuff.  This is host-specific by necessity, as the arrays
-   that is used by most is*()/to*() macros are implementation-defined.  */
-
-/* GLIBC 2.3 */
-#ifdef HAVE___CTYPE_B_LOC
-WRAPPER2(unsigned short **, __ctype_b_loc, void)
-{
-  static unsigned short * last_buf = (void *) 0;
-  static unsigned short ** last_ptr = (void *) 0;
-  unsigned short ** ptr = (unsigned short **) __ctype_b_loc ();
-  unsigned short * buf = * ptr;
-  if (ptr != last_ptr)
-    {
-      /* XXX: unregister last_ptr? */
-      last_ptr = ptr;
-      __mf_register (last_ptr, sizeof(last_ptr), __MF_TYPE_STATIC, "ctype_b_loc **");
-    }
-  if (buf != last_buf)
-    {
-      last_buf = buf;
-      __mf_register ((void *) (last_buf - 128), 384 * sizeof(unsigned short), __MF_TYPE_STATIC,
-                     "ctype_b_loc []");
-    }
-  return ptr;
-}
-#endif
-
-#ifdef HAVE___CTYPE_TOUPPER_LOC
-WRAPPER2(int **, __ctype_toupper_loc, void)
-{
-  static int * last_buf = (void *) 0;
-  static int ** last_ptr = (void *) 0;
-  int ** ptr = (int **) __ctype_toupper_loc ();
-  int * buf = * ptr;
-  if (ptr != last_ptr)
-    {
-      /* XXX: unregister last_ptr? */
-      last_ptr = ptr;
-      __mf_register (last_ptr, sizeof(last_ptr), __MF_TYPE_STATIC, "ctype_toupper_loc **");
-    }
-  if (buf != last_buf)
-    {
-      last_buf = buf;
-      __mf_register ((void *) (last_buf - 128), 384 * sizeof(int), __MF_TYPE_STATIC,
-                     "ctype_toupper_loc []");
-    }
-  return ptr;
-}
-#endif
-
-#ifdef HAVE___CTYPE_TOLOWER_LOC
-WRAPPER2(int **, __ctype_tolower_loc, void)
-{
-  static int * last_buf = (void *) 0;
-  static int ** last_ptr = (void *) 0;
-  int ** ptr = (int **) __ctype_tolower_loc ();
-  int * buf = * ptr;
-  if (ptr != last_ptr)
-    {
-      /* XXX: unregister last_ptr? */
-      last_ptr = ptr;
-      __mf_register (last_ptr, sizeof(last_ptr), __MF_TYPE_STATIC, "ctype_tolower_loc **");
-    }
-  if (buf != last_buf)
-    {
-      last_buf = buf;
-      __mf_register ((void *) (last_buf - 128), 384 * sizeof(int), __MF_TYPE_STATIC,
-                     "ctype_tolower_loc []");
-    }
-  return ptr;
-}
-#endif
-
-
-/* passwd/group related functions.  These register every (static) pointer value returned,
-   and rely on libmudflap's quiet toleration of duplicate static registrations.  */
-
-#ifdef HAVE_GETLOGIN
-WRAPPER2(char *, getlogin, void)
-{
-  char *buf = getlogin ();
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getlogin() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_CUSERID
-WRAPPER2(char *, cuserid, char * buf)
-{
-  if (buf != NULL)
-    {
-      MF_VALIDATE_EXTENT(buf, L_cuserid, __MF_CHECK_WRITE,
-                         "cuserid destination");
-      return cuserid (buf);
-    }
-  buf = cuserid (NULL);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getcuserid() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETPWNAM
-WRAPPER2(struct passwd *, getpwnam, const char *name)
-{
-  struct passwd *buf;
-  MF_VALIDATE_EXTENT(name, strlen(name)+1, __MF_CHECK_READ,
-                     "getpwnam name");
-  buf = getpwnam (name);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getpw*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETPWUID
-WRAPPER2(struct passwd *, getpwuid, uid_t uid)
-{
-  struct passwd *buf;
-  buf = getpwuid (uid);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getpw*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETGRNAM
-WRAPPER2(struct group *, getgrnam, const char *name)
-{
-  struct group *buf;
-  MF_VALIDATE_EXTENT(name, strlen(name)+1, __MF_CHECK_READ,
-                     "getgrnam name");
-  buf = getgrnam (name);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getgr*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETGRGID
-WRAPPER2(struct group *, getgrgid, uid_t uid)
-{
-  struct group *buf;
-  buf = getgrgid (uid);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getgr*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETSERVENT
-WRAPPER2(struct servent *, getservent, void)
-{
-  struct servent *buf;
-  buf = getservent ();
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getserv*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETSERVBYNAME
-WRAPPER2(struct servent *, getservbyname, const char *name, const char *proto)
-{
-  struct servent *buf;
-  MF_VALIDATE_EXTENT(name, strlen(name)+1, __MF_CHECK_READ,
-                     "getservbyname name");
-  MF_VALIDATE_EXTENT(proto, strlen(proto)+1, __MF_CHECK_READ,
-                     "getservbyname proto");
-  buf = getservbyname (name, proto);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getserv*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETSERVBYPORT
-WRAPPER2(struct servent *, getservbyport, int port, const char *proto)
-{
-  struct servent *buf;
-  MF_VALIDATE_EXTENT(proto, strlen(proto)+1, __MF_CHECK_READ,
-                     "getservbyport proto");
-  buf = getservbyport (port, proto);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getserv*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GAI_STRERROR
-WRAPPER2(const char *, gai_strerror, int errcode)
-{
-  const char *buf;
-  buf = gai_strerror (errcode);
-  if (buf != NULL)
-    __mf_register ((void *) buf, strlen(buf)+1, __MF_TYPE_STATIC,
-                   "gai_strerror() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETMNTENT
-#ifdef HAVE_MNTENT_H
-WRAPPER2(struct mntent *, getmntent, FILE *filep)
-{
-  struct mntent *m;
-  static struct mntent *last = NULL;
-
-  MF_VALIDATE_EXTENT (filep, sizeof (*filep), __MF_CHECK_WRITE,
-    "getmntent stream");
-#define UR(field) __mf_unregister(last->field, strlen (last->field)+1, __MF_TYPE_STATIC)
-  if (last)
-    {
-      UR (mnt_fsname);
-      UR (mnt_dir);
-      UR (mnt_type);
-      UR (mnt_opts);
-      __mf_unregister (last, sizeof (*last), __MF_TYPE_STATIC);
-    }
-#undef UR
-
-  m = getmntent (filep);
-  last = m;
-
-#define R(field) __mf_register(last->field, strlen (last->field)+1, __MF_TYPE_STATIC, "mntent " #field)
-  if (m)
-    {
-      R (mnt_fsname);
-      R (mnt_dir);
-      R (mnt_type);
-      R (mnt_opts);
-      __mf_register (last, sizeof (*last), __MF_TYPE_STATIC, "getmntent result");
-    }
-#undef R
-
-  return m;
-}
-#elif defined HAVE_SYS_MNTTAB_H
-WRAPPER2(int, getmntent, FILE *filep, struct mnttab *mp)
-{
-  static struct mnttab *last = NULL;
-  int res;
-
-  MF_VALIDATE_EXTENT (filep, sizeof (*filep), __MF_CHECK_WRITE,
-    "getmntent stream");
-#define UR(field) __mf_unregister(last->field, strlen (last->field)+1, __MF_TYPE_STATIC)
-  if (last)
-    {
-      UR (mnt_special);
-      UR (mnt_mountp);
-      UR (mnt_fstype);
-      UR (mnt_mntopts);
-      UR (mnt_time);
-      __mf_unregister (last, sizeof (*last), __MF_TYPE_STATIC);
-    }
-#undef UR
-
-  res = getmntent (filep, mp);
-  last = mp;
-
-#define R(field) __mf_register(last->field, strlen (last->field)+1, __MF_TYPE_STATIC, "mntent " #field)
-  if (mp)
-    {
-      R (mnt_special);
-      R (mnt_mountp);
-      R (mnt_fstype);
-      R (mnt_mntopts);
-      R (mnt_time);
-      __mf_register (last, sizeof (*last), __MF_TYPE_STATIC, "getmntent result");
-    }
-#undef R
-
-  return res;
-}
-#endif
-#endif
-
-
-#ifdef HAVE_INET_NTOA
-WRAPPER2(char *, inet_ntoa, struct in_addr in)
-{
-  static char *last_buf = NULL;
-  char *buf;
-  if (last_buf)
-    __mf_unregister (last_buf, strlen (last_buf)+1, __MF_TYPE_STATIC);
-  buf = inet_ntoa (in);
-  last_buf = buf;
-  if (buf)
-    __mf_register (last_buf, strlen (last_buf)+1, __MF_TYPE_STATIC, "inet_ntoa result");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETPROTOENT
-WRAPPER2(struct protoent *, getprotoent, void)
-{
-  struct protoent *buf;
-  buf = getprotoent ();
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC, "getproto*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETPROTOBYNAME
-WRAPPER2(struct protoent *, getprotobyname, const char *name)
-{
-  struct protoent *buf;
-  MF_VALIDATE_EXTENT(name, strlen(name)+1, __MF_CHECK_READ,
-                     "getprotobyname name");
-  buf = getprotobyname (name);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getproto*() return");
-  return buf;
-}
-#endif
-
-
-#ifdef HAVE_GETPROTOBYNUMBER
-WRAPPER2(struct protoent *, getprotobynumber, int port)
-{
-  struct protoent *buf;
-  buf = getprotobynumber (port);
-  if (buf != NULL)
-    __mf_register (buf, sizeof(*buf), __MF_TYPE_STATIC,
-                   "getproto*() return");
-  return buf;
-}
-#endif
diff --git a/libmudflap/mf-hooks3.c b/libmudflap/mf-hooks3.c
deleted file mode 100644 (file)
index 552cbb5..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#include "config.h"
-
-#ifndef HAVE_SOCKLEN_T
-#define socklen_t int
-#endif
-
-/* These attempt to coax various unix flavours to declare all our
-   needed tidbits in the system headers.  */
-#if !defined(__FreeBSD__) && !defined(__APPLE__)
-#define _POSIX_SOURCE
-#endif /* Some BSDs break <sys/socket.h> if this is defined. */
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE
-#define _BSD_TYPES
-#define __EXTENSIONS__
-#define _ALL_SOURCE
-#define _LARGE_FILE_API
-#define _XOPEN_SOURCE_EXTENDED 1
-#define _REENTRANT
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-#include <stdbool.h>
-
-#include "mf-runtime.h"
-#include "mf-impl.h"
-
-#ifdef _MUDFLAP
-#error "Do not compile this file with -fmudflap!"
-#endif
-
-#ifndef LIBMUDFLAPTH
-#error "pthreadstuff is to be included only in libmudflapth"
-#endif
-
-/* ??? Why isn't this done once in the header files.  */
-DECLARE(void *, malloc, size_t sz);
-DECLARE(void, free, void *ptr);
-DECLARE(int, pthread_create, pthread_t *thr, const pthread_attr_t *attr,
-       void * (*start) (void *), void *arg);
-
-
-/* Multithreading support hooks.  */
-
-
-#if !defined(HAVE_TLS) || defined(USE_EMUTLS)
-/* We don't have TLS.  Ordinarily we could use pthread keys, but since we're
-   commandeering malloc/free that presents a few problems.  The first is that
-   we'll recurse from __mf_get_state to pthread_setspecific to malloc back to
-   __mf_get_state during thread startup.  This can be solved with clever uses
-   of a mutex.  The second problem is that thread shutdown is indistinguishable
-   from thread startup, since libpthread is deallocating our state variable.
-   I've no good solution for this.
-
-   Which leaves us to handle this mess by totally by hand.  */
-
-/* Yes, we want this prime.  If pthread_t is a pointer, it's almost always
-   page aligned, and if we use a smaller power of 2, this results in "%N"
-   being the worst possible hash -- all threads hash to zero.  */
-#define LIBMUDFLAPTH_THREADS_MAX 1021
-
-struct mf_thread_data
-{
-  pthread_t self;
-  unsigned char used_p;
-  unsigned char state;
-};
-
-static struct mf_thread_data mf_thread_data[LIBMUDFLAPTH_THREADS_MAX];
-static pthread_mutex_t mf_thread_data_lock = PTHREAD_MUTEX_INITIALIZER;
-
-#define PTHREAD_HASH(p) ((unsigned long) (p) % LIBMUDFLAPTH_THREADS_MAX)
-
-static struct mf_thread_data *
-__mf_find_threadinfo (int alloc)
-{
-  pthread_t self = pthread_self ();
-  unsigned long hash = PTHREAD_HASH (self);
-  unsigned long rehash;
-
-#ifdef __alpha__
-  /* Alpha has the loosest memory ordering rules of all.  We need a memory
-     barrier to flush the reorder buffer before considering a *read* of a
-     shared variable.  Since we're not always taking a lock, we have to do
-     this by hand.  */
-  __sync_synchronize ();
-#endif
-
-  rehash = hash;
-  while (1)
-    {
-      if (mf_thread_data[rehash].used_p && mf_thread_data[rehash].self == self)
-       return &mf_thread_data[rehash];
-
-      rehash += 7;
-      if (rehash >= LIBMUDFLAPTH_THREADS_MAX)
-       rehash -= LIBMUDFLAPTH_THREADS_MAX;
-      if (rehash == hash)
-       break;
-    }
-
-  if (alloc)
-    {
-      pthread_mutex_lock (&mf_thread_data_lock);
-
-      rehash = hash;
-      while (1)
-       {
-         if (!mf_thread_data[rehash].used_p)
-           {
-             mf_thread_data[rehash].self = self;
-             __sync_synchronize ();
-             mf_thread_data[rehash].used_p = 1;
-
-             pthread_mutex_unlock (&mf_thread_data_lock);
-             return &mf_thread_data[rehash];
-           }
-
-         rehash += 7;
-         if (rehash >= LIBMUDFLAPTH_THREADS_MAX)
-           rehash -= LIBMUDFLAPTH_THREADS_MAX;
-         if (rehash == hash)
-           break;
-       }
-
-      pthread_mutex_unlock (&mf_thread_data_lock);
-    }
-
-  return NULL;
-}
-
-enum __mf_state_enum
-__mf_get_state (void)
-{
-  struct mf_thread_data *data = __mf_find_threadinfo (0);
-  if (data)
-    return data->state;
-
-  /* If we've never seen this thread before, consider it to be in the
-     reentrant state.  The state gets reset to active for the main thread
-     in __mf_init, and for child threads in __mf_pthread_spawner.
-
-     The trickiest bit here is that the LinuxThreads pthread_manager thread
-     should *always* be considered to be reentrant, so that none of our 
-     hooks actually do anything.  Why?  Because that thread isn't a real
-     thread from the point of view of the thread library, and so lots of
-     stuff isn't initialized, leading to SEGV very quickly.  Even calling
-     pthread_self is a bit suspect, but it happens to work.  */
-
-  return reentrant;
-}
-
-void
-__mf_set_state (enum __mf_state_enum new_state)
-{
-  struct mf_thread_data *data = __mf_find_threadinfo (1);
-  data->state = new_state;
-}
-#endif
-
-/* The following two functions are used only with __mf_opts.heur_std_data.
-   We're interested in recording the location of the thread-local errno
-   variable.
-
-   Note that this doesn't handle TLS references in general; we have no
-   visibility into __tls_get_data for when that memory is allocated at
-   runtime.  Hopefully we get to see the malloc or mmap operation that
-   eventually allocates the backing store.  */
-
-/* Describe the startup information for a new user thread.  */
-struct mf_thread_start_info
-{
-  /* The user's thread entry point and argument.  */
-  void * (*user_fn)(void *);
-  void *user_arg;
-};
-
-
-static void
-__mf_pthread_cleanup (void *arg)
-{
-  if (__mf_opts.heur_std_data)
-    __mf_unregister (&errno, sizeof (errno), __MF_TYPE_GUESS);
-
-#if !defined(HAVE_TLS) || defined(USE_EMUTLS)
-  struct mf_thread_data *data = __mf_find_threadinfo (0);
-  if (data)
-    data->used_p = 0;
-#endif
-}
-
-
-static void *
-__mf_pthread_spawner (void *arg)
-{
-  void *result = NULL;
-
-  __mf_set_state (active);
-
-  /* NB: We could use __MF_TYPE_STATIC here, but we guess that the thread
-     errno is coming out of some dynamically allocated pool that we already
-     know of as __MF_TYPE_HEAP. */
-  if (__mf_opts.heur_std_data)
-    __mf_register (&errno, sizeof (errno), __MF_TYPE_GUESS,
-                  "errno area (thread)");
-
-  /* We considered using pthread_key_t objects instead of these
-     cleanup stacks, but they were less cooperative with the
-     interposed malloc hooks in libmudflap.  */
-  /* ??? The pthread_key_t problem is solved above...  */
-  pthread_cleanup_push (__mf_pthread_cleanup, NULL);
-
-  /* Extract given entry point and argument.  */
-  struct mf_thread_start_info *psi = arg;
-  void * (*user_fn)(void *) = psi->user_fn;
-  void *user_arg = psi->user_arg;
-  CALL_REAL (free, arg);
-
-  result = (*user_fn)(user_arg);
-
-  pthread_cleanup_pop (1 /* execute */);
-
-  return result;
-}
-
-
-#if PIC
-/* A special bootstrap variant. */
-int
-__mf_0fn_pthread_create (pthread_t *thr, const pthread_attr_t *attr,
-                        void * (*start) (void *), void *arg)
-{
-  return -1;
-}
-#endif
-
-
-#undef pthread_create
-WRAPPER(int, pthread_create, pthread_t *thr, const pthread_attr_t *attr,
-        void * (*start) (void *), void *arg)
-{
-  struct mf_thread_start_info *si;
-
-  TRACE ("pthread_create\n");
-
-  /* Fill in startup-control fields.  */
-  si = CALL_REAL (malloc, sizeof (*si));
-  si->user_fn = start;
-  si->user_arg = arg;
-
-  /* Actually create the thread.  */
-  return CALL_REAL (pthread_create, thr, attr, __mf_pthread_spawner, si);
-}
diff --git a/libmudflap/mf-impl.h b/libmudflap/mf-impl.h
deleted file mode 100644 (file)
index 107ed40..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-/* Implementation header for mudflap runtime library.
-   Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef __MF_IMPL_H
-#define __MF_IMPL_H
-
-#ifdef _MUDFLAP
-#error "Do not compile this file with -fmudflap!"
-#endif
-
-#if HAVE_PTHREAD_H
-#include <pthread.h>
-#elif LIBMUDFLAPTH
-#error "Cannot build libmudflapth without pthread.h."
-#endif
-
-#if HAVE_STDINT_H
-#include <stdint.h>
-#else
-typedef __mf_uintptr_t uintptr_t;
-#endif
-
-/* Private definitions related to mf-runtime.h  */
-
-#define __MF_TYPE_MAX_CEM  __MF_TYPE_STACK  /* largest type# for the cemetery */
-#define __MF_TYPE_MAX __MF_TYPE_GUESS
-
-
-#ifndef max
-#define max(a,b) ((a) > (b) ? (a) : (b))
-#endif
-
-#ifndef min
-#define min(a,b) ((a) < (b) ? (a) : (b))
-#endif
-
-/* Address calculation macros.  */
-
-#define MINPTR ((uintptr_t) 0)
-#define MAXPTR (~ (uintptr_t) 0)
-
-/* Clamp the addition/subtraction of uintptr_t's to [MINPTR,MAXPTR] */
-#define CLAMPSUB(ptr,offset) (((uintptr_t) ptr) >= (offset) ? ((uintptr_t) ptr)-((uintptr_t) offset) : MINPTR)
-#define CLAMPADD(ptr,offset) (((uintptr_t) ptr) <= MAXPTR-(offset) ? ((uintptr_t) ptr)+((uintptr_t) offset) : MAXPTR)
-#define CLAMPSZ(ptr,size) ((size) ? (((uintptr_t) ptr) <= MAXPTR-(size)+1 ? ((uintptr_t) ptr)+((uintptr_t) size) - 1 : MAXPTR) : ((uintptr_t) ptr))
-
-#define __MF_CACHE_INDEX(ptr) ((((uintptr_t) (ptr)) >> __mf_lc_shift) & __mf_lc_mask)
-#define __MF_CACHE_MISS_P(ptr,sz) ({ \
-             struct __mf_cache *elem = & __mf_lookup_cache[__MF_CACHE_INDEX((ptr))]; \
-             ((elem->low > (uintptr_t) (ptr)) ||                  \
-             (elem->high < (CLAMPADD((uintptr_t) (ptr), (uintptr_t) CLAMPSUB(sz,1) )))); })
-/* XXX: the above should use CLAMPSZ () */
-
-
-
-/* Private functions. */
-
-extern void __mf_violation (void *ptr, size_t sz,
-                           uintptr_t pc, const char *location,
-                           int type);
-extern size_t __mf_backtrace (char ***, void *, unsigned);
-extern int __mf_heuristic_check (uintptr_t, uintptr_t);
-
-/* ------------------------------------------------------------------------ */
-/* Type definitions. */
-/* ------------------------------------------------------------------------ */
-
-/* The mf_state type codes describe recursion and initialization order.
-
-   reentrant means we are inside a mf-runtime support routine, such as
-   __mf_register, and thus there should be no calls to any wrapped functions,
-   such as the wrapped malloc.  This indicates a bug if it occurs.
-   in_malloc means we are inside a real malloc call inside a wrapped malloc
-   call, and thus there should be no calls to any wrapped functions like the
-   wrapped mmap.  This happens on some systems due to how the system libraries
-   are constructed.  */
-
-enum __mf_state_enum { active, reentrant, in_malloc }; 
-
-/* The __mf_options structure records optional or tunable aspects of the
- mudflap library's behavior. There is a single global instance of this
- structure which is populated from user input (in an environment variable)
- when the library initializes. */
-
-struct __mf_options
-{
-  /* Emit a trace message for each call. */
-  unsigned trace_mf_calls;
-
-  /* Collect and emit statistics. */
-  unsigned collect_stats;
-
-  /* Set up a SIGUSR1 -> __mf_report handler. */
-  unsigned sigusr1_report;
-
-  /* Execute internal checking code. */
-  unsigned internal_checking;
-
-  /* Age object liveness periodically. */
-  unsigned tree_aging;
-
-  /* Adapt the lookup cache to working set. */
-  unsigned adapt_cache;
-
-  /* Print list of leaked heap objects on shutdown. */
-  unsigned print_leaks;
-
-#ifdef HAVE___LIBC_FREERES
-  /* Call __libc_freeres before leak analysis. */
-  unsigned call_libc_freeres;
-#endif
-
-  /* Detect reads of uninitialized objects. */
-  unsigned check_initialization;
-
-  /* Print verbose description of violations. */
-  unsigned verbose_violations;
-
-  /* Abbreviate duplicate object descriptions.  */
-  unsigned abbreviate;
-
-  /* Emit internal tracing message. */
-  unsigned verbose_trace;
-
-  /* Wipe stack/heap objects upon unwind.  */
-  unsigned wipe_stack;
-  unsigned wipe_heap;
-
-  /* Maintain a queue of this many deferred free()s,
-     to trap use of freed memory. */
-  unsigned free_queue_length;
-
-  /* Maintain a history of this many past unregistered objects. */
-  unsigned persistent_count;
-
-  /* Pad allocated extents by this many bytes on either side. */
-  unsigned crumple_zone;
-
-  /* Maintain this many stack frames for contexts. */
-  unsigned backtrace;
-
-  /* Ignore read operations even if mode_check is in effect.  */
-  unsigned ignore_reads;
-
-  /* Collect register/unregister timestamps.  */
-  unsigned timestamps;
-
-#ifdef LIBMUDFLAPTH
-  /* Thread stack size.  */
-  unsigned thread_stack;
-#endif
-
-  /* Major operation mode */
-#define mode_nop 0      /* Do nothing.  */
-#define mode_populate 1 /* Populate tree but do not check for violations.  */
-#define mode_check 2    /* Populate and check for violations (normal).  */
-#define mode_violate 3  /* Trigger a violation on every call (diagnostic).  */
-  unsigned mudflap_mode;
-
-  /* How to handle a violation. */
-#define viol_nop 0   /* Return control to application. */
-#define viol_segv 1  /* Signal self with segv. */
-#define viol_abort 2 /* Call abort (). */
-#define viol_gdb 3   /* Fork a debugger on self */
-  unsigned violation_mode;
-
-  /* Violation heuristics selection. */
-  unsigned heur_stack_bound; /* allow current stack region */
-  unsigned heur_proc_map;  /* allow & cache /proc/self/map regions.  */
-  unsigned heur_start_end; /* allow _start .. _end */
-  unsigned heur_std_data; /* allow & cache stdlib data */
-};
-
-
-#ifdef PIC
-
-/* This is a table of dynamically resolved function pointers. */
-
-struct __mf_dynamic_entry
-{
-  void *pointer;
-  char *name;
-  char *version;
-};
-
-/* The definition of the array (mf-runtime.c) must match the enums!  */
-extern struct __mf_dynamic_entry __mf_dynamic[];
-enum __mf_dynamic_index
-{
-  dyn_calloc, dyn_free, dyn_malloc, dyn_mmap,
-#ifdef HAVE_MMAP64
-  dyn_mmap64,
-#endif
-  dyn_munmap, dyn_realloc,
-  dyn_INITRESOLVE,  /* Marker for last init-time resolution. */
-#ifdef LIBMUDFLAPTH
-  dyn_pthread_create
-#endif
-};
-
-#endif /* PIC */
-
-/* ------------------------------------------------------------------------ */
-/* Private global variables. */
-/* ------------------------------------------------------------------------ */
-
-#ifdef LIBMUDFLAPTH
-extern pthread_mutex_t __mf_biglock;
-#define LOCKTH() do { extern unsigned long __mf_lock_contention; \
-                      int rc = pthread_mutex_trylock (& __mf_biglock); \
-                      if (rc) { __mf_lock_contention ++; \
-                                rc = pthread_mutex_lock (& __mf_biglock); } \
-                      assert (rc==0); } while (0)
-#define UNLOCKTH() do { int rc = pthread_mutex_unlock (& __mf_biglock); \
-                        assert (rc==0); } while (0)
-#else
-#define LOCKTH() do {} while (0)
-#define UNLOCKTH() do {} while (0)
-#endif
-
-#if defined(LIBMUDFLAPTH) && (!defined(HAVE_TLS) || defined(USE_EMUTLS))
-extern enum __mf_state_enum __mf_get_state (void);
-extern void __mf_set_state (enum __mf_state_enum);
-#else
-# ifdef LIBMUDFLAPTH
-extern __thread enum __mf_state_enum __mf_state_1;
-# else
-extern enum __mf_state_enum __mf_state_1;
-# endif
-static inline enum __mf_state_enum __mf_get_state (void)
-{
-  return __mf_state_1;
-}
-static inline void __mf_set_state (enum __mf_state_enum s)
-{
-  __mf_state_1 = s;
-}
-#endif
-
-extern int __mf_starting_p;
-extern struct __mf_options __mf_opts;
-
-/* ------------------------------------------------------------------------ */
-/* Utility macros. */
-/* ------------------------------------------------------------------------ */
-
-#define UNLIKELY(e) (__builtin_expect (!!(e), 0))
-#define LIKELY(e) (__builtin_expect (!!(e), 1))
-#define STRINGIFY2(e) #e
-#define STRINGIFY(e) STRINGIFY2(e)
-
-#ifdef LIBMUDFLAPTH
-#define VERBOSE_TRACE(...) \
-  do { if (UNLIKELY (__mf_opts.verbose_trace)) {  \
-      fprintf (stderr, "mf(%u): ", (unsigned) pthread_self ()); \
-      fprintf (stderr, __VA_ARGS__); \
-    } } while (0)
-#define TRACE(...) \
-  do { if (UNLIKELY (__mf_opts.trace_mf_calls)) { \
-      fprintf (stderr, "mf(%u): ", (unsigned) pthread_self ()); \
-      fprintf (stderr, __VA_ARGS__); \
-    } } while (0)
-#else
-#define VERBOSE_TRACE(...) \
-  do { if (UNLIKELY (__mf_opts.verbose_trace)) {  \
-      fprintf (stderr, "mf: "); \
-      fprintf (stderr, __VA_ARGS__); \
-    } } while (0)
-#define TRACE(...) \
-  do { if (UNLIKELY (__mf_opts.trace_mf_calls)) { \
-      fprintf (stderr, "mf: "); \
-      fprintf (stderr, __VA_ARGS__); \
-    } } while (0)
-#endif
-
-
-#define __MF_PERSIST_MAX 256
-#define __MF_FREEQ_MAX 256
-
-/*
-   Wrapping and redirection:
-
-   Mudflap redirects a number of libc functions into itself, for "cheap"
-   verification (eg. strcpy, bzero, memcpy) and also to register /
-   unregister regions of memory as they are manipulated by the program
-   (eg. malloc/free, mmap/munmap).
-
-   There are two methods of wrapping.
-
-   (1) The static method involves a list of -wrap=foo flags being passed to
-   the linker, which then links references to "foo" to the symbol
-   "__wrap_foo", and links references to "__real_foo" to the symbol "foo".
-   When compiled without -DPIC, libmudflap.a contains such __wrap_foo
-   functions which delegate to __real_foo functions in libc to get their
-   work done.
-
-   (2) The dynamic method involves providing a definition of symbol foo in
-   libmudflap.so and linking it earlier in the compiler command line,
-   before libc.so. The function "foo" in libmudflap must then call
-   dlsym(RTLD_NEXT, "foo") to acquire a pointer to the "real" libc foo, or
-   at least the "next" foo in the dynamic link resolution order.
-
-   We switch between these two techniques by the presence of the -DPIC
-   #define passed in by libtool when building libmudflap.
-*/
-
-
-#ifdef PIC
-
-extern void __mf_resolve_single_dynamic (struct __mf_dynamic_entry *);
-
-#define _GNU_SOURCE
-#include <dlfcn.h>
-
-#define WRAPPER(ret, fname, ...)                      \
-ret __wrap_ ## fname (__VA_ARGS__)                    \
-    __attribute__ (( alias  (#fname)  ));             \
-ret __real_ ## fname (__VA_ARGS__)                    \
-    __attribute__ (( alias  (#fname)  ));             \
-ret fname (__VA_ARGS__)
-#define DECLARE(ty, fname, ...)                       \
- typedef ty (*__mf_fn_ ## fname) (__VA_ARGS__);       \
- extern ty __mf_0fn_ ## fname (__VA_ARGS__);
-#define CALL_REAL(fname, ...)                         \
-  ({__mf_starting_p \
-     ? __mf_0fn_ ## fname (__VA_ARGS__) \
-    : (__mf_resolve_single_dynamic (& __mf_dynamic[dyn_ ## fname]), \
-       (((__mf_fn_ ## fname)(__mf_dynamic[dyn_ ## fname].pointer)) (__VA_ARGS__)));})
-#define CALL_BACKUP(fname, ...)                       \
-  __mf_0fn_ ## fname(__VA_ARGS__)
-
-#else /* not PIC --> static library */
-
-#define WRAPPER(ret, fname, ...)            \
-ret __wrap_ ## fname (__VA_ARGS__)
-#define DECLARE(ty, fname, ...)             \
- extern ty __real_ ## fname (__VA_ARGS__)
-#define CALL_REAL(fname, ...)               \
- __real_ ## fname (__VA_ARGS__)
-#define CALL_BACKUP(fname, ...)             \
-  __real_ ## fname(__VA_ARGS__)
-
-#endif /* PIC */
-
-/* WRAPPER2 is for functions intercepted via macros at compile time. */
-#define WRAPPER2(ret, fname, ...)                     \
-ret __mfwrap_ ## fname (__VA_ARGS__)
-
-
-/* Utility macros for mf-hooks*.c */
-
-#define MF_VALIDATE_EXTENT(value,size,acc,context) \
- do { \
-  if (UNLIKELY (size > 0 && __MF_CACHE_MISS_P (value, size))) \
-    if (acc == __MF_CHECK_WRITE || ! __mf_opts.ignore_reads) \
-    __mf_check ((void *) (value), (size), acc, "(" context ")"); \
- } while (0)
-#define BEGIN_PROTECT(fname, ...)       \
-  if (UNLIKELY (__mf_starting_p)) \
-  {                                         \
-    return CALL_BACKUP(fname, __VA_ARGS__); \
-  }                                         \
-  else if (UNLIKELY (__mf_get_state () == reentrant))   \
-  {                                         \
-    extern unsigned long __mf_reentrancy;   \
-    __mf_reentrancy ++; \
-    return CALL_REAL(fname, __VA_ARGS__);   \
-  }                                         \
-  else if (UNLIKELY (__mf_get_state () == in_malloc))   \
-  {                                         \
-    return CALL_REAL(fname, __VA_ARGS__);   \
-  }                                         \
-  else                                      \
-  {                                         \
-    TRACE ("%s\n", __PRETTY_FUNCTION__); \
-  }
-
-/* There is an assumption here that these will only be called in routines
-   that call BEGIN_PROTECT at the start, and hence the state must always
-   be active when BEGIN_MALLOC_PROTECT is called.  */
-#define BEGIN_MALLOC_PROTECT() \
-  __mf_set_state (in_malloc)
-
-#define END_MALLOC_PROTECT() \
-  __mf_set_state (active)
-
-/* Unlocked variants of main entry points from mf-runtime.h.  */
-extern void __mfu_check (void *ptr, size_t sz, int type, const char *location);
-extern void __mfu_register (void *ptr, size_t sz, int type, const char *name);
-extern void __mfu_unregister (void *ptr, size_t sz, int type);
-extern void __mfu_report ();
-extern int __mfu_set_options (const char *opts);
-
-
-#endif /* __MF_IMPL_H */
diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c
deleted file mode 100644 (file)
index 96a396e..0000000
+++ /dev/null
@@ -1,2886 +0,0 @@
-/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-   Splay Tree code originally by Mark Mitchell <mark@markmitchell.com>,
-   adapted from libiberty.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-
-/* These attempt to coax various unix flavours to declare all our
-   needed tidbits in the system headers.  */
-#if !defined(__FreeBSD__) && !defined(__APPLE__)
-#define _POSIX_SOURCE
-#endif /* Some BSDs break <sys/socket.h> if this is defined. */
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE
-#define _BSD_TYPES
-#define __EXTENSIONS__
-#define _ALL_SOURCE
-#define _LARGE_FILE_API
-#define _XOPEN_SOURCE_EXTENDED 1
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#include <assert.h>
-
-#include <string.h>
-#include <limits.h>
-#include <sys/types.h>
-#include <signal.h>
-#include <errno.h>
-#include <ctype.h>
-
-#include "mf-runtime.h"
-#include "mf-impl.h"
-
-
-/* ------------------------------------------------------------------------ */
-/* Splay-tree implementation.  */
-
-typedef uintptr_t mfsplay_tree_key;
-typedef void *mfsplay_tree_value;
-
-/* Forward declaration for a node in the tree.  */
-typedef struct mfsplay_tree_node_s *mfsplay_tree_node;
-
-/* The type of a function used to iterate over the tree.  */
-typedef int (*mfsplay_tree_foreach_fn) (mfsplay_tree_node, void *);
-
-/* The nodes in the splay tree.  */
-struct mfsplay_tree_node_s
-{
-  /* Data.  */
-  mfsplay_tree_key key;
-  mfsplay_tree_value value;
-  /* Children.  */
-  mfsplay_tree_node left;
-  mfsplay_tree_node right;
-  /* XXX: The addition of a parent pointer may eliminate some recursion.  */
-};
-
-/* The splay tree itself.  */
-struct mfsplay_tree_s
-{
-  /* The root of the tree.  */
-  mfsplay_tree_node root;
-
-  /* The last key value for which the tree has been splayed, but not
-     since modified.  */
-  mfsplay_tree_key last_splayed_key;
-  int last_splayed_key_p;
-
-  /* Statistics.  */
-  unsigned num_keys;
-
-  /* Traversal recursion control flags.  */
-  unsigned max_depth;
-  unsigned depth;
-  unsigned rebalance_p;
-};
-typedef struct mfsplay_tree_s *mfsplay_tree;
-
-static mfsplay_tree mfsplay_tree_new (void);
-static mfsplay_tree_node mfsplay_tree_insert (mfsplay_tree, mfsplay_tree_key, mfsplay_tree_value);
-static void mfsplay_tree_remove (mfsplay_tree, mfsplay_tree_key);
-static mfsplay_tree_node mfsplay_tree_lookup (mfsplay_tree, mfsplay_tree_key);
-static mfsplay_tree_node mfsplay_tree_predecessor (mfsplay_tree, mfsplay_tree_key);
-static mfsplay_tree_node mfsplay_tree_successor (mfsplay_tree, mfsplay_tree_key);
-static int mfsplay_tree_foreach (mfsplay_tree, mfsplay_tree_foreach_fn, void *);
-static void mfsplay_tree_rebalance (mfsplay_tree sp);
-
-/* ------------------------------------------------------------------------ */
-/* Utility macros */
-
-#define CTOR  __attribute__ ((constructor))
-#define DTOR  __attribute__ ((destructor))
-
-
-/* Codes to describe the context in which a violation occurs. */
-#define __MF_VIOL_UNKNOWN 0
-#define __MF_VIOL_READ 1
-#define __MF_VIOL_WRITE 2
-#define __MF_VIOL_REGISTER 3
-#define __MF_VIOL_UNREGISTER 4
-#define __MF_VIOL_WATCH 5
-
-/* Protect against recursive calls. */
-
-static void
-begin_recursion_protect1 (const char *pf)
-{
-  if (__mf_get_state () == reentrant)
-    {
-      write (2, "mf: erroneous reentrancy detected in `", 38);
-      write (2, pf, strlen(pf));
-      write (2, "'\n", 2); \
-      abort ();
-    }
-  __mf_set_state (reentrant);
-}
-
-#define BEGIN_RECURSION_PROTECT() \
-  begin_recursion_protect1 (__PRETTY_FUNCTION__)
-
-#define END_RECURSION_PROTECT() \
-  __mf_set_state (active)
-
-/* ------------------------------------------------------------------------ */
-/* Required globals.  */
-
-#define LOOKUP_CACHE_MASK_DFL 1023
-#define LOOKUP_CACHE_SIZE_MAX 65536 /* Allows max CACHE_MASK 0xFFFF */
-#define LOOKUP_CACHE_SHIFT_DFL 2
-
-struct __mf_cache __mf_lookup_cache [LOOKUP_CACHE_SIZE_MAX];
-uintptr_t __mf_lc_mask = LOOKUP_CACHE_MASK_DFL;
-unsigned char __mf_lc_shift = LOOKUP_CACHE_SHIFT_DFL;
-#define LOOKUP_CACHE_SIZE (__mf_lc_mask + 1)
-
-struct __mf_options __mf_opts;
-int __mf_starting_p = 1;
-
-#ifdef LIBMUDFLAPTH
-#if defined(HAVE_TLS) && !defined(USE_EMUTLS)
-__thread enum __mf_state_enum __mf_state_1 = reentrant;
-#endif
-#else
-enum __mf_state_enum __mf_state_1 = reentrant;
-#endif
-
-#ifdef LIBMUDFLAPTH
-pthread_mutex_t __mf_biglock =
-#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
-       PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
-#else
-       PTHREAD_MUTEX_INITIALIZER;
-#endif
-#endif
-
-/* Use HAVE_PTHREAD_H here instead of LIBMUDFLAPTH, so that even
-   the libmudflap.la (no threading support) can diagnose whether
-   the application is linked with -lpthread.  See __mf_usage() below.  */
-#if HAVE_PTHREAD_H
-#ifdef _POSIX_THREADS
-#pragma weak pthread_join
-#else
-#define pthread_join NULL
-#endif
-#endif
-
-
-/* ------------------------------------------------------------------------ */
-/* stats-related globals.  */
-
-static unsigned long __mf_count_check;
-static unsigned long __mf_lookup_cache_reusecount [LOOKUP_CACHE_SIZE_MAX];
-static unsigned long __mf_count_register;
-static unsigned long __mf_total_register_size [__MF_TYPE_MAX+1];
-static unsigned long __mf_count_unregister;
-static unsigned long __mf_total_unregister_size;
-static unsigned long __mf_count_violation [__MF_VIOL_WATCH+1];
-static unsigned long __mf_sigusr1_received;
-static unsigned long __mf_sigusr1_handled;
-/* not static */ unsigned long __mf_reentrancy;
-#ifdef LIBMUDFLAPTH
-/* not static */ unsigned long __mf_lock_contention;
-#endif
-
-
-/* ------------------------------------------------------------------------ */
-/* mode-check-related globals.  */
-
-typedef struct __mf_object
-{
-  uintptr_t low, high; /* __mf_register parameters */
-  const char *name;
-  char type; /* __MF_TYPE_something */
-  char watching_p; /* Trigger a VIOL_WATCH on access? */
-  unsigned read_count; /* Number of times __mf_check/read was called on this object.  */
-  unsigned write_count; /* Likewise for __mf_check/write.  */
-  unsigned liveness; /* A measure of recent checking activity.  */
-  unsigned description_epoch; /* Last epoch __mf_describe_object printed this.  */
-
-  uintptr_t alloc_pc;
-  struct timeval alloc_time;
-  char **alloc_backtrace;
-  size_t alloc_backtrace_size;
-#ifdef LIBMUDFLAPTH
-  pthread_t alloc_thread;
-#endif
-
-  int deallocated_p;
-  uintptr_t dealloc_pc;
-  struct timeval dealloc_time;
-  char **dealloc_backtrace;
-  size_t dealloc_backtrace_size;
-#ifdef LIBMUDFLAPTH
-  pthread_t dealloc_thread;
-#endif
-} __mf_object_t;
-
-/* Live objects: splay trees, separated by type, ordered on .low (base address).  */
-/* Actually stored as static vars within lookup function below.  */
-
-/* Dead objects: circular arrays; _MIN_CEM .. _MAX_CEM only */
-static unsigned __mf_object_dead_head[__MF_TYPE_MAX_CEM+1]; /* next empty spot */
-static __mf_object_t *__mf_object_cemetary[__MF_TYPE_MAX_CEM+1][__MF_PERSIST_MAX];
-
-
-/* ------------------------------------------------------------------------ */
-/* Forward function declarations */
-
-void __mf_init () CTOR;
-static void __mf_sigusr1_respond ();
-static unsigned __mf_find_objects (uintptr_t ptr_low, uintptr_t ptr_high,
-                                   __mf_object_t **objs, unsigned max_objs);
-static unsigned __mf_find_objects2 (uintptr_t ptr_low, uintptr_t ptr_high,
-                                    __mf_object_t **objs, unsigned max_objs, int type);
-static unsigned __mf_find_dead_objects (uintptr_t ptr_low, uintptr_t ptr_high,
-                                        __mf_object_t **objs, unsigned max_objs);
-static void __mf_adapt_cache ();
-static void __mf_describe_object (__mf_object_t *obj);
-static unsigned __mf_watch_or_not (void *ptr, size_t sz, char flag);
-static mfsplay_tree __mf_object_tree (int type);
-static void __mf_link_object (__mf_object_t *node);
-static void __mf_unlink_object (__mf_object_t *node);
-
-
-/* ------------------------------------------------------------------------ */
-/* Configuration engine */
-
-static void
-__mf_set_default_options ()
-{
-  memset (& __mf_opts, 0, sizeof (__mf_opts));
-
-  __mf_opts.adapt_cache = 1000003;
-  __mf_opts.abbreviate = 1;
-  __mf_opts.verbose_violations = 1;
-  __mf_opts.free_queue_length = 4;
-  __mf_opts.persistent_count = 100;
-  __mf_opts.crumple_zone = 32;
-  __mf_opts.backtrace = 4;
-  __mf_opts.timestamps = 1;
-  __mf_opts.mudflap_mode = mode_check;
-  __mf_opts.violation_mode = viol_nop;
-#ifdef HAVE___LIBC_FREERES
-  __mf_opts.call_libc_freeres = 1;
-#endif
-  __mf_opts.heur_std_data = 1;
-#ifdef LIBMUDFLAPTH
-  __mf_opts.thread_stack = 0;
-#endif
-
-  /* PR41443: Beware that the above flags will be applied to
-     setuid/setgid binaries, and cannot be overriden with
-     $MUDFLAP_OPTIONS.  So the defaults must be non-exploitable. 
-
-     Should we consider making the default violation_mode something
-     harsher than viol_nop?  OTOH, glibc's MALLOC_CHECK_ is disabled
-     by default for these same programs. */
-}
-
-static struct mudoption
-{
-  char *name;
-  char *description;
-  enum
-    {
-      set_option,
-      read_integer_option,
-    } type;
-  unsigned value;
-  unsigned *target;
-}
-options [] =
-  {
-    {"mode-nop",
-     "mudflaps do nothing",
-     set_option, (unsigned)mode_nop, (unsigned *)&__mf_opts.mudflap_mode},
-    {"mode-populate",
-     "mudflaps populate object tree",
-     set_option, (unsigned)mode_populate, (unsigned *)&__mf_opts.mudflap_mode},
-    {"mode-check",
-     "mudflaps check for memory violations",
-     set_option, (unsigned)mode_check, (unsigned *)&__mf_opts.mudflap_mode},
-    {"mode-violate",
-     "mudflaps always cause violations (diagnostic)",
-     set_option, (unsigned)mode_violate, (unsigned *)&__mf_opts.mudflap_mode},
-
-    {"viol-nop",
-     "violations do not change program execution",
-     set_option, (unsigned)viol_nop, (unsigned *)&__mf_opts.violation_mode},
-    {"viol-abort",
-     "violations cause a call to abort()",
-     set_option, (unsigned)viol_abort, (unsigned *)&__mf_opts.violation_mode},
-    {"viol-segv",
-     "violations are promoted to SIGSEGV signals",
-     set_option, (unsigned)viol_segv, (unsigned *)&__mf_opts.violation_mode},
-    {"viol-gdb",
-     "violations fork a gdb process attached to current program",
-     set_option, (unsigned)viol_gdb, (unsigned *)&__mf_opts.violation_mode},
-    {"trace-calls",
-     "trace calls to mudflap runtime library",
-     set_option, 1, &__mf_opts.trace_mf_calls},
-    {"verbose-trace",
-     "trace internal events within mudflap runtime library",
-     set_option, 1, &__mf_opts.verbose_trace},
-    {"collect-stats",
-     "collect statistics on mudflap's operation",
-     set_option, 1, &__mf_opts.collect_stats},
-#ifdef SIGUSR1
-    {"sigusr1-report",
-     "print report upon SIGUSR1",
-     set_option, 1, &__mf_opts.sigusr1_report},
-#endif
-    {"internal-checking",
-     "perform more expensive internal checking",
-     set_option, 1, &__mf_opts.internal_checking},
-    {"print-leaks",
-     "print any memory leaks at program shutdown",
-     set_option, 1, &__mf_opts.print_leaks},
-#ifdef HAVE___LIBC_FREERES
-    {"libc-freeres",
-     "call glibc __libc_freeres at shutdown for better leak data",
-     set_option, 1, &__mf_opts.call_libc_freeres},
-#endif
-    {"check-initialization",
-     "detect uninitialized object reads",
-     set_option, 1, &__mf_opts.check_initialization},
-    {"verbose-violations",
-     "print verbose messages when memory violations occur",
-     set_option, 1, &__mf_opts.verbose_violations},
-    {"abbreviate",
-     "abbreviate repetitive listings",
-     set_option, 1, &__mf_opts.abbreviate},
-    {"timestamps",
-     "track object lifetime timestamps",
-     set_option, 1, &__mf_opts.timestamps},
-    {"ignore-reads",
-     "ignore read accesses - assume okay",
-     set_option, 1, &__mf_opts.ignore_reads},
-    {"wipe-stack",
-     "wipe stack objects at unwind",
-     set_option, 1, &__mf_opts.wipe_stack},
-    {"wipe-heap",
-     "wipe heap objects at free",
-     set_option, 1, &__mf_opts.wipe_heap},
-    {"heur-proc-map",
-     "support /proc/self/map heuristics",
-     set_option, 1, &__mf_opts.heur_proc_map},
-    {"heur-stack-bound",
-     "enable a simple upper stack bound heuristic",
-     set_option, 1, &__mf_opts.heur_stack_bound},
-    {"heur-start-end",
-     "support _start.._end heuristics",
-     set_option, 1, &__mf_opts.heur_start_end},
-    {"heur-stdlib",
-     "register standard library data (argv, errno, stdin, ...)",
-     set_option, 1, &__mf_opts.heur_std_data},
-    {"free-queue-length",
-     "queue N deferred free() calls before performing them",
-     read_integer_option, 0, &__mf_opts.free_queue_length},
-    {"persistent-count",
-     "keep a history of N unregistered regions",
-     read_integer_option, 0, &__mf_opts.persistent_count},
-    {"crumple-zone",
-     "surround allocations with crumple zones of N bytes",
-     read_integer_option, 0, &__mf_opts.crumple_zone},
-    /* XXX: not type-safe.
-    {"lc-mask",
-     "set lookup cache size mask to N (2**M - 1)",
-     read_integer_option, 0, (int *)(&__mf_lc_mask)},
-    {"lc-shift",
-     "set lookup cache pointer shift",
-     read_integer_option, 0, (int *)(&__mf_lc_shift)},
-    */
-    {"lc-adapt",
-     "adapt mask/shift parameters after N cache misses",
-     read_integer_option, 1, &__mf_opts.adapt_cache},
-    {"backtrace",
-     "keep an N-level stack trace of each call context",
-     read_integer_option, 0, &__mf_opts.backtrace},
-#ifdef LIBMUDFLAPTH
-    {"thread-stack",
-     "override thread stacks allocation: N kB",
-     read_integer_option, 0, &__mf_opts.thread_stack},
-#endif
-    {0, 0, set_option, 0, NULL}
-  };
-
-static void
-__mf_usage ()
-{
-  struct mudoption *opt;
-
-  fprintf (stderr,
-           "This is a %s%sGCC \"mudflap\" memory-checked binary.\n"
-           "Mudflap is Copyright (C) 2002-2013 Free Software Foundation, Inc.\n"
-           "\n"
-           "Unless setuid, a program's mudflap options be set by an environment variable:\n"
-           "\n"
-           "$ export MUDFLAP_OPTIONS='<options>'\n"
-           "$ <mudflapped_program>\n"
-           "\n"
-           "where <options> is a space-separated list of \n"
-           "any of the following options.  Use `-no-OPTION' to disable options.\n"
-           "\n",
-#if HAVE_PTHREAD_H
-           (pthread_join ? "multi-threaded " : "single-threaded "),
-#else
-           "",
-#endif
-#if LIBMUDFLAPTH
-           "thread-aware "
-#else
-           "thread-unaware "
-#endif
-            );
-  /* XXX: The multi-threaded thread-unaware combination is bad.  */
-
-  for (opt = options; opt->name; opt++)
-    {
-      int default_p = (opt->value == * opt->target);
-
-      switch (opt->type)
-        {
-          char buf[128];
-        case set_option:
-          fprintf (stderr, "-%-23.23s %s", opt->name, opt->description);
-          if (default_p)
-            fprintf (stderr, " [active]\n");
-          else
-            fprintf (stderr, "\n");
-          break;
-        case read_integer_option:
-          strncpy (buf, opt->name, 128);
-          strncpy (buf + strlen (opt->name), "=N", 2);
-          fprintf (stderr, "-%-23.23s %s", buf, opt->description);
-          fprintf (stderr, " [%d]\n", * opt->target);
-          break;
-        default: abort();
-        }
-    }
-
-  fprintf (stderr, "\n");
-}
-
-
-int
-__mf_set_options (const char *optstr)
-{
-  int rc;
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  rc = __mfu_set_options (optstr);
-  /* XXX: It's not really that easy.  A change to a bunch of parameters
-     can require updating auxiliary state or risk crashing:
-     free_queue_length, crumple_zone ... */
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-  return rc;
-}
-
-
-int
-__mfu_set_options (const char *optstr)
-{
-  struct mudoption *opts = 0;
-  char *nxt = 0;
-  long tmp = 0;
-  int rc = 0;
-  const char *saved_optstr = optstr;
-
-  /* XXX: bounds-check for optstr! */
-
-  while (*optstr)
-    {
-      switch (*optstr) {
-      case ' ':
-      case '\t':
-      case '\n':
-        optstr++;
-        break;
-
-      case '-':
-        if (*optstr+1)
-          {
-            int negate = 0;
-            optstr++;
-
-            if (*optstr == '?' ||
-                strncmp (optstr, "help", 4) == 0)
-              {
-                /* Caller will print help and exit.  */
-                return -1;
-              }
-
-            if (strncmp (optstr, "no-", 3) == 0)
-              {
-                negate = 1;
-                optstr = & optstr[3];
-              }
-
-            for (opts = options; opts->name; opts++)
-              {
-                if (strncmp (optstr, opts->name, strlen (opts->name)) == 0)
-                  {
-                    optstr += strlen (opts->name);
-                    assert (opts->target);
-                    switch (opts->type)
-                      {
-                      case set_option:
-                        if (negate)
-                          *(opts->target) = 0;
-                        else
-                          *(opts->target) = opts->value;
-                        break;
-                      case read_integer_option:
-                        if (! negate && (*optstr == '=' && *(optstr+1)))
-                          {
-                            optstr++;
-                            tmp = strtol (optstr, &nxt, 10);
-                            if ((optstr != nxt) && (tmp != LONG_MAX))
-                              {
-                                optstr = nxt;
-                                *(opts->target) = (int)tmp;
-                              }
-                          }
-                        else if (negate)
-                          * opts->target = 0;
-                        break;
-                      }
-                  }
-              }
-          }
-        break;
-
-      default:
-        fprintf (stderr,
-                 "warning: unrecognized string '%s' in mudflap options\n",
-                 optstr);
-        optstr += strlen (optstr);
-        rc = -1;
-        break;
-      }
-    }
-
-  /* Special post-processing: bound __mf_lc_mask and free_queue_length for security. */
-  __mf_lc_mask &= (LOOKUP_CACHE_SIZE_MAX - 1);
-  __mf_opts.free_queue_length &= (__MF_FREEQ_MAX - 1);
-
-  /* Clear the lookup cache, in case the parameters got changed.  */
-  /* XXX: race */
-  memset (__mf_lookup_cache, 0, sizeof(__mf_lookup_cache));
-  /* void slot 0 */
-  __mf_lookup_cache[0].low = MAXPTR;
-
-  TRACE ("set options from `%s'\n", saved_optstr);
-
-  /* Call this unconditionally, in case -sigusr1-report was toggled. */
-  __mf_sigusr1_respond ();
-
-  return rc;
-}
-
-
-#ifdef PIC
-
-void
-__mf_resolve_single_dynamic (struct __mf_dynamic_entry *e)
-{
-  char *err;
-
-  assert (e);
-  if (e->pointer) return;
-
-#if HAVE_DLVSYM
-  if (e->version != NULL && e->version[0] != '\0') /* non-null/empty */
-    e->pointer = dlvsym (RTLD_NEXT, e->name, e->version);
-  else
-#endif
-    e->pointer = dlsym (RTLD_NEXT, e->name);
-
-  err = dlerror ();
-
-  if (err)
-    {
-      fprintf (stderr, "mf: error in dlsym(\"%s\"): %s\n",
-               e->name, err);
-      abort ();
-    }
-  if (! e->pointer)
-    {
-      fprintf (stderr, "mf: dlsym(\"%s\") = NULL\n", e->name);
-      abort ();
-    }
-}
-
-
-static void
-__mf_resolve_dynamics ()
-{
-  int i;
-  for (i = 0; i < dyn_INITRESOLVE; i++)
-    __mf_resolve_single_dynamic (& __mf_dynamic[i]);
-}
-
-
-/* NB: order must match enums in mf-impl.h */
-struct __mf_dynamic_entry __mf_dynamic [] =
-{
-  {NULL, "calloc", NULL},
-  {NULL, "free", NULL},
-  {NULL, "malloc", NULL},
-  {NULL, "mmap", NULL},
-#ifdef HAVE_MMAP64
-  {NULL, "mmap64", NULL},
-#endif
-  {NULL, "munmap", NULL},
-  {NULL, "realloc", NULL},
-  {NULL, "DUMMY", NULL}, /* dyn_INITRESOLVE */
-#ifdef LIBMUDFLAPTH
-  {NULL, "pthread_create", PTHREAD_CREATE_VERSION},
-  {NULL, "pthread_join", NULL},
-  {NULL, "pthread_exit", NULL}
-#endif
-};
-
-#endif /* PIC */
-
-
-
-/* ------------------------------------------------------------------------ */
-
-/* Lookup & manage automatic initialization of the five or so splay trees.  */
-static mfsplay_tree
-__mf_object_tree (int type)
-{
-  static mfsplay_tree trees [__MF_TYPE_MAX+1];
-  assert (type >= 0 && type <= __MF_TYPE_MAX);
-  if (UNLIKELY (trees[type] == NULL))
-    trees[type] = mfsplay_tree_new ();
-  return trees[type];
-}
-
-
-/* not static */void
-__mf_init ()
-{
-  char *ov = 0;
-
-  /* Return if initialization has already been done. */
-  if (LIKELY (__mf_starting_p == 0))
-    return;
-
-#if defined(__FreeBSD__) && defined(LIBMUDFLAPTH)
-  pthread_self();
-  LOCKTH ();
-  UNLOCKTH ();
-#endif /* Prime mutex which calls calloc upon first lock to avoid deadlock. */
-
-  /* This initial bootstrap phase requires that __mf_starting_p = 1. */
-#ifdef PIC
-  __mf_resolve_dynamics ();
-#endif
-  __mf_starting_p = 0;
-
-  __mf_set_state (active);
-
-  __mf_set_default_options ();
-
-  if (getuid () == geteuid () && getgid () == getegid ()) /* PR41433, not setuid */
-    ov = getenv ("MUDFLAP_OPTIONS");
-  if (ov)
-    {
-      int rc = __mfu_set_options (ov);
-      if (rc < 0)
-        {
-          __mf_usage ();
-          exit (1);
-        }
-    }
-
-  /* Initialize to a non-zero description epoch. */
-  __mf_describe_object (NULL);
-
-#define REG_RESERVED(obj) \
-  __mf_register (& obj, sizeof(obj), __MF_TYPE_NOACCESS, # obj)
-
-  REG_RESERVED (__mf_lookup_cache);
-  REG_RESERVED (__mf_lc_mask);
-  REG_RESERVED (__mf_lc_shift);
-  /* XXX: others of our statics?  */
-
-  /* Prevent access to *NULL. */
-  __mf_register (MINPTR, 1, __MF_TYPE_NOACCESS, "NULL");
-  __mf_lookup_cache[0].low = (uintptr_t) -1;
-}
-
-
-
-int
-__wrap_main (int argc, char* argv[])
-{
-  extern char **environ;
-  extern int main ();
-  extern int __real_main ();
-  static int been_here = 0;
-
-  if (__mf_opts.heur_std_data && ! been_here)
-    {
-      unsigned i;
-
-      been_here = 1;
-      __mf_register (argv, sizeof(char *)*(argc+1), __MF_TYPE_STATIC, "argv[]");
-      for (i=0; i<argc; i++)
-        {
-          unsigned j = strlen (argv[i]);
-          __mf_register (argv[i], j+1, __MF_TYPE_STATIC, "argv element");
-        }
-
-      for (i=0; ; i++)
-        {
-          char *e = environ[i];
-          unsigned j;
-          if (e == NULL) break;
-          j = strlen (environ[i]);
-          __mf_register (environ[i], j+1, __MF_TYPE_STATIC, "environ element");
-        }
-      __mf_register (environ, sizeof(char *)*(i+1), __MF_TYPE_STATIC, "environ[]");
-
-      __mf_register (& errno, sizeof (errno), __MF_TYPE_STATIC, "errno area");
-
-#if !(defined(__sun__) && defined(__svr4__))
-      /* Conflicts with the automatic registration of __iob[].  */
-      __mf_register (stdin,  sizeof (*stdin),  __MF_TYPE_STATIC, "stdin");
-      __mf_register (stdout, sizeof (*stdout), __MF_TYPE_STATIC, "stdout");
-      __mf_register (stderr, sizeof (*stderr), __MF_TYPE_STATIC, "stderr");
-#endif
-
-      /* Make some effort to register ctype.h static arrays.  */
-#if defined(__sun__) && defined(__svr4__)
-      /* __ctype[] is declared without size, but MB_CUR_MAX is the last
-        member.  There seems to be no proper way to determine the size.  */
-      __mf_register (__ctype, &MB_CUR_MAX - &__ctype[0] + 1, __MF_TYPE_STATIC, "__ctype");
-      /* __ctype_mask points at _C_masks[1].  The size can only determined
-        using nm on libc.so.1.  */
-      __mf_register (__ctype_mask - 1, 1028, __MF_TYPE_STATIC, "_C_masks");
-#endif
-      /* On modern Linux GLIBC, these are thread-specific and changeable, and are dealt
-         with in mf-hooks2.c.  */
-    }
-
-#ifdef PIC
-  return main (argc, argv, environ);
-#else
-  return __real_main (argc, argv, environ);
-#endif
-}
-
-
-
-extern void __mf_fini () DTOR;
-void __mf_fini ()
-{
-  TRACE ("__mf_fini\n");
-  __mfu_report ();
-
-#ifndef PIC
-/* Since we didn't populate the tree for allocations in constructors
-   before __mf_init, we cannot check destructors after __mf_fini.  */
-  __mf_opts.mudflap_mode = mode_nop;
-#endif
-}
-
-
-
-/* ------------------------------------------------------------------------ */
-/* __mf_check */
-
-void __mf_check (void *ptr, size_t sz, int type, const char *location)
-{
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  __mfu_check (ptr, sz, type, location);
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-}
-
-
-void __mfu_check (void *ptr, size_t sz, int type, const char *location)
-{
-  unsigned entry_idx = __MF_CACHE_INDEX (ptr);
-  struct __mf_cache *entry = & __mf_lookup_cache [entry_idx];
-  int judgement = 0; /* 0=undecided; <0=violation; >0=okay */
-  uintptr_t ptr_low = (uintptr_t) ptr;
-  uintptr_t ptr_high = CLAMPSZ (ptr, sz);
-  struct __mf_cache old_entry = *entry;
-
-  if (UNLIKELY (__mf_opts.sigusr1_report))
-    __mf_sigusr1_respond ();
-  if (UNLIKELY (__mf_opts.ignore_reads && type == 0))
-    return;
-
-  TRACE ("check ptr=%p b=%u size=%lu %s location=`%s'\n",
-         ptr, entry_idx, (unsigned long)sz,
-         (type == 0 ? "read" : "write"), location);
-
-  switch (__mf_opts.mudflap_mode)
-    {
-    case mode_nop:
-      /* It is tempting to poison the cache here similarly to
-         mode_populate.  However that eliminates a valuable
-         distinction between these two modes.  mode_nop is useful to
-         let a user count & trace every single check / registration
-         call.  mode_populate is useful to let a program run fast
-         while unchecked.
-      */
-      judgement = 1;
-      break;
-
-    case mode_populate:
-      entry->low = ptr_low;
-      entry->high = ptr_high;
-      judgement = 1;
-      break;
-
-    case mode_check:
-      {
-        unsigned heuristics = 0;
-
-        /* Advance aging/adaptation counters.  */
-        static unsigned adapt_count;
-        adapt_count ++;
-        if (UNLIKELY (__mf_opts.adapt_cache > 0 &&
-                      adapt_count > __mf_opts.adapt_cache))
-          {
-            adapt_count = 0;
-            __mf_adapt_cache ();
-          }
-
-        /* Looping only occurs if heuristics were triggered.  */
-        while (judgement == 0)
-          {
-            DECLARE (void, free, void *p);
-            __mf_object_t* ovr_obj[1];
-            unsigned obj_count;
-            __mf_object_t** all_ovr_obj = NULL;
-            __mf_object_t** dealloc_me = NULL;
-            unsigned i;
-
-            /* Find all overlapping objects.  Be optimistic that there is just one.  */
-            obj_count = __mf_find_objects (ptr_low, ptr_high, ovr_obj, 1);
-            if (UNLIKELY (obj_count > 1))
-              {
-                /* Allocate a real buffer and do the search again.  */
-                DECLARE (void *, malloc, size_t c);
-                unsigned n;
-                all_ovr_obj = CALL_REAL (malloc, (sizeof (__mf_object_t *) *
-                                                   obj_count));
-                if (all_ovr_obj == NULL) abort ();
-                n = __mf_find_objects (ptr_low, ptr_high, all_ovr_obj, obj_count);
-                assert (n == obj_count);
-                dealloc_me = all_ovr_obj;
-              }
-            else
-              {
-                all_ovr_obj = ovr_obj;
-                dealloc_me = NULL;
-              }
-
-            /* Update object statistics.  */
-            for (i = 0; i < obj_count; i++)
-              {
-                __mf_object_t *obj = all_ovr_obj[i];
-                assert (obj != NULL);
-                if (type == __MF_CHECK_READ)
-                  obj->read_count ++;
-                else
-                  obj->write_count ++;
-                obj->liveness ++;
-              }
-
-            /* Iterate over the various objects.  There are a number of special cases.  */
-            for (i = 0; i < obj_count; i++)
-              {
-                  __mf_object_t *obj = all_ovr_obj[i];
-
-                /* Any __MF_TYPE_NOACCESS hit is bad.  */
-                if (UNLIKELY (obj->type == __MF_TYPE_NOACCESS))
-                  judgement = -1;
-
-                /* Any object with a watch flag is bad.  */
-                if (UNLIKELY (obj->watching_p))
-                  judgement = -2; /* trigger VIOL_WATCH */
-
-                /* A read from an uninitialized object is bad. */
-                if (UNLIKELY (__mf_opts.check_initialization
-                              /* reading */
-                              && type == __MF_CHECK_READ
-                              /* not written */
-                              && obj->write_count == 0
-                              /* uninitialized (heap) */
-                              && obj->type == __MF_TYPE_HEAP))
-                  judgement = -1;
-              }
-
-            /* We now know that the access spans no invalid objects.  */
-            if (LIKELY (judgement >= 0))
-              for (i = 0; i < obj_count; i++)
-                {
-                  __mf_object_t *obj = all_ovr_obj[i];
-
-                  /* Is this access entirely contained within this object?  */
-                  if (LIKELY (ptr_low >= obj->low && ptr_high <= obj->high))
-                    {
-                      /* Valid access.  */
-                      entry->low = obj->low;
-                      entry->high = obj->high;
-                      judgement = 1;
-                    }
-                }
-
-            /* This access runs off the end of one valid object.  That
-                could be okay, if other valid objects fill in all the
-                holes.  We allow this only for HEAP and GUESS type
-                objects.  Accesses to STATIC and STACK variables
-                should not be allowed to span.  */
-            if (UNLIKELY ((judgement == 0) && (obj_count > 1)))
-              {
-                unsigned uncovered = 0;
-                for (i = 0; i < obj_count; i++)
-                  {
-                    __mf_object_t *obj = all_ovr_obj[i];
-                    int j, uncovered_low_p, uncovered_high_p;
-                    uintptr_t ptr_lower, ptr_higher;
-
-                    uncovered_low_p = ptr_low < obj->low;
-                    ptr_lower = CLAMPSUB (obj->low, 1);
-                    uncovered_high_p = ptr_high > obj->high;
-                    ptr_higher = CLAMPADD (obj->high, 1);
-
-                    for (j = 0; j < obj_count; j++)
-                      {
-                        __mf_object_t *obj2 = all_ovr_obj[j];
-
-                        if (i == j) continue;
-
-                        /* Filter out objects that cannot be spanned across.  */
-                        if (obj2->type == __MF_TYPE_STACK
-                            || obj2->type == __MF_TYPE_STATIC)
-                          continue;
-
-                          /* Consider a side "covered" if obj2 includes
-                             the next byte on that side.  */
-                          if (uncovered_low_p
-                              && (ptr_lower >= obj2->low && ptr_lower <= obj2->high))
-                            uncovered_low_p = 0;
-                          if (uncovered_high_p
-                              && (ptr_high >= obj2->low && ptr_higher <= obj2->high))
-                            uncovered_high_p = 0;
-                      }
-
-                    if (uncovered_low_p || uncovered_high_p)
-                      uncovered ++;
-                  }
-
-                /* Success if no overlapping objects are uncovered.  */
-                if (uncovered == 0)
-                  judgement = 1;
-                }
-
-
-            if (dealloc_me != NULL)
-              CALL_REAL (free, dealloc_me);
-
-            /* If the judgment is still unknown at this stage, loop
-               around at most one more time.  */
-            if (judgement == 0)
-              {
-                if (heuristics++ < 2) /* XXX parametrize this number? */
-                  judgement = __mf_heuristic_check (ptr_low, ptr_high);
-                else
-                  judgement = -1;
-              }
-          }
-
-      }
-      break;
-
-    case mode_violate:
-      judgement = -1;
-      break;
-    }
-
-  if (__mf_opts.collect_stats)
-    {
-      __mf_count_check ++;
-
-      if (LIKELY (old_entry.low != entry->low || old_entry.high != entry->high))
-        /* && (old_entry.low != 0) && (old_entry.high != 0)) */
-        __mf_lookup_cache_reusecount [entry_idx] ++;
-    }
-
-  if (UNLIKELY (judgement < 0))
-    __mf_violation (ptr, sz,
-                    (uintptr_t) __builtin_return_address (0), location,
-                    ((judgement == -1) ?
-                     (type == __MF_CHECK_READ ? __MF_VIOL_READ : __MF_VIOL_WRITE) :
-                     __MF_VIOL_WATCH));
-}
-
-
-static __mf_object_t *
-__mf_insert_new_object (uintptr_t low, uintptr_t high, int type,
-                        const char *name, uintptr_t pc)
-{
-  DECLARE (void *, calloc, size_t c, size_t n);
-
-  __mf_object_t *new_obj;
-  new_obj = CALL_REAL (calloc, 1, sizeof(__mf_object_t));
-  new_obj->low = low;
-  new_obj->high = high;
-  new_obj->type = type;
-  new_obj->name = name;
-  new_obj->alloc_pc = pc;
-#if HAVE_GETTIMEOFDAY
-  if (__mf_opts.timestamps)
-    gettimeofday (& new_obj->alloc_time, NULL);
-#endif
-#if LIBMUDFLAPTH
-  new_obj->alloc_thread = pthread_self ();
-#endif
-
-  if (__mf_opts.backtrace > 0 && (type == __MF_TYPE_HEAP || type == __MF_TYPE_HEAP_I))
-    new_obj->alloc_backtrace_size =
-      __mf_backtrace (& new_obj->alloc_backtrace,
-                      (void *) pc, 2);
-
-  __mf_link_object (new_obj);
-  return new_obj;
-}
-
-
-static void
-__mf_uncache_object (__mf_object_t *old_obj)
-{
-  /* Remove any low/high pointers for this object from the lookup cache.  */
-
-  /* Can it possibly exist in the cache?  */
-  if (LIKELY (old_obj->read_count + old_obj->write_count))
-    {
-      uintptr_t low = old_obj->low;
-      uintptr_t high = old_obj->high;
-      struct __mf_cache *entry;
-      unsigned i;
-      if ((high - low) >= (__mf_lc_mask << __mf_lc_shift))
-       {
-         /* For large objects (>= cache size - 1) check the whole cache.  */
-          entry = & __mf_lookup_cache [0];
-          for (i = 0; i <= __mf_lc_mask; i++, entry++)
-            {
-              /* NB: the "||" in the following test permits this code to
-                 tolerate the situation introduced by __mf_check over
-                 contiguous objects, where a cache entry spans several
-                 objects.  */
-              if (entry->low == low || entry->high == high)
-                {
-                  entry->low = MAXPTR;
-                  entry->high = MINPTR;
-                }
-            }
-        }
-      else
-       {
-         /* Object is now smaller then cache size.  */
-          unsigned entry_low_idx = __MF_CACHE_INDEX (low);
-          unsigned entry_high_idx = __MF_CACHE_INDEX (high);
-          if (entry_low_idx <= entry_high_idx)
-           {
-              entry = & __mf_lookup_cache [entry_low_idx];
-              for (i = entry_low_idx; i <= entry_high_idx; i++, entry++)
-                {
-                  /* NB: the "||" in the following test permits this code to
-                     tolerate the situation introduced by __mf_check over
-                     contiguous objects, where a cache entry spans several
-                     objects.  */
-                  if (entry->low == low || entry->high == high)
-                    {
-                      entry->low = MAXPTR;
-                      entry->high = MINPTR;
-                    }
-                }
-            }
-          else
-           {
-             /* Object wrapped around the end of the cache. First search
-                from low to end of cache and then from 0 to high.  */
-              entry = & __mf_lookup_cache [entry_low_idx];
-              for (i = entry_low_idx; i <= __mf_lc_mask; i++, entry++)
-                {
-                  /* NB: the "||" in the following test permits this code to
-                     tolerate the situation introduced by __mf_check over
-                     contiguous objects, where a cache entry spans several
-                     objects.  */
-                  if (entry->low == low || entry->high == high)
-                    {
-                      entry->low = MAXPTR;
-                      entry->high = MINPTR;
-                    }
-                }
-              entry = & __mf_lookup_cache [0];
-              for (i = 0; i <= entry_high_idx; i++, entry++)
-                {
-                  /* NB: the "||" in the following test permits this code to
-                     tolerate the situation introduced by __mf_check over
-                     contiguous objects, where a cache entry spans several
-                     objects.  */
-                  if (entry->low == low || entry->high == high)
-                    {
-                      entry->low = MAXPTR;
-                      entry->high = MINPTR;
-                    }
-                }
-           }
-       }
-    }
-}
-
-
-void
-__mf_register (void *ptr, size_t sz, int type, const char *name)
-{
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  __mfu_register (ptr, sz, type, name);
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-}
-
-
-void
-__mfu_register (void *ptr, size_t sz, int type, const char *name)
-{
-  TRACE ("register ptr=%p size=%lu type=%x name='%s'\n",
-         ptr, (unsigned long) sz, type, name ? name : "");
-
-  if (__mf_opts.collect_stats)
-    {
-      __mf_count_register ++;
-      __mf_total_register_size [(type < 0) ? 0 :
-                                (type > __MF_TYPE_MAX) ? 0 :
-                                type] += sz;
-    }
-
-  if (UNLIKELY (__mf_opts.sigusr1_report))
-    __mf_sigusr1_respond ();
-
-  switch (__mf_opts.mudflap_mode)
-    {
-    case mode_nop:
-      break;
-
-    case mode_violate:
-      __mf_violation (ptr, sz, (uintptr_t) __builtin_return_address (0), NULL,
-                      __MF_VIOL_REGISTER);
-      break;
-
-    case mode_populate:
-      /* Clear the cache.  */
-      /* XXX: why the entire cache? */
-      /* XXX: race */
-      memset (__mf_lookup_cache, 0, sizeof(__mf_lookup_cache));
-      /* void slot 0 */
-      __mf_lookup_cache[0].low = MAXPTR;
-      break;
-
-    case mode_check:
-      {
-        __mf_object_t *ovr_objs [1];
-        unsigned num_overlapping_objs;
-        uintptr_t low = (uintptr_t) ptr;
-        uintptr_t high = CLAMPSZ (ptr, sz);
-        uintptr_t pc = (uintptr_t) __builtin_return_address (0);
-
-        /* Treat unknown size indication as 1.  */
-        if (UNLIKELY (sz == 0)) sz = 1;
-
-        /* Look for objects only of the same type.  This will e.g. permit a registration
-           of a STATIC overlapping with a GUESS, and a HEAP with a NOACCESS.  At
-           __mf_check time however harmful overlaps will be detected. */
-        num_overlapping_objs = __mf_find_objects2 (low, high, ovr_objs, 1, type);
-
-        /* Handle overlaps.  */
-        if (UNLIKELY (num_overlapping_objs > 0))
-          {
-            __mf_object_t *ovr_obj = ovr_objs[0];
-
-            /* Accept certain specific duplication pairs.  */
-            if (((type == __MF_TYPE_STATIC) || (type == __MF_TYPE_GUESS))
-                && ovr_obj->low == low
-                && ovr_obj->high == high
-                && ovr_obj->type == type)
-              {
-                /* Duplicate registration for static objects may come
-                   from distinct compilation units.  */
-                VERBOSE_TRACE ("harmless duplicate reg %p-%p `%s'\n",
-                               (void *) low, (void *) high,
-                               (ovr_obj->name ? ovr_obj->name : ""));
-                break;
-              }
-
-            /* Alas, a genuine violation.  */
-            else
-              {
-                /* Two or more *real* mappings here. */
-                __mf_violation ((void *) ptr, sz,
-                                (uintptr_t) __builtin_return_address (0), NULL,
-                                __MF_VIOL_REGISTER);
-              }
-          }
-        else /* No overlapping objects: AOK.  */
-          __mf_insert_new_object (low, high, type, name, pc);
-
-        /* We could conceivably call __mf_check() here to prime the cache,
-           but then the read_count/write_count field is not reliable.  */
-        break;
-      }
-    } /* end switch (__mf_opts.mudflap_mode) */
-}
-
-
-void
-__mf_unregister (void *ptr, size_t sz, int type)
-{
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  __mfu_unregister (ptr, sz, type);
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-}
-
-
-void
-__mfu_unregister (void *ptr, size_t sz, int type)
-{
-  DECLARE (void, free, void *ptr);
-
-  if (UNLIKELY (__mf_opts.sigusr1_report))
-    __mf_sigusr1_respond ();
-
-  TRACE ("unregister ptr=%p size=%lu type=%x\n", ptr, (unsigned long) sz, type);
-
-  switch (__mf_opts.mudflap_mode)
-    {
-    case mode_nop:
-      break;
-
-    case mode_violate:
-      __mf_violation (ptr, sz,
-                      (uintptr_t) __builtin_return_address (0), NULL,
-                      __MF_VIOL_UNREGISTER);
-      break;
-
-    case mode_populate:
-      /* Clear the cache.  */
-      /* XXX: race */
-      memset (__mf_lookup_cache, 0, sizeof(__mf_lookup_cache));
-      /* void slot 0 */
-      __mf_lookup_cache[0].low = MAXPTR;
-      break;
-
-    case mode_check:
-      {
-        __mf_object_t *old_obj = NULL;
-        __mf_object_t *del_obj = NULL;  /* Object to actually delete. */
-        __mf_object_t *objs[1] = {NULL};
-        unsigned num_overlapping_objs;
-
-        num_overlapping_objs = __mf_find_objects2 ((uintptr_t) ptr,
-                                                   CLAMPSZ (ptr, sz), objs, 1, type);
-
-        /* Special case for HEAP_I - see free & realloc hook.  They don't
-           know whether the input region was HEAP or HEAP_I before
-           unmapping it.  Here we give HEAP a try in case HEAP_I
-           failed.  */
-        if ((type == __MF_TYPE_HEAP_I) && (num_overlapping_objs == 0))
-          {
-            num_overlapping_objs = __mf_find_objects2 ((uintptr_t) ptr,
-                                                       CLAMPSZ (ptr, sz), objs, 1, __MF_TYPE_HEAP);
-          }
-
-        old_obj = objs[0];
-        if (UNLIKELY ((num_overlapping_objs != 1) /* more than one overlap */
-                      || ((sz == 0) ? 0 : (sz != (old_obj->high - old_obj->low + 1))) /* size mismatch */
-                      || ((uintptr_t) ptr != old_obj->low))) /* base mismatch */
-          {
-            __mf_violation (ptr, sz,
-                            (uintptr_t) __builtin_return_address (0), NULL,
-                            __MF_VIOL_UNREGISTER);
-            break;
-          }
-
-        __mf_unlink_object (old_obj);
-        __mf_uncache_object (old_obj);
-
-        /* Wipe buffer contents if desired.  */
-        if ((__mf_opts.wipe_stack && old_obj->type == __MF_TYPE_STACK)
-            || (__mf_opts.wipe_heap && (old_obj->type == __MF_TYPE_HEAP
-                                        || old_obj->type == __MF_TYPE_HEAP_I)))
-          {
-            memset ((void *) old_obj->low,
-                    0,
-                    (size_t) (old_obj->high - old_obj->low + 1));
-          }
-
-        /* Manage the object cemetary.  */
-        if (__mf_opts.persistent_count > 0
-           && (unsigned) old_obj->type <= __MF_TYPE_MAX_CEM)
-          {
-            old_obj->deallocated_p = 1;
-            old_obj->dealloc_pc = (uintptr_t) __builtin_return_address (0);
-#if HAVE_GETTIMEOFDAY
-            if (__mf_opts.timestamps)
-              gettimeofday (& old_obj->dealloc_time, NULL);
-#endif
-#ifdef LIBMUDFLAPTH
-            old_obj->dealloc_thread = pthread_self ();
-#endif
-
-            if (__mf_opts.backtrace > 0 && old_obj->type == __MF_TYPE_HEAP)
-              old_obj->dealloc_backtrace_size =
-                __mf_backtrace (& old_obj->dealloc_backtrace,
-                                NULL, 2);
-
-            /* Encourage this object to be displayed again in current epoch.  */
-            old_obj->description_epoch --;
-
-            /* Put this object into the cemetary.  This may require this plot to
-               be recycled, and the previous resident to be designated del_obj.  */
-            {
-              unsigned row = old_obj->type;
-              unsigned plot = __mf_object_dead_head [row];
-
-              del_obj = __mf_object_cemetary [row][plot];
-              __mf_object_cemetary [row][plot] = old_obj;
-              plot ++;
-              if (plot == __mf_opts.persistent_count) plot = 0;
-              __mf_object_dead_head [row] = plot;
-            }
-          }
-        else
-          del_obj = old_obj;
-
-        if (__mf_opts.print_leaks)
-          {
-            if ((old_obj->read_count + old_obj->write_count) == 0 &&
-                (old_obj->type == __MF_TYPE_HEAP
-                 || old_obj->type == __MF_TYPE_HEAP_I))
-              {
-               /* The problem with a warning message here is that we may not
-                  be privy to accesses to such objects that occur within
-                  uninstrumented libraries.  */
-#if 0
-                fprintf (stderr,
-                         "*******\n"
-                         "mudflap warning: unaccessed registered object:\n");
-                __mf_describe_object (old_obj);
-#endif
-              }
-          }
-
-        if (del_obj != NULL) /* May or may not equal old_obj.  */
-          {
-            if (__mf_opts.backtrace > 0)
-              {
-                CALL_REAL(free, del_obj->alloc_backtrace);
-                if (__mf_opts.persistent_count > 0)
-                  {
-                    CALL_REAL(free, del_obj->dealloc_backtrace);
-                  }
-              }
-            CALL_REAL(free, del_obj);
-          }
-
-        break;
-      }
-    } /* end switch (__mf_opts.mudflap_mode) */
-
-
-  if (__mf_opts.collect_stats)
-    {
-      __mf_count_unregister ++;
-      __mf_total_unregister_size += sz;
-    }
-}
-
-
-
-struct tree_stats
-{
-  unsigned obj_count;
-  unsigned long total_size;
-  unsigned live_obj_count;
-  double total_weight;
-  double weighted_size;
-  unsigned long weighted_address_bits [sizeof (uintptr_t) * 8][2];
-};
-
-
-
-static int
-__mf_adapt_cache_fn (mfsplay_tree_node n, void *param)
-{
-  __mf_object_t *obj = (__mf_object_t *) n->value;
-  struct tree_stats *s = (struct tree_stats *) param;
-
-  assert (obj != NULL && s != NULL);
-
-  /* Exclude never-accessed objects.  */
-  if (obj->read_count + obj->write_count)
-    {
-      s->obj_count ++;
-      s->total_size += (obj->high - obj->low + 1);
-
-      if (obj->liveness)
-        {
-          unsigned i;
-          uintptr_t addr;
-
-          /* VERBOSE_TRACE ("analyze low=%p live=%u name=`%s'\n",
-             (void *) obj->low, obj->liveness, obj->name); */
-
-          s->live_obj_count ++;
-          s->total_weight += (double) obj->liveness;
-          s->weighted_size +=
-            (double) (obj->high - obj->low + 1) *
-            (double) obj->liveness;
-
-          addr = obj->low;
-          for (i=0; i<sizeof(uintptr_t) * 8; i++)
-            {
-              unsigned bit = addr & 1;
-              s->weighted_address_bits[i][bit] += obj->liveness;
-              addr = addr >> 1;
-            }
-
-          /* Age the liveness value.  */
-          obj->liveness >>= 1;
-        }
-    }
-
-  return 0;
-}
-
-
-static void
-__mf_adapt_cache ()
-{
-  struct tree_stats s;
-  uintptr_t new_mask = 0;
-  unsigned char new_shift;
-  float cache_utilization;
-  float max_value;
-  static float smoothed_new_shift = -1.0;
-  unsigned i;
-
-  memset (&s, 0, sizeof (s));
-
-  mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_HEAP), __mf_adapt_cache_fn, (void *) & s);
-  mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_HEAP_I), __mf_adapt_cache_fn, (void *) & s);
-  mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_STACK), __mf_adapt_cache_fn, (void *) & s);
-  mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_STATIC), __mf_adapt_cache_fn, (void *) & s);
-  mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_GUESS), __mf_adapt_cache_fn, (void *) & s);
-
-  /* Maybe we're dealing with funny aging/adaptation parameters, or an
-     empty tree.  Just leave the cache alone in such cases, rather
-     than risk dying by division-by-zero.  */
-  if (! (s.obj_count > 0) && (s.live_obj_count > 0) && (s.total_weight > 0.0))
-    return;
-
-  /* Guess a good value for the shift parameter by finding an address bit that is a
-     good discriminant of lively objects.  */
-  max_value = 0.0;
-  for (i=0; i<sizeof (uintptr_t)*8; i++)
-    {
-      float value = (float) s.weighted_address_bits[i][0] * (float) s.weighted_address_bits[i][1];
-      if (max_value < value) max_value = value;
-    }
-  for (i=0; i<sizeof (uintptr_t)*8; i++)
-    {
-      float shoulder_factor = 0.7;  /* Include slightly less popular bits too.  */
-      float value = (float) s.weighted_address_bits[i][0] * (float) s.weighted_address_bits[i][1];
-      if (value >= max_value * shoulder_factor)
-        break;
-    }
-  if (smoothed_new_shift < 0) smoothed_new_shift = __mf_lc_shift;
-  /* Converge toward this slowly to reduce flapping. */
-  smoothed_new_shift = 0.9*smoothed_new_shift + 0.1*i;
-  new_shift = (unsigned) (smoothed_new_shift + 0.5);
-  assert (new_shift < sizeof (uintptr_t)*8);
-
-  /* Count number of used buckets.  */
-  cache_utilization = 0.0;
-  for (i = 0; i < (1 + __mf_lc_mask); i++)
-    if (__mf_lookup_cache[i].low != 0 || __mf_lookup_cache[i].high != 0)
-      cache_utilization += 1.0;
-  cache_utilization /= (1 + __mf_lc_mask);
-
-  new_mask |= 0xffff; /* XXX: force a large cache.  */
-  new_mask &= (LOOKUP_CACHE_SIZE_MAX - 1);
-
-  VERBOSE_TRACE ("adapt cache obj=%u/%u sizes=%lu/%.0f/%.0f => "
-                 "util=%u%% m=%p s=%u\n",
-                 s.obj_count, s.live_obj_count, s.total_size, s.total_weight, s.weighted_size,
-                 (unsigned)(cache_utilization*100.0), (void *) new_mask, new_shift);
-
-  /* We should reinitialize cache if its parameters have changed.  */
-  if (new_mask != __mf_lc_mask ||
-      new_shift != __mf_lc_shift)
-    {
-      __mf_lc_mask = new_mask;
-      __mf_lc_shift = new_shift;
-      /* XXX: race */
-      memset (__mf_lookup_cache, 0, sizeof(__mf_lookup_cache));
-      /* void slot 0 */
-      __mf_lookup_cache[0].low = MAXPTR;
-    }
-}
-
-
-
-/* __mf_find_object[s] */
-
-/* Find overlapping live objecs between [low,high].  Return up to
-   max_objs of their pointers in objs[].  Return total count of
-   overlaps (may exceed max_objs). */
-
-unsigned
-__mf_find_objects2 (uintptr_t ptr_low, uintptr_t ptr_high,
-                    __mf_object_t **objs, unsigned max_objs, int type)
-{
-  unsigned count = 0;
-  mfsplay_tree t = __mf_object_tree (type);
-  mfsplay_tree_key k = (mfsplay_tree_key) ptr_low;
-  int direction;
-
-  mfsplay_tree_node n = mfsplay_tree_lookup (t, k);
-  /* An exact match for base address implies a hit.  */
-  if (n != NULL)
-    {
-      if (count < max_objs)
-        objs[count] = (__mf_object_t *) n->value;
-      count ++;
-    }
-
-  /* Iterate left then right near this key value to find all overlapping objects. */
-  for (direction = 0; direction < 2; direction ++)
-    {
-      /* Reset search origin.  */
-      k = (mfsplay_tree_key) ptr_low;
-
-      while (1)
-        {
-          __mf_object_t *obj;
-
-          n = (direction == 0 ? mfsplay_tree_successor (t, k) : mfsplay_tree_predecessor (t, k));
-          if (n == NULL) break;
-          obj = (__mf_object_t *) n->value;
-
-          if (! (obj->low <= ptr_high && obj->high >= ptr_low)) /* No overlap? */
-            break;
-
-          if (count < max_objs)
-            objs[count] = (__mf_object_t *) n->value;
-          count ++;
-
-          k = (mfsplay_tree_key) obj->low;
-        }
-    }
-
-  return count;
-}
-
-
-unsigned
-__mf_find_objects (uintptr_t ptr_low, uintptr_t ptr_high,
-                   __mf_object_t **objs, unsigned max_objs)
-{
-  int type;
-  unsigned count = 0;
-
-  /* Search each splay tree for overlaps.  */
-  for (type = __MF_TYPE_NOACCESS; type <= __MF_TYPE_GUESS; type++)
-    {
-      unsigned c = __mf_find_objects2 (ptr_low, ptr_high, objs, max_objs, type);
-      if (c > max_objs)
-        {
-          max_objs = 0;
-          objs = NULL;
-        }
-      else /* NB: C may equal 0 */
-        {
-          max_objs -= c;
-          objs += c;
-        }
-      count += c;
-    }
-
-  return count;
-}
-
-
-
-/* __mf_link_object */
-
-static void
-__mf_link_object (__mf_object_t *node)
-{
-  mfsplay_tree t = __mf_object_tree (node->type);
-  mfsplay_tree_insert (t, (mfsplay_tree_key) node->low, (mfsplay_tree_value) node);
-}
-
-/* __mf_unlink_object */
-
-static void
-__mf_unlink_object (__mf_object_t *node)
-{
-  mfsplay_tree t = __mf_object_tree (node->type);
-  mfsplay_tree_remove (t, (mfsplay_tree_key) node->low);
-}
-
-/* __mf_find_dead_objects */
-
-/* Find overlapping dead objecs between [low,high].  Return up to
-   max_objs of their pointers in objs[].  Return total count of
-   overlaps (may exceed max_objs).  */
-
-static unsigned
-__mf_find_dead_objects (uintptr_t low, uintptr_t high,
-                        __mf_object_t **objs, unsigned max_objs)
-{
-  if (__mf_opts.persistent_count > 0)
-    {
-      unsigned count = 0;
-      unsigned recollection = 0;
-      unsigned row = 0;
-
-      assert (low <= high);
-      assert (max_objs == 0 || objs != NULL);
-
-      /* Widen the search from the most recent plots in each row, looking
-         backward in time.  */
-      recollection = 0;
-      while (recollection < __mf_opts.persistent_count)
-        {
-          count = 0;
-
-          for (row = 0; row <= __MF_TYPE_MAX_CEM; row ++)
-            {
-              unsigned plot;
-              unsigned i;
-
-              plot = __mf_object_dead_head [row];
-              for (i = 0; i <= recollection; i ++)
-                {
-                  __mf_object_t *obj;
-
-                  /* Look backward through row: it's a circular buffer.  */
-                  if (plot > 0) plot --;
-                  else plot = __mf_opts.persistent_count - 1;
-
-                  obj = __mf_object_cemetary [row][plot];
-                  if (obj && obj->low <= high && obj->high >= low)
-                    {
-                      /* Found an overlapping dead object!  */
-                      if (count < max_objs)
-                        objs [count] = obj;
-                      count ++;
-                    }
-                }
-            }
-
-          if (count)
-            break;
-
-          /* Look farther back in time.  */
-          recollection = (recollection * 2) + 1;
-        }
-
-      return count;
-    } else {
-      return 0;
-    }
-}
-
-/* __mf_describe_object */
-
-static void
-__mf_describe_object (__mf_object_t *obj)
-{
-  static unsigned epoch = 0;
-  if (obj == NULL)
-    {
-      epoch ++;
-      return;
-    }
-
-  if (__mf_opts.abbreviate && obj->description_epoch == epoch)
-    {
-      fprintf (stderr,
-               "mudflap %sobject %p: name=`%s'\n",
-               (obj->deallocated_p ? "dead " : ""),
-               (void *) obj, (obj->name ? obj->name : ""));
-      return;
-    }
-  else
-    obj->description_epoch = epoch;
-
-  fprintf (stderr,
-           "mudflap %sobject %p: name=`%s'\n"
-           "bounds=[%p,%p] size=%lu area=%s check=%ur/%uw liveness=%u%s\n"
-           "alloc time=%lu.%06lu pc=%p"
-#ifdef LIBMUDFLAPTH
-           " thread=%u"
-#endif
-           "\n",
-           (obj->deallocated_p ? "dead " : ""),
-           (void *) obj, (obj->name ? obj->name : ""),
-           (void *) obj->low, (void *) obj->high,
-           (unsigned long) (obj->high - obj->low + 1),
-           (obj->type == __MF_TYPE_NOACCESS ? "no-access" :
-            obj->type == __MF_TYPE_HEAP ? "heap" :
-            obj->type == __MF_TYPE_HEAP_I ? "heap-init" :
-            obj->type == __MF_TYPE_STACK ? "stack" :
-            obj->type == __MF_TYPE_STATIC ? "static" :
-            obj->type == __MF_TYPE_GUESS ? "guess" :
-            "unknown"),
-           obj->read_count, obj->write_count, obj->liveness,
-           obj->watching_p ? " watching" : "",
-           obj->alloc_time.tv_sec, obj->alloc_time.tv_usec,
-           (void *) obj->alloc_pc
-#ifdef LIBMUDFLAPTH
-           , (unsigned) obj->alloc_thread
-#endif
-           );
-
-  if (__mf_opts.backtrace > 0)
-  {
-    unsigned i;
-    for (i=0; i<obj->alloc_backtrace_size; i++)
-      fprintf (stderr, "      %s\n", obj->alloc_backtrace[i]);
-  }
-
-  if (__mf_opts.persistent_count > 0)
-    {
-      if (obj->deallocated_p)
-        {
-          fprintf (stderr, "dealloc time=%lu.%06lu pc=%p"
-#ifdef LIBMUDFLAPTH
-                   " thread=%u"
-#endif
-                   "\n",
-                   obj->dealloc_time.tv_sec, obj->dealloc_time.tv_usec,
-                   (void *) obj->dealloc_pc
-#ifdef LIBMUDFLAPTH
-                   , (unsigned) obj->dealloc_thread
-#endif
-                   );
-
-
-          if (__mf_opts.backtrace > 0)
-          {
-            unsigned i;
-            for (i=0; i<obj->dealloc_backtrace_size; i++)
-              fprintf (stderr, "      %s\n", obj->dealloc_backtrace[i]);
-          }
-        }
-    }
-}
-
-
-static int
-__mf_report_leaks_fn (mfsplay_tree_node n, void *param)
-{
-  __mf_object_t *node = (__mf_object_t *) n->value;
-  unsigned *count = (unsigned *) param;
-
-  if (count != NULL)
-    (*count) ++;
-
-  fprintf (stderr, "Leaked object %u:\n", (*count));
-  __mf_describe_object (node);
-
-  return 0;
-}
-
-
-static unsigned
-__mf_report_leaks ()
-{
-  unsigned count = 0;
-
-  (void) mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_HEAP),
-                             __mf_report_leaks_fn, & count);
-  (void) mfsplay_tree_foreach (__mf_object_tree (__MF_TYPE_HEAP_I),
-                             __mf_report_leaks_fn, & count);
-
-  return count;
-}
-
-/* ------------------------------------------------------------------------ */
-/* __mf_report */
-
-void
-__mf_report ()
-{
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  __mfu_report ();
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-}
-
-void
-__mfu_report ()
-{
-  if (__mf_opts.collect_stats)
-    {
-      fprintf (stderr,
-               "*******\n"
-               "mudflap stats:\n"
-               "calls to __mf_check: %lu\n"
-               "         __mf_register: %lu [%luB, %luB, %luB, %luB, %luB]\n"
-               "         __mf_unregister: %lu [%luB]\n"
-               "         __mf_violation: [%lu, %lu, %lu, %lu, %lu]\n",
-               __mf_count_check,
-               __mf_count_register,
-               __mf_total_register_size[0], __mf_total_register_size[1],
-               __mf_total_register_size[2], __mf_total_register_size[3],
-               __mf_total_register_size[4], /* XXX */
-               __mf_count_unregister, __mf_total_unregister_size,
-               __mf_count_violation[0], __mf_count_violation[1],
-               __mf_count_violation[2], __mf_count_violation[3],
-               __mf_count_violation[4]);
-
-      fprintf (stderr,
-               "calls with reentrancy: %lu\n", __mf_reentrancy);
-#ifdef LIBMUDFLAPTH
-      fprintf (stderr,
-               "           lock contention: %lu\n", __mf_lock_contention);
-#endif
-
-      /* Lookup cache stats.  */
-      {
-        unsigned i;
-        unsigned max_reuse = 0;
-        unsigned num_used = 0;
-        unsigned num_unused = 0;
-
-        for (i = 0; i < LOOKUP_CACHE_SIZE; i++)
-          {
-            if (__mf_lookup_cache_reusecount[i])
-              num_used ++;
-            else
-              num_unused ++;
-            if (max_reuse < __mf_lookup_cache_reusecount[i])
-              max_reuse = __mf_lookup_cache_reusecount[i];
-          }
-        fprintf (stderr, "lookup cache slots used: %u  unused: %u  peak-reuse: %u\n",
-                 num_used, num_unused, max_reuse);
-      }
-
-      {
-        unsigned live_count;
-        live_count = __mf_find_objects (MINPTR, MAXPTR, NULL, 0);
-        fprintf (stderr, "number of live objects: %u\n", live_count);
-      }
-
-      if (__mf_opts.persistent_count > 0)
-        {
-          unsigned dead_count = 0;
-          unsigned row, plot;
-          for (row = 0; row <= __MF_TYPE_MAX_CEM; row ++)
-            for (plot = 0 ; plot < __mf_opts.persistent_count; plot ++)
-              if (__mf_object_cemetary [row][plot] != 0)
-                dead_count ++;
-          fprintf (stderr, "          zombie objects: %u\n", dead_count);
-        }
-    }
-  if (__mf_opts.print_leaks && (__mf_opts.mudflap_mode == mode_check))
-    {
-      unsigned l;
-      extern void * __mf_wrap_alloca_indirect (size_t c);
-
-      /* Free up any remaining alloca()'d blocks.  */
-      __mf_wrap_alloca_indirect (0);
-#ifdef HAVE___LIBC_FREERES
-      if (__mf_opts.call_libc_freeres)
-        {
-          extern void __libc_freeres (void);
-          __libc_freeres ();
-        }
-#endif
-
-      __mf_describe_object (NULL); /* Reset description epoch.  */
-      l = __mf_report_leaks ();
-      fprintf (stderr, "number of leaked objects: %u\n", l);
-    }
-}
-
-/* __mf_backtrace */
-
-size_t
-__mf_backtrace (char ***symbols, void *guess_pc, unsigned guess_omit_levels)
-{
-  void ** pc_array;
-  unsigned pc_array_size = __mf_opts.backtrace + guess_omit_levels;
-  unsigned remaining_size;
-  unsigned omitted_size = 0;
-  unsigned i;
-  DECLARE (void, free, void *ptr);
-  DECLARE (void *, calloc, size_t c, size_t n);
-  DECLARE (void *, malloc, size_t n);
-
-  pc_array = CALL_REAL (calloc, pc_array_size, sizeof (void *) );
-#ifdef HAVE_BACKTRACE
-  pc_array_size = backtrace (pc_array, pc_array_size);
-#else
-#define FETCH(n) do { if (pc_array_size >= n) { \
-                 pc_array[n] = __builtin_return_address(n); \
-                 if (pc_array[n] == 0) pc_array_size = n; } } while (0)
-
-  /* Unroll some calls __builtin_return_address because this function
-     only takes a literal integer parameter.  */
-  FETCH (0);
-#if 0
-  /* XXX: __builtin_return_address sometimes crashes (!) on >0 arguments,
-     rather than simply returning 0.  :-(  */
-  FETCH (1);
-  FETCH (2);
-  FETCH (3);
-  FETCH (4);
-  FETCH (5);
-  FETCH (6);
-  FETCH (7);
-  FETCH (8);
-  if (pc_array_size > 8) pc_array_size = 9;
-#else
-  if (pc_array_size > 0) pc_array_size = 1;
-#endif
-
-#undef FETCH
-#endif
-
-  /* We want to trim the first few levels of the stack traceback,
-     since they contain libmudflap wrappers and junk.  If pc_array[]
-     ends up containing a non-NULL guess_pc, then trim everything
-     before that.  Otherwise, omit the first guess_omit_levels
-     entries. */
-
-  if (guess_pc != NULL)
-    for (i=0; i<pc_array_size; i++)
-      if (pc_array [i] == guess_pc)
-        omitted_size = i;
-
-  if (omitted_size == 0) /* No match? */
-    if (pc_array_size > guess_omit_levels)
-      omitted_size = guess_omit_levels;
-
-  remaining_size = pc_array_size - omitted_size;
-
-#ifdef HAVE_BACKTRACE_SYMBOLS
-  *symbols = backtrace_symbols (pc_array + omitted_size, remaining_size);
-#else
-  {
-    /* Let's construct a buffer by hand.  It will have <remaining_size>
-       char*'s at the front, pointing at individual strings immediately
-       afterwards.  */
-    void *buffer;
-    char *chars;
-    char **pointers;
-    enum { perline = 30 };
-    buffer = CALL_REAL (malloc, remaining_size * (perline + sizeof(char *)));
-    pointers = (char **) buffer;
-    chars = (char *)buffer + (remaining_size * sizeof (char *));
-    for (i = 0; i < remaining_size; i++)
-      {
-        pointers[i] = chars;
-        sprintf (chars, "[0x%p]", pc_array [omitted_size + i]);
-        chars = chars + perline;
-      }
-    *symbols = pointers;
-  }
-#endif
-  CALL_REAL (free, pc_array);
-
-  return remaining_size;
-}
-
-/* ------------------------------------------------------------------------ */
-/* __mf_violation */
-
-void
-__mf_violation (void *ptr, size_t sz, uintptr_t pc,
-                const char *location, int type)
-{
-  char buf [128];
-  static unsigned violation_number;
-  DECLARE(void, free, void *ptr);
-
-  TRACE ("violation pc=%p location=%s type=%d ptr=%p size=%lu\n",
-         (void *) pc,
-         (location != NULL ? location : ""), type, ptr, (unsigned long) sz);
-
-  if (__mf_opts.collect_stats)
-    __mf_count_violation [(type < 0) ? 0 :
-                          (type > __MF_VIOL_WATCH) ? 0 :
-                          type] ++;
-
-  /* Print out a basic warning message.  */
-  if (__mf_opts.verbose_violations)
-  {
-    unsigned dead_p;
-    unsigned num_helpful = 0;
-    struct timeval now = { 0, 0 };
-#if HAVE_GETTIMEOFDAY
-    gettimeofday (& now, NULL);
-#endif
-
-    violation_number ++;
-    fprintf (stderr,
-             "*******\n"
-             "mudflap violation %u (%s): time=%lu.%06lu "
-             "ptr=%p size=%lu\npc=%p%s%s%s\n",
-             violation_number,
-             ((type == __MF_VIOL_READ) ? "check/read" :
-              (type == __MF_VIOL_WRITE) ? "check/write" :
-              (type == __MF_VIOL_REGISTER) ? "register" :
-              (type == __MF_VIOL_UNREGISTER) ? "unregister" :
-              (type == __MF_VIOL_WATCH) ? "watch" : "unknown"),
-             now.tv_sec, now.tv_usec,
-             (void *) ptr, (unsigned long)sz, (void *) pc,
-             (location != NULL ? " location=`" : ""),
-             (location != NULL ? location : ""),
-             (location != NULL ? "'" : ""));
-
-    if (__mf_opts.backtrace > 0)
-      {
-        char ** symbols;
-        unsigned i, num;
-
-        num = __mf_backtrace (& symbols, (void *) pc, 2);
-        /* Note: backtrace_symbols calls malloc().  But since we're in
-           __mf_violation and presumably __mf_check, it'll detect
-           recursion, and not put the new string into the database.  */
-
-        for (i=0; i<num; i++)
-          fprintf (stderr, "      %s\n", symbols[i]);
-
-        /* Calling free() here would trigger a violation.  */
-        CALL_REAL(free, symbols);
-      }
-
-
-    /* Look for nearby objects.  For this, we start with s_low/s_high
-       pointing to the given area, looking for overlapping objects.
-       If none show up, widen the search area and keep looking. */
-
-    if (sz == 0) sz = 1;
-
-    for (dead_p = 0; dead_p <= 1; dead_p ++) /* for dead_p in 0 1 */
-      {
-        enum {max_objs = 3}; /* magic */
-        __mf_object_t *objs[max_objs];
-        unsigned num_objs = 0;
-        uintptr_t s_low, s_high;
-        unsigned tries = 0;
-        unsigned i;
-
-        s_low = (uintptr_t) ptr;
-        s_high = CLAMPSZ (ptr, sz);
-
-        while (tries < 16) /* magic */
-          {
-            if (dead_p)
-              num_objs = __mf_find_dead_objects (s_low, s_high, objs, max_objs);
-            else
-              num_objs = __mf_find_objects (s_low, s_high, objs, max_objs);
-
-            if (num_objs) /* good enough */
-              break;
-
-            tries ++;
-
-            /* XXX: tune this search strategy.  It's too dependent on
-             sz, which can vary from 1 to very big (when array index
-             checking) numbers. */
-            s_low = CLAMPSUB (s_low, (sz * tries * tries));
-            s_high = CLAMPADD (s_high, (sz * tries * tries));
-          }
-
-        for (i = 0; i < min (num_objs, max_objs); i++)
-          {
-            __mf_object_t *obj = objs[i];
-            uintptr_t low = (uintptr_t) ptr;
-            uintptr_t high = CLAMPSZ (ptr, sz);
-            unsigned before1 = (low < obj->low) ? obj->low - low : 0;
-            unsigned after1 = (low > obj->high) ? low - obj->high : 0;
-            unsigned into1 = (high >= obj->low && low <= obj->high) ? low - obj->low : 0;
-            unsigned before2 = (high < obj->low) ? obj->low - high : 0;
-            unsigned after2 = (high > obj->high) ? high - obj->high : 0;
-            unsigned into2 = (high >= obj->low && low <= obj->high) ? high - obj->low : 0;
-
-            fprintf (stderr, "Nearby object %u: checked region begins %uB %s and ends %uB %s\n",
-                     num_helpful + i + 1,
-                     (before1 ? before1 : after1 ? after1 : into1),
-                     (before1 ? "before" : after1 ? "after" : "into"),
-                     (before2 ? before2 : after2 ? after2 : into2),
-                     (before2 ? "before" : after2 ? "after" : "into"));
-            __mf_describe_object (obj);
-          }
-        num_helpful += num_objs;
-      }
-
-    fprintf (stderr, "number of nearby objects: %u\n", num_helpful);
-  }
-
-  /* How to finally handle this violation?  */
-  switch (__mf_opts.violation_mode)
-    {
-    case viol_nop:
-      break;
-    case viol_segv:
-      kill (getpid(), SIGSEGV);
-      break;
-    case viol_abort:
-      abort ();
-      break;
-    case viol_gdb:
-
-      snprintf (buf, 128, "gdb --pid=%u", (unsigned) getpid ());
-      system (buf);
-      /* XXX: should probably fork() && sleep(GDB_WAIT_PARAMETER)
-      instead, and let the forked child execlp() gdb.  That way, this
-      subject process can be resumed under the supervision of gdb.
-      This can't happen now, since system() only returns when gdb
-      dies.  In that case, we need to beware of starting a second
-      concurrent gdb child upon the next violation.  (But if the first
-      gdb dies, then starting a new one is appropriate.)  */
-      break;
-    }
-}
-
-/* ------------------------------------------------------------------------ */
-
-
-unsigned __mf_watch (void *ptr, size_t sz)
-{
-  unsigned rc;
-  LOCKTH ();
-  BEGIN_RECURSION_PROTECT ();
-  rc = __mf_watch_or_not (ptr, sz, 1);
-  END_RECURSION_PROTECT ();
-  UNLOCKTH ();
-  return rc;
-}
-
-unsigned __mf_unwatch (void *ptr, size_t sz)
-{
-  unsigned rc;
-  LOCKTH ();
-  rc = __mf_watch_or_not (ptr, sz, 0);
-  UNLOCKTH ();
-  return rc;
-}
-
-
-static unsigned
-__mf_watch_or_not (void *ptr, size_t sz, char flag)
-{
-  uintptr_t ptr_high = CLAMPSZ (ptr, sz);
-  uintptr_t ptr_low = (uintptr_t) ptr;
-  unsigned count = 0;
-
-  TRACE ("%s ptr=%p size=%lu\n",
-         (flag ? "watch" : "unwatch"), ptr, (unsigned long) sz);
-
-  switch (__mf_opts.mudflap_mode)
-    {
-    case mode_nop:
-    case mode_populate:
-    case mode_violate:
-      count = 0;
-      break;
-
-    case mode_check:
-      {
-        __mf_object_t **all_ovr_objs;
-        unsigned obj_count;
-        unsigned n;
-        DECLARE (void *, malloc, size_t c);
-        DECLARE (void, free, void *p);
-
-        obj_count = __mf_find_objects (ptr_low, ptr_high, NULL, 0);
-        VERBOSE_TRACE (" %u:", obj_count);
-
-        all_ovr_objs = CALL_REAL (malloc, (sizeof (__mf_object_t *) * obj_count));
-        if (all_ovr_objs == NULL) abort ();
-        n = __mf_find_objects (ptr_low, ptr_high, all_ovr_objs, obj_count);
-        assert (n == obj_count);
-
-        for (n = 0; n < obj_count; n ++)
-          {
-            __mf_object_t *obj = all_ovr_objs[n];
-
-            VERBOSE_TRACE (" [%p]", (void *) obj);
-            if (obj->watching_p != flag)
-              {
-                obj->watching_p = flag;
-                count ++;
-
-                /* Remove object from cache, to ensure next access
-                   goes through __mf_check().  */
-                if (flag)
-                  __mf_uncache_object (obj);
-              }
-          }
-        CALL_REAL (free, all_ovr_objs);
-      }
-      break;
-    }
-
-  return count;
-}
-
-
-void
-__mf_sigusr1_handler (int num)
-{
-  __mf_sigusr1_received ++;
-}
-
-/* Install or remove SIGUSR1 handler as necessary.
-   Also, respond to a received pending SIGUSR1.  */
-void
-__mf_sigusr1_respond ()
-{
-  static int handler_installed;
-
-#ifdef SIGUSR1
-  /* Manage handler */
-  if (__mf_opts.sigusr1_report && ! handler_installed)
-    {
-      signal (SIGUSR1, __mf_sigusr1_handler);
-      handler_installed = 1;
-    }
-  else if(! __mf_opts.sigusr1_report && handler_installed)
-    {
-      signal (SIGUSR1, SIG_DFL);
-      handler_installed = 0;
-    }
-#endif
-
-  /* Manage enqueued signals */
-  if (__mf_sigusr1_received > __mf_sigusr1_handled)
-    {
-      __mf_sigusr1_handled ++;
-      assert (__mf_get_state () == reentrant);
-      __mfu_report ();
-      handler_installed = 0; /* We may need to re-enable signal; this might be a SysV library. */
-    }
-}
-
-
-/* XXX: provide an alternative __assert_fail function that cannot
-   fail due to libmudflap infinite recursion.  */
-#ifndef NDEBUG
-
-static void
-write_itoa (int fd, unsigned n)
-{
-  enum x { bufsize = sizeof(n)*4 };
-  char buf [bufsize];
-  unsigned i;
-
-  for (i=0; i<bufsize-1; i++)
-    {
-      unsigned digit = n % 10;
-      buf[bufsize-2-i] = digit + '0';
-      n /= 10;
-      if (n == 0)
-        {
-          char *m = & buf [bufsize-2-i];
-          buf[bufsize-1] = '\0';
-          write (fd, m, strlen(m));
-          break;
-        }
-    }
-}
-
-
-void
-__assert_fail (const char *msg, const char *file, unsigned line, const char *func)
-{
-#define write2(string) write (2, (string), strlen ((string)));
-  write2("mf");
-#ifdef LIBMUDFLAPTH
-  write2("(");
-  write_itoa (2, (unsigned) pthread_self ());
-  write2(")");
-#endif
-  write2(": assertion failure: `");
-  write (2, msg, strlen (msg));
-  write2("' in ");
-  write (2, func, strlen (func));
-  write2(" at ");
-  write (2, file, strlen (file));
-  write2(":");
-  write_itoa (2, line);
-  write2("\n");
-#undef write2
-  abort ();
-}
-
-
-#endif
-
-
-
-/* Adapted splay tree code, originally from libiberty.  It has been
-   specialized for libmudflap as requested by RMS.  */
-
-static void
-mfsplay_tree_free (void *p)
-{
-  DECLARE (void, free, void *p);
-  CALL_REAL (free, p);
-}
-
-static void *
-mfsplay_tree_xmalloc (size_t s)
-{
-  DECLARE (void *, malloc, size_t s);
-  return CALL_REAL (malloc, s);
-}
-
-
-static void mfsplay_tree_splay (mfsplay_tree, mfsplay_tree_key);
-static mfsplay_tree_node mfsplay_tree_splay_helper (mfsplay_tree,
-                                                mfsplay_tree_key,
-                                                mfsplay_tree_node *,
-                                                mfsplay_tree_node *,
-                                                mfsplay_tree_node *);
-
-
-/* Help splay SP around KEY.  PARENT and GRANDPARENT are the parent
-   and grandparent, respectively, of NODE.  */
-
-static mfsplay_tree_node
-mfsplay_tree_splay_helper (mfsplay_tree sp,
-                         mfsplay_tree_key key,
-                         mfsplay_tree_node * node,
-                         mfsplay_tree_node * parent,
-                         mfsplay_tree_node * grandparent)
-{
-  mfsplay_tree_node *next;
-  mfsplay_tree_node n;
-  int comparison;
-
-  n = *node;
-
-  if (!n)
-    return *parent;
-
-  comparison = ((key > n->key) ? 1 : ((key < n->key) ? -1 : 0));
-
-  if (comparison == 0)
-    /* We've found the target.  */
-    next = 0;
-  else if (comparison < 0)
-    /* The target is to the left.  */
-    next = &n->left;
-  else
-    /* The target is to the right.  */
-    next = &n->right;
-
-  if (next)
-    {
-      /* Check whether our recursion depth is too high.  Abort this search,
-         and signal that a rebalance is required to continue.  */
-      if (sp->depth > sp->max_depth)
-        {
-          sp->rebalance_p = 1;
-          return n;
-         }
-
-      /* Continue down the tree.  */
-      sp->depth ++;
-      n = mfsplay_tree_splay_helper (sp, key, next, node, parent);
-      sp->depth --;
-
-      /* The recursive call will change the place to which NODE
-         points.  */
-      if (*node != n || sp->rebalance_p)
-        return n;
-    }
-
-  if (!parent)
-    /* NODE is the root.  We are done.  */
-    return n;
-
-  /* First, handle the case where there is no grandparent (i.e.,
-   *PARENT is the root of the tree.)  */
-  if (!grandparent)
-    {
-      if (n == (*parent)->left)
-        {
-          *node = n->right;
-          n->right = *parent;
-        }
-      else
-        {
-          *node = n->left;
-          n->left = *parent;
-        }
-      *parent = n;
-      return n;
-    }
-
-  /* Next handle the cases where both N and *PARENT are left children,
-     or where both are right children.  */
-  if (n == (*parent)->left && *parent == (*grandparent)->left)
-    {
-      mfsplay_tree_node p = *parent;
-
-      (*grandparent)->left = p->right;
-      p->right = *grandparent;
-      p->left = n->right;
-      n->right = p;
-      *grandparent = n;
-      return n;
-    }
-  else if (n == (*parent)->right && *parent == (*grandparent)->right)
-    {
-      mfsplay_tree_node p = *parent;
-
-      (*grandparent)->right = p->left;
-      p->left = *grandparent;
-      p->right = n->left;
-      n->left = p;
-      *grandparent = n;
-      return n;
-    }
-
-  /* Finally, deal with the case where N is a left child, but *PARENT
-     is a right child, or vice versa.  */
-  if (n == (*parent)->left)
-    {
-      (*parent)->left = n->right;
-      n->right = *parent;
-      (*grandparent)->right = n->left;
-      n->left = *grandparent;
-      *grandparent = n;
-      return n;
-    }
-  else
-    {
-      (*parent)->right = n->left;
-      n->left = *parent;
-      (*grandparent)->left = n->right;
-      n->right = *grandparent;
-      *grandparent = n;
-      return n;
-    }
-}
-
-
-
-static int
-mfsplay_tree_rebalance_helper1 (mfsplay_tree_node n, void *array_ptr)
-{
-  mfsplay_tree_node **p = array_ptr;
-  *(*p) = n;
-  (*p)++;
-  return 0;
-}
-
-
-static mfsplay_tree_node
-mfsplay_tree_rebalance_helper2 (mfsplay_tree_node * array, unsigned low,
-                              unsigned high)
-{
-  unsigned middle = low + (high - low) / 2;
-  mfsplay_tree_node n = array[middle];
-
-  /* Note that since we're producing a balanced binary tree, it is not a problem
-     that this function is recursive.  */
-  if (low + 1 <= middle)
-    n->left = mfsplay_tree_rebalance_helper2 (array, low, middle - 1);
-  else
-    n->left = NULL;
-
-  if (middle + 1 <= high)
-    n->right = mfsplay_tree_rebalance_helper2 (array, middle + 1, high);
-  else
-    n->right = NULL;
-
-  return n;
-}
-
-
-/* Rebalance the entire tree.  Do this by copying all the node
-   pointers into an array, then cleverly re-linking them.  */
-static void
-mfsplay_tree_rebalance (mfsplay_tree sp)
-{
-  mfsplay_tree_node *all_nodes, *all_nodes_1;
-
-  if (sp->num_keys <= 2)
-    return;
-
-  all_nodes = mfsplay_tree_xmalloc (sizeof (mfsplay_tree_node) * sp->num_keys);
-
-  /* Traverse all nodes to copy their addresses into this array.  */
-  all_nodes_1 = all_nodes;
-  mfsplay_tree_foreach (sp, mfsplay_tree_rebalance_helper1,
-                      (void *) &all_nodes_1);
-
-  /* Relink all the nodes.  */
-  sp->root = mfsplay_tree_rebalance_helper2 (all_nodes, 0, sp->num_keys - 1);
-
-  mfsplay_tree_free (all_nodes);
-}
-
-
-/* Splay SP around KEY.  */
-static void
-mfsplay_tree_splay (mfsplay_tree sp, mfsplay_tree_key key)
-{
-  if (sp->root == 0)
-    return;
-
-  /* If we just splayed the tree with the same key, do nothing.  */
-  if (sp->last_splayed_key_p &&
-      (sp->last_splayed_key == key))
-    return;
-
-  /* Compute a maximum recursion depth for a splay tree with NUM nodes.
-     The idea is to limit excessive stack usage if we're facing
-     degenerate access patterns.  Unfortunately such patterns can occur
-     e.g. during static initialization, where many static objects might
-     be registered in increasing address sequence, or during a case where
-     large tree-like heap data structures are allocated quickly.
-
-     On x86, this corresponds to roughly 200K of stack usage.
-     XXX: For libmudflapth, this could be a function of __mf_opts.thread_stack.  */
-  sp->max_depth = 2500;
-  sp->rebalance_p = sp->depth = 0;
-
-  mfsplay_tree_splay_helper (sp, key, &sp->root, NULL, NULL);
-  if (sp->rebalance_p)
-    {
-      mfsplay_tree_rebalance (sp);
-
-      sp->rebalance_p = sp->depth = 0;
-      mfsplay_tree_splay_helper (sp, key, &sp->root, NULL, NULL);
-
-      if (sp->rebalance_p)
-        abort ();
-    }
-
-
-  /* Cache this splay key. */
-  sp->last_splayed_key = key;
-  sp->last_splayed_key_p = 1;
-}
-
-
-
-/* Allocate a new splay tree.  */
-static mfsplay_tree
-mfsplay_tree_new ()
-{
-  mfsplay_tree sp = mfsplay_tree_xmalloc (sizeof (struct mfsplay_tree_s));
-  sp->root = NULL;
-  sp->last_splayed_key_p = 0;
-  sp->num_keys = 0;
-
-  return sp;
-}
-
-
-
-/* Insert a new node (associating KEY with DATA) into SP.  If a
-   previous node with the indicated KEY exists, its data is replaced
-   with the new value.  Returns the new node.  */
-static mfsplay_tree_node
-mfsplay_tree_insert (mfsplay_tree sp, mfsplay_tree_key key, mfsplay_tree_value value)
-{
-  int comparison = 0;
-
-  mfsplay_tree_splay (sp, key);
-
-  if (sp->root)
-    comparison = ((sp->root->key > key) ? 1 :
-                  ((sp->root->key < key) ? -1 : 0));
-
-  if (sp->root && comparison == 0)
-    {
-      /* If the root of the tree already has the indicated KEY, just
-         replace the value with VALUE.  */
-      sp->root->value = value;
-    }
-  else
-    {
-      /* Create a new node, and insert it at the root.  */
-      mfsplay_tree_node node;
-
-      node = mfsplay_tree_xmalloc (sizeof (struct mfsplay_tree_node_s));
-      node->key = key;
-      node->value = value;
-      sp->num_keys++;
-      if (!sp->root)
-        node->left = node->right = 0;
-      else if (comparison < 0)
-        {
-          node->left = sp->root;
-          node->right = node->left->right;
-          node->left->right = 0;
-        }
-      else
-        {
-          node->right = sp->root;
-          node->left = node->right->left;
-          node->right->left = 0;
-        }
-
-      sp->root = node;
-      sp->last_splayed_key_p = 0;
-    }
-
-  return sp->root;
-}
-
-/* Remove KEY from SP.  It is not an error if it did not exist.  */
-
-static void
-mfsplay_tree_remove (mfsplay_tree sp, mfsplay_tree_key key)
-{
-  mfsplay_tree_splay (sp, key);
-  sp->last_splayed_key_p = 0;
-  if (sp->root && (sp->root->key == key))
-    {
-      mfsplay_tree_node left, right;
-      left = sp->root->left;
-      right = sp->root->right;
-      /* Delete the root node itself.  */
-      mfsplay_tree_free (sp->root);
-      sp->num_keys--;
-      /* One of the children is now the root.  Doesn't matter much
-         which, so long as we preserve the properties of the tree.  */
-      if (left)
-        {
-          sp->root = left;
-          /* If there was a right child as well, hang it off the
-             right-most leaf of the left child.  */
-          if (right)
-            {
-              while (left->right)
-                left = left->right;
-              left->right = right;
-            }
-        }
-      else
-        sp->root = right;
-    }
-}
-
-/* Lookup KEY in SP, returning VALUE if present, and NULL
-   otherwise.  */
-
-static mfsplay_tree_node
-mfsplay_tree_lookup (mfsplay_tree sp, mfsplay_tree_key key)
-{
-  mfsplay_tree_splay (sp, key);
-  if (sp->root && (sp->root->key == key))
-    return sp->root;
-  else
-    return 0;
-}
-
-
-/* Return the immediate predecessor KEY, or NULL if there is no
-   predecessor.  KEY need not be present in the tree.  */
-
-static mfsplay_tree_node
-mfsplay_tree_predecessor (mfsplay_tree sp, mfsplay_tree_key key)
-{
-  int comparison;
-  mfsplay_tree_node node;
-  /* If the tree is empty, there is certainly no predecessor.  */
-  if (!sp->root)
-    return NULL;
-  /* Splay the tree around KEY.  That will leave either the KEY
-     itself, its predecessor, or its successor at the root.  */
-  mfsplay_tree_splay (sp, key);
-  comparison = ((sp->root->key > key) ? 1 :
-                ((sp->root->key < key) ? -1 : 0));
-
-  /* If the predecessor is at the root, just return it.  */
-  if (comparison < 0)
-    return sp->root;
-  /* Otherwise, find the rightmost element of the left subtree.  */
-  node = sp->root->left;
-  if (node)
-    while (node->right)
-      node = node->right;
-  return node;
-}
-
-/* Return the immediate successor KEY, or NULL if there is no
-   successor.  KEY need not be present in the tree.  */
-
-static mfsplay_tree_node
-mfsplay_tree_successor (mfsplay_tree sp, mfsplay_tree_key key)
-{
-  int comparison;
-  mfsplay_tree_node node;
-  /* If the tree is empty, there is certainly no successor.  */
-  if (!sp->root)
-    return NULL;
-  /* Splay the tree around KEY.  That will leave either the KEY
-     itself, its predecessor, or its successor at the root.  */
-  mfsplay_tree_splay (sp, key);
-  comparison = ((sp->root->key > key) ? 1 :
-                ((sp->root->key < key) ? -1 : 0));
-  /* If the successor is at the root, just return it.  */
-  if (comparison > 0)
-    return sp->root;
-  /* Otherwise, find the leftmost element of the right subtree.  */
-  node = sp->root->right;
-  if (node)
-    while (node->left)
-      node = node->left;
-  return node;
-}
-
-/* Call FN, passing it the DATA, for every node in SP, following an
-   in-order traversal.  If FN every returns a non-zero value, the
-   iteration ceases immediately, and the value is returned.
-   Otherwise, this function returns 0.
-
-   This function simulates recursion using dynamically allocated
-   arrays, since it may be called from mfsplay_tree_rebalance(), which
-   in turn means that the tree is already uncomfortably deep for stack
-   space limits.  */
-static int
-mfsplay_tree_foreach (mfsplay_tree st, mfsplay_tree_foreach_fn fn, void *data)
-{
-  mfsplay_tree_node *stack1;
-  char *stack2;
-  unsigned sp;
-  int val = 0;
-  enum s { s_left, s_here, s_right, s_up };
-
-  if (st->root == NULL) /* => num_keys == 0 */
-    return 0;
-
-  stack1 = mfsplay_tree_xmalloc (sizeof (mfsplay_tree_node) * st->num_keys);
-  stack2 = mfsplay_tree_xmalloc (sizeof (char) * st->num_keys);
-
-  sp = 0;
-  stack1 [sp] = st->root;
-  stack2 [sp] = s_left;
-
-  while (1)
-    {
-      mfsplay_tree_node n;
-      enum s s;
-
-      n = stack1 [sp];
-      s = stack2 [sp];
-
-      /* Handle each of the four possible states separately.  */
-
-      /* 1: We're here to traverse the left subtree (if any).  */
-      if (s == s_left)
-        {
-          stack2 [sp] = s_here;
-          if (n->left != NULL)
-            {
-              sp ++;
-              stack1 [sp] = n->left;
-              stack2 [sp] = s_left;
-            }
-        }
-
-      /* 2: We're here to traverse this node.  */
-      else if (s == s_here)
-        {
-          stack2 [sp] = s_right;
-          val = (*fn) (n, data);
-          if (val) break;
-        }
-
-      /* 3: We're here to traverse the right subtree (if any).  */
-      else if (s == s_right)
-        {
-          stack2 [sp] = s_up;
-          if (n->right != NULL)
-            {
-              sp ++;
-              stack1 [sp] = n->right;
-              stack2 [sp] = s_left;
-            }
-        }
-
-      /* 4: We're here after both subtrees (if any) have been traversed.  */
-      else if (s == s_up)
-        {
-          /* Pop the stack.  */
-          if (sp == 0) break; /* Popping off the root note: we're finished!  */
-          sp --;
-        }
-
-      else
-        abort ();
-    }
-
-  mfsplay_tree_free (stack1);
-  mfsplay_tree_free (stack2);
-  return val;
-}
diff --git a/libmudflap/mf-runtime.h b/libmudflap/mf-runtime.h
deleted file mode 100644 (file)
index cea01df..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-/* Implementation header for mudflap runtime library.
-   Mudflap: narrow-pointer bounds-checking by tree rewriting.
-   Copyright (C) 2002-2013 Free Software Foundation, Inc.
-   Contributed by Frank Ch. Eigler <fche@redhat.com>
-   and Graydon Hoare <graydon@redhat.com>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* Public libmudflap declarations -*- C -*- */
-
-#ifndef MF_RUNTIME_H
-#define MF_RUNTIME_H
-
-typedef void *__mf_ptr_t;
-typedef unsigned int __mf_uintptr_t __attribute__ ((__mode__ (__pointer__)));
-typedef __SIZE_TYPE__ __mf_size_t;
-
-/* Global declarations used by instrumentation.  When _MUDFLAP is
-   defined, these have been auto-declared by the compiler and we
-   should not declare them again (ideally we *would* declare them
-   again, to verify that the compiler's declarations match the
-   library's, but the C++ front end has no mechanism for allowing
-   the re-definition of a structure type).  */
-#ifndef _MUDFLAP
-struct __mf_cache { __mf_uintptr_t low; __mf_uintptr_t high; };
-extern struct __mf_cache __mf_lookup_cache [];
-extern __mf_uintptr_t __mf_lc_mask;
-extern unsigned char __mf_lc_shift;
-#endif
-
-/* Multithreading support.  */
-#ifdef _MUDFLAPTH
-/* extern pthread_mutex_t __mf_biglock; */
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-#ifndef _THREAD_SAFE
-#define _THREAD_SAFE
-#endif
-#endif
-
-/* Codes to describe the type of access to check: __mf_check arg 3 */
-
-#define __MF_CHECK_READ 0
-#define __MF_CHECK_WRITE 1
-
-
-/* Codes to describe a region of memory being registered: __mf_*register arg 3 */
-
-#define __MF_TYPE_NOACCESS 0
-#define __MF_TYPE_HEAP 1
-#define __MF_TYPE_HEAP_I 2
-#define __MF_TYPE_STACK 3
-#define __MF_TYPE_STATIC 4
-#define __MF_TYPE_GUESS 5
-
-
-/* The public mudflap API */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern void __mf_check (void *ptr, __mf_size_t sz, int type, const char *location)
-       __attribute((nothrow));
-extern void __mf_register (void *ptr, __mf_size_t sz, int type, const char *name)
-       __attribute((nothrow));
-extern void __mf_unregister (void *ptr, __mf_size_t sz, int type)
-       __attribute((nothrow));
-extern unsigned __mf_watch (void *ptr, __mf_size_t sz);
-extern unsigned __mf_unwatch (void *ptr, __mf_size_t sz);
-extern void __mf_report ();
-extern int __mf_set_options (const char *opts);
-
-
-/* Redirect some standard library functions to libmudflap.  These are
-   done by simple #define rather than linker wrapping, since only
-   instrumented modules are meant to be affected.  */
-
-#ifdef _MUDFLAP
-#pragma redefine_extname memcpy __mfwrap_memcpy
-#pragma redefine_extname memmove __mfwrap_memmove
-#pragma redefine_extname memset __mfwrap_memset
-#pragma redefine_extname memcmp __mfwrap_memcmp
-#pragma redefine_extname memchr __mfwrap_memchr
-#pragma redefine_extname memrchr __mfwrap_memrchr
-#pragma redefine_extname strcpy __mfwrap_strcpy
-#pragma redefine_extname strncpy __mfwrap_strncpy
-#pragma redefine_extname strcat __mfwrap_strcat
-#pragma redefine_extname strncat __mfwrap_strncat
-#pragma redefine_extname strcmp __mfwrap_strcmp
-#pragma redefine_extname strcasecmp __mfwrap_strcasecmp
-#pragma redefine_extname strncmp __mfwrap_strncmp
-#pragma redefine_extname strncasecmp __mfwrap_strncasecmp
-#pragma redefine_extname strdup __mfwrap_strdup
-#pragma redefine_extname strndup __mfwrap_strndup
-#pragma redefine_extname strchr __mfwrap_strchr
-#pragma redefine_extname strrchr __mfwrap_strrchr
-#pragma redefine_extname strstr __mfwrap_strstr
-#pragma redefine_extname memmem __mfwrap_memmem
-#pragma redefine_extname strlen __mfwrap_strlen
-#pragma redefine_extname strnlen __mfwrap_strnlen
-#pragma redefine_extname bzero __mfwrap_bzero
-#pragma redefine_extname bcopy __mfwrap_bcopy
-#pragma redefine_extname bcmp __mfwrap_bcmp
-#pragma redefine_extname index __mfwrap_index
-#pragma redefine_extname rindex __mfwrap_rindex
-#pragma redefine_extname asctime __mfwrap_asctime
-#pragma redefine_extname ctime __mfwrap_ctime
-#pragma redefine_extname gmtime __mfwrap_gmtime
-#pragma redefine_extname localtime __mfwrap_localtime
-#pragma redefine_extname time __mfwrap_time
-#pragma redefine_extname strerror __mfwrap_strerror
-#pragma redefine_extname fopen __mfwrap_fopen
-#pragma redefine_extname fdopen __mfwrap_fdopen
-#pragma redefine_extname freopen __mfwrap_freopen
-#pragma redefine_extname fclose __mfwrap_fclose
-#pragma redefine_extname fread __mfwrap_fread
-#pragma redefine_extname fwrite __mfwrap_fwrite
-#pragma redefine_extname fgetc __mfwrap_fgetc
-#pragma redefine_extname fgets __mfwrap_fgets
-#pragma redefine_extname getc __mfwrap_getc
-#pragma redefine_extname gets __mfwrap_gets
-#pragma redefine_extname ungetc __mfwrap_ungetc
-#pragma redefine_extname fputc __mfwrap_fputc
-#pragma redefine_extname fputs __mfwrap_fputs
-#pragma redefine_extname putc __mfwrap_putc
-#pragma redefine_extname puts __mfwrap_puts
-#pragma redefine_extname clearerr __mfwrap_clearerr
-#pragma redefine_extname feof __mfwrap_feof
-#pragma redefine_extname ferror __mfwrap_ferror
-#pragma redefine_extname fileno __mfwrap_fileno
-#pragma redefine_extname printf __mfwrap_printf
-#pragma redefine_extname fprintf __mfwrap_fprintf
-#pragma redefine_extname sprintf __mfwrap_sprintf
-#pragma redefine_extname snprintf __mfwrap_snprintf
-#pragma redefine_extname vprintf __mfwrap_vprintf
-#pragma redefine_extname vfprintf __mfwrap_vfprintf
-#pragma redefine_extname vsprintf __mfwrap_vsprintf
-#pragma redefine_extname vsnprintf __mfwrap_vsnprintf
-#pragma redefine_extname access __mfwrap_access
-#pragma redefine_extname remove __mfwrap_remove
-#pragma redefine_extname fflush __mfwrap_fflush
-#pragma redefine_extname fseek __mfwrap_fseek
-#pragma redefine_extname ftell __mfwrap_ftell
-#pragma redefine_extname rewind __mfwrap_rewind
-#pragma redefine_extname fgetpos __mfwrap_fgetpos
-#pragma redefine_extname fsetpos __mfwrap_fsetpos
-#pragma redefine_extname stat __mfwrap_stat
-#pragma redefine_extname fstat __mfwrap_fstat
-#pragma redefine_extname lstat __mfwrap_lstat
-#pragma redefine_extname mkfifo __mfwrap_mkfifo
-#pragma redefine_extname setvbuf __mfwrap_setvbuf
-#pragma redefine_extname setbuf __mfwrap_setbuf
-#pragma redefine_extname setbuffer __mfwrap_setbuffer
-#pragma redefine_extname setlinebuf __mfwrap_setlinebuf
-#pragma redefine_extname opendir __mfwrap_opendir
-#pragma redefine_extname closedir __mfwrap_closedir
-#pragma redefine_extname readdir __mfwrap_readdir
-#pragma redefine_extname recv __mfwrap_recv
-#pragma redefine_extname recvfrom __mfwrap_recvfrom
-#pragma redefine_extname recvmsg __mfwrap_recvmsg
-#pragma redefine_extname send __mfwrap_send
-#pragma redefine_extname sendto __mfwrap_sendto
-#pragma redefine_extname sendmsg __mfwrap_sendmsg
-#pragma redefine_extname setsockopt __mfwrap_setsockopt
-#pragma redefine_extname getsockopt __mfwrap_getsockopt
-#pragma redefine_extname accept __mfwrap_accept
-#pragma redefine_extname bind __mfwrap_bind
-#pragma redefine_extname connect __mfwrap_connect
-#pragma redefine_extname gethostname __mfwrap_gethostname
-#pragma redefine_extname sethostname __mfwrap_sethostname
-#pragma redefine_extname gethostbyname __mfwrap_gethostbyname
-#pragma redefine_extname wait __mfwrap_wait
-#pragma redefine_extname waitpid __mfwrap_waitpid
-#pragma redefine_extname popen __mfwrap_popen
-#pragma redefine_extname pclose __mfwrap_pclose
-#pragma redefine_extname execve __mfwrap_execve
-#pragma redefine_extname execv __mfwrap_execv
-#pragma redefine_extname execvp __mfwrap_execvp
-#pragma redefine_extname system __mfwrap_system
-#pragma redefine_extname dlopen __mfwrap_dlopen
-#pragma redefine_extname dlerror __mfwrap_dlerror
-#pragma redefine_extname dlsym __mfwrap_dlsym
-#pragma redefine_extname dlclose __mfwrap_dlclose
-#pragma redefine_extname fopen64 __mfwrap_fopen64
-#pragma redefine_extname freopen64 __mfwrap_freopen64
-#pragma redefine_extname stat64 __mfwrap_stat64
-#pragma redefine_extname fseeko64 __mfwrap_fseeko64
-#pragma redefine_extname ftello64 __mfwrap_ftello64
-#pragma redefine_extname semop __mfwrap_semop
-#pragma redefine_extname semctl __mfwrap_semctl
-#pragma redefine_extname shmctl __mfwrap_shmctl
-#pragma redefine_extname shmat __mfwrap_shmat
-#pragma redefine_extname shmdt __mfwrap_shmdt
-#pragma redefine_extname __ctype_b_loc __mfwrap___ctype_b_loc
-#pragma redefine_extname __ctype_toupper_loc __mfwrap___ctype_toupper_loc
-#pragma redefine_extname __ctype_tolower_loc __mfwrap___ctype_tolower_loc
-#pragma redefine_extname getlogin __mfwrap_getlogin
-#pragma redefine_extname cuserid __mfwrap_cuserid
-#pragma redefine_extname getpwnam __mfwrap_getpwnam
-#pragma redefine_extname getpwuid __mfwrap_getpwuid
-#pragma redefine_extname getgrnam __mfwrap_getgrnam
-#pragma redefine_extname getgrgid __mfwrap_getgrgid
-#pragma redefine_extname getservent __mfwrap_getservent
-#pragma redefine_extname getservbyname __mfwrap_getservbyname
-#pragma redefine_extname getservbyport __mfwrap_getservbyport
-#pragma redefine_extname gai_strerror __mfwrap_gai_strerror
-#pragma redefine_extname getmntent __mfwrap_getmntent
-#pragma redefine_extname inet_ntoa __mfwrap_inet_ntoa
-#pragma redefine_extname getprotoent __mfwrap_getprotoent
-#pragma redefine_extname getprotobyname __mfwrap_getprotobyname
-#pragma redefine_extname getprotobynumber __mfwrap_getprotobynumber
-
-/* Disable glibc macros.  */
-#define __NO_STRING_INLINES
-
-#endif /* _MUDFLAP */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MF_RUNTIME_H */
diff --git a/libmudflap/testsuite/Makefile.am b/libmudflap/testsuite/Makefile.am
deleted file mode 100644 (file)
index a2c1e9f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign dejagnu
-
-EXPECT = `if [ -f ../../expect/expect ] ; then \
-         echo ../../expect/expect ; \
-         else echo expect ; fi`
-
-RUNTEST = `if [ -f ${srcdir}/../../dejagnu/runtest ] ; then \
-          echo ${srcdir}/../../dejagnu/runtest ; \
-          else echo runtest ;  fi`
diff --git a/libmudflap/testsuite/Makefile.in b/libmudflap/testsuite/Makefile.in
deleted file mode 100644 (file)
index 73411bd..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(srcdir)/mfconfig.exp.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
-       $(top_srcdir)/../config/depstand.m4 \
-       $(top_srcdir)/../config/enable.m4 \
-       $(top_srcdir)/../config/lead-dot.m4 \
-       $(top_srcdir)/../config/multi.m4 \
-       $(top_srcdir)/../config/override.m4 \
-       $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \
-       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
-       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = mfconfig.exp
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DEJATOOL = $(PACKAGE)
-RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MF_HAVE_STDINT_H = @MF_HAVE_STDINT_H@
-MF_HAVE_UINTPTR_T = @MF_HAVE_UINTPTR_T@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_libmudflapth = @build_libmudflapth@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_noncanonical = @target_noncanonical@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign dejagnu
-EXPECT = `if [ -f ../../expect/expect ] ; then \
-         echo ../../expect/expect ; \
-         else echo expect ; fi`
-
-RUNTEST = `if [ -f ${srcdir}/../../dejagnu/runtest ] ; then \
-          echo ${srcdir}/../../dejagnu/runtest ; \
-          else echo runtest ;  fi`
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign testsuite/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-mfconfig.exp: $(top_builddir)/config.status $(srcdir)/mfconfig.exp.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-check-DEJAGNU: site.exp
-       srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
-       EXPECT=$(EXPECT); export EXPECT; \
-       runtest=$(RUNTEST); \
-       if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
-         exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
-           if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
-           then :; else exit_status=1; fi; \
-         done; \
-       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
-       fi; \
-       exit $$exit_status
-site.exp: Makefile
-       @echo 'Making a new site.exp file...'
-       @echo '## these variables are automatically generated by make ##' >site.tmp
-       @echo '# Do not edit here.  If you wish to override these values' >>site.tmp
-       @echo '# edit the last section' >>site.tmp
-       @echo 'set srcdir $(srcdir)' >>site.tmp
-       @echo "set objdir `pwd`" >>site.tmp
-       @echo 'set build_alias "$(build_alias)"' >>site.tmp
-       @echo 'set build_triplet $(build_triplet)' >>site.tmp
-       @echo 'set host_alias "$(host_alias)"' >>site.tmp
-       @echo 'set host_triplet $(host_triplet)' >>site.tmp
-       @echo 'set target_alias "$(target_alias)"' >>site.tmp
-       @echo 'set target_triplet $(target_triplet)' >>site.tmp
-       @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
-       @test ! -f site.exp || \
-         sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
-       @-rm -f site.bak
-       @test ! -f site.exp || mv site.exp site.bak
-       @mv site.tmp site.exp
-
-distclean-DEJAGNU:
-       -rm -f site.exp site.bak
-       -l='$(DEJATOOL)'; for tool in $$l; do \
-         rm -f $$tool.sum $$tool.log; \
-       done
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-DEJAGNU distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
-       clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libmudflap/testsuite/config/default.exp b/libmudflap/testsuite/config/default.exp
deleted file mode 100644 (file)
index 0dafaa1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-load_lib standard.exp
-load_lib libmudflap.exp
-load_lib mfconfig.exp
diff --git a/libmudflap/testsuite/lib/libmudflap.exp b/libmudflap/testsuite/lib/libmudflap.exp
deleted file mode 100644 (file)
index 9927ba1..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING3.  If not see
-# <http://www.gnu.org/licenses/>.
-
-# Define libmudflap callbacks for dg.exp.
-# This file is a copy of libstdc++-v3's dejagnu driver, with minor changes.
-
-# Useful hook:  if ${hostname}_init exists, it will be called, almost
-# the last thing before testing begins.  This can be defined in, e.g.,
-# ~/.dejagnurc or $DEJAGNU.
-
-proc load_gcc_lib { filename } {
-    global srcdir
-    load_file $srcdir/../../gcc/testsuite/lib/$filename
-}
-
-load_lib mfdg.exp
-load_lib libgloss.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib target-supports.exp
-load_gcc_lib timeout.exp
-load_gcc_lib timeout-dg.exp
-
-proc libmudflap-init { language } {
-    global env
-    global srcdir outdir blddir objdir tool_root_dir
-    global cxx cxxflags
-    global includes
-    global libs
-    global gluefile wrap_flags
-    global ld_library_path
-
-    switch $language {
-        "c" { set cxx [find_gcc] }
-        "c++" { set cxx [find_g++] }
-        default { error "bad language code $language"; return }
-    }
-
-    verbose -log "libmudflap-init $cxx"
-
-    set blddir [lookfor_file [get_multilibs] libmudflap]
-    set cxxblddir [lookfor_file [get_multilibs] libstdc++-v3]
-    set cxxflags_file "${cxxblddir}/scripts/testsuite_flags"
-
-    # By default, we assume we want to run program images.
-    global dg-do-what-default
-    set dg-do-what-default run
-
-    # set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
-    # locate libgcc.a so we don't need to account for different values of
-    # SHLIB_EXT on different platforms
-    set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
-    if {$gccdir != ""} {
-       set gccdir [file dirname $gccdir]
-    }
-
-    set ld_library_path "."
-    append ld_library_path ":${gccdir}"
-    append ld_library_path ":${cxxblddir}/src/.libs"
-    if {[is_remote host] == 0} {
-       foreach i "[exec ${gccdir}/xgcc --print-multi-lib]" {
-           set mldir ""
-           regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
-           set mldir [string trimright $mldir "\;@"]
-           if { "$mldir" == "." } {
-               continue
-           }
-           if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
-               append ld_library_path ":${gccdir}/${mldir}"
-           }
-       }
-    }
-    append ld_library_path ":${blddir}/.libs"
-
-    set libs "-L${blddir}/.libs"
-    set cxxflags "-ggdb3 -DDEBUG_ASSERT -fdiagnostics-color=never"
-    set includes "-I${srcdir} -I${srcdir}/.. -I.."
-
-    if {$language == "c++"} {
-        if {[file exists $cxxflags_file]} then {
-            set includes "${includes} [exec sh $cxxflags_file --build-includes]"
-            set cxxflags "${cxxflags} [exec sh $cxxflags_file --cxxflags]"
-            # c++ libs are included by --build-cxx below
-            set cxx "[exec sh $cxxflags_file --build-cxx]"
-        } else {
-            lappend libs "-L${cxxblddir}src/.libs"
-            lappend includes "-I../../libstdc++-v3/include"
-        }
-    }
-
-    global mfconfig_libs
-    global add_flags
-    append add_flags " $mfconfig_libs"
-
-    set_ld_library_path_env_vars
-    if [info exists env(LD_LIBRARY_PATH)] {
-       verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
-    }
-
-    if { [target_info needs_status_wrapper]!=""} {
-      file delete ${objdir}/testglue.o;
-      set gluefile ${objdir}/testglue.o;
-      set result [build_wrapper $gluefile];
-      if { $result != "" } {
-          set gluefile [lindex $result 0];
-          set wrap_flags [lindex $result 1];
-      } else {
-          unset gluefile
-      }
-    }
-
-    # If there is no static library then don't run tests with -static.
-    global tool
-    global mfconfig_libs
-    set opts "additional_flags=-static"
-    lappend opts "additional_flags=-fmudflap"
-    lappend opts "additional_flags=-lmudflap"
-    lappend opts "libs=$mfconfig_libs"
-    set src stlm[pid].c
-    set exe stlm[pid].x
-
-    set f [open $src "w"]
-    puts $f "int main () { }"
-    close $f
-    set lines [${tool}_target_compile $src $exe executable "$opts"]
-    file delete $src
-    remote_file build delete $exe
-
-    if { ![string match "" $lines] } {
-       # Compilation failed; assume static library is not available.
-       global MUDFLAP_FLAGS
-       set i [lsearch $MUDFLAP_FLAGS "*static*"]
-       set MUDFLAP_FLAGS [lreplace $MUDFLAP_FLAGS $i $i]
-    }
-}
-
-proc libmudflap-dg-test { prog do_what extra_tool_flags } {
-    # Set up the compiler flags, based on what we're going to do.
-
-    switch $do_what {
-       "preprocess" {
-           set compile_type "preprocess"
-           set output_file "[file rootname [file tail $prog]].i"
-       }
-       "compile" {
-           set compile_type "assembly"
-           set output_file "[file rootname [file tail $prog]].s"
-       }
-       "assemble" {
-           set compile_type "object"
-           set output_file "[file rootname [file tail $prog]].o"
-       }
-       "link" {
-           set compile_type "executable"
-           set output_file "./[file rootname [file tail $prog]].exe"
-       }
-       "run" {
-           set compile_type "executable"
-           # FIXME: "./" is to cope with "." not being in $PATH.
-           # Should this be handled elsewhere?
-           # YES.
-           set output_file "./[file rootname [file tail $prog]].exe"
-           # This is the only place where we care if an executable was
-           # created or not.  If it was, dg.exp will try to run it.
-           remote_file build delete $output_file;
-       }
-       default {
-           perror "$do_what: not a valid dg-do keyword"
-           return ""
-       }
-    }
-    set options ""
-    if { $extra_tool_flags != "" } {
-       lappend options "additional_flags=$extra_tool_flags"
-    }
-
-    global mfconfig_libs
-    lappend options "libs=$mfconfig_libs"
-
-    set comp_output [libmudflap_target_compile "$prog" "$output_file" "$compile_type" $options];
-
-    return [list $comp_output $output_file]
-}
-
-
-proc libmudflap_target_compile { source dest type options } {
-    global gluefile 
-    global wrap_flags
-    global cxx
-    global cxxflags
-    global includes
-    global libs
-    global blddir
-
-    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
-       lappend options "libs=${gluefile}"
-       lappend options "ldflags=${wrap_flags}"
-    }
-
-    set cxx_final $cxx
-    set cxxlibglossflags  [libgloss_link_flags]
-    set cxx_final [concat $cxx_final $cxxlibglossflags]
-    set cxx_final [concat $cxx_final $cxxflags]
-    set cxx_final [concat $cxx_final $includes]
-    set cxx_final [concat $cxx_final $libs]
-
-    lappend options "compiler=$cxx_final"
-    lappend options "timeout=[timeout_value]"
-
-    # Picks up the freshly-built testsuite library corresponding to the
-    # multilib under test.
-    lappend options "ldflags=-L${blddir}/testsuite"
-
-    return [target_compile $source $dest $type $options]
-}
-
-
-# A bit sloppy...  Returns a list of source files (full pathnames) to
-# compile.  We mimic the mkcheck script in that the first time this is run,
-# all existing files are listed in "testsuite_files" in the output
-# directory.  Subsequent runs pull the list from that file, allowing users
-# to trim the list down to problematic tests.
-### This is supposed to be done via RUNTESTFLAGS, but that doesn't work.
-proc libmudflap-list-sourcefiles { } {
-    global srcdir
-    global outdir
-
-    set files_file "${outdir}/testsuite_files"
-    set sfiles ""
-    if { [file exists $files_file] } {
-       set f [open $files_file]
-       while { ! [eof $f] } {
-           set t [gets $f]
-           if { [string length "$t"] != 0 } {
-               lappend sfiles ${srcdir}/${t}
-           }
-       }
-    } else {
-       set f [open $files_file "w"]
-       set where_we_were [pwd]
-       cd $srcdir
-       foreach s [lsort [glob -nocomplain "*/*.cc" "*/*/*.cc" "{,*/}*/*/*/*.cc" ]] {
-           lappend sfiles ${srcdir}/${s}
-           puts $f $s
-       }
-       cd $where_we_were
-    }
-    close $f
-
-    # Disable wchar_t tests if library not configured to support
-    # wchar_t testing. 
-    set wchar_file "${outdir}/testsuite_wchar_t"    
-    if { [file exists $wchar_file] } {
-       return $sfiles
-    } else {
-       # Remove wchar_t tests files from list.
-       set res {}
-       foreach w $sfiles {
-           if [regexp "wchar_t" $w] {
-               verbose -log "element out list is $w"
-           } else {
-               verbose -log "element in list is $w"
-               lappend res $w
-           }
-       }
-       return $res
-    }
-}
-
-
-proc libmudflap-dg-prune { system text } {
-    global additional_prunes
-
-    set text [prune_gcc_output $text]
-
-    foreach p $additional_prunes {
-       if { [string length $p] > 0 } {
-           # Following regexp matches a complete line containing $p.
-           regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text
-       }
-    }
-
-    return $text
-}
-
-
-proc prune_gcc_output { text } {
-    # Ignore caret diagnostics. Unfortunately dejaGNU trims leading
-    # spaces, so one cannot rely on them being present.
-    regsub -all "(^|\n)\[^\n\]+\n *\\^\n" $text "\n" text
-    regsub -all {(^|\n)[^\n]*ld: warning: libgcc_s[^\n]*not found[^\n]*try using[^\n]*} $text "" text
-    regsub -all {(^|\n)[^\n]*In function.*pthread_create[^\n]*} $text "" text
-    regsub -all {(^|\n)[^\n]*the use of .pthread.*is deprecated[^\n]*} $text "" text
-    regsub -all {(^|\n)[^\n]*Dwarf Error:.*FORM value: 14[^\n]*} $text "" text
-    regsub -all {(^|\n)[^\n]*In function[^\n]*} $text "" text
-    regsub -all {(^|\n)[^\n]*Using.*in statically linked applications requires[^\n]*} $text "" text
-
-    return $text
-}
diff --git a/libmudflap/testsuite/lib/mfdg.exp b/libmudflap/testsuite/lib/mfdg.exp
deleted file mode 100644 (file)
index 1984b31..0000000
+++ /dev/null
@@ -1,375 +0,0 @@
-# `mfdg' - overrides parts of general purpose testcase driver.
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING3.  If not see
-# <http://www.gnu.org/licenses/>.
-
-
-# This is a modified excerpt of dejagnu/lib/dg.exp.
-
-load_lib dg.exp
-
-# We set LC_ALL and LANG to C so that we get the same error messages as expected.
-setenv LC_ALL C
-setenv LANG C
-
-# Many hosts now default to a non-ASCII C locale, however, so
-# they can set a charset encoding here if they need.
-if { [ishost "*-*-cygwin*"] } {
-  setenv LC_ALL C.ASCII
-  setenv LANG C.ASCII
-}
-
-# dg-test -- runs a new style DejaGnu test
-#
-# Syntax: dg-test [-keep-output] prog tool_flags default_extra_tool_flags
-#
-# PROG is the full path name of the file to pass to the tool (eg: compiler).
-# TOOL_FLAGS is a set of options to always pass.
-# DEFAULT_EXTRA_TOOL_FLAGS are additional options if the testcase has none.
-
-#proc dg-test { prog tool_flags default_extra_tool_flags } {
-proc dg-test { args } {
-    global dg-do-what-default dg-interpreter-batch-mode dg-linenum-format
-    global errorCode errorInfo
-    global additional_prunes
-    global tool
-    global srcdir              ;# eg: /calvin/dje/build/gcc/./testsuite/
-    global host_triplet target_triplet
-
-    set keep 0
-    set i 0
-    set dg-repetitions 1 ;# may be overridden by { dg-repetitions N }
-    unset_timeout_vars
-
-    if { [string index [lindex $args 0] 0] == "-" } {
-       for { set i 0 } { $i < [llength $args] } { incr i } {
-           if { [lindex $args $i] == "--" } {
-               incr i
-               break
-           } elseif { [lindex $args $i] == "-keep-output" } {
-               set keep 1
-           } elseif { [string index [lindex $args $i] 0] == "-" } {
-               clone_output "ERROR: dg-test: illegal argument: [lindex $args $i]"
-               return
-           } else {
-               break
-           }
-       }
-    }
-
-    if { $i + 3 != [llength $args] } {
-       clone_output "ERROR: dg-test: missing arguments in call"
-       return
-    }
-    set prog [lindex $args $i]
-    set tool_flags [lindex $args [expr $i + 1]]
-    set default_extra_tool_flags [lindex $args [expr $i + 2]]
-
-    set text "\[- A-Za-z0-9\.\;\"\_\:\'\`\(\)\!\#\=\+\?\&\*]*"
-
-    set name [dg-trim-dirname $srcdir $prog]
-    # If we couldn't rip $srcdir out of `prog' then just do the best we can.
-    # The point is to reduce the unnecessary noise in the logs.  Don't strip
-    # out too much because different testcases with the same name can confuse
-    # `test-tool'.
-    if [string match "/*" $name] {
-       set name "[file tail [file dirname $prog]]/[file tail $prog]"
-    }
-
-    if {$tool_flags != ""} {
-       append name " ($tool_flags)"
-    }
-
-    # Process any embedded dg options in the testcase.
-
-    # Use "" for the second element of dg-do-what so we can tell if it's been
-    # explicitly set to "S".
-    set dg-do-what [list ${dg-do-what-default} "" P]
-    set dg-excess-errors-flag 0
-    set dg-messages ""
-    set dg-extra-tool-flags $default_extra_tool_flags
-    set dg-final-code ""
-
-    set additional_prunes ""
-
-    # `dg-output-text' is a list of two elements: pass/fail and text.
-    # Leave second element off for now (indicates "don't perform test")
-    set dg-output-text "P"
-
-    # Define our own "special function" `unknown' so we catch spelling errors.
-    # But first rename the existing one so we can restore it afterwards.
-    catch {rename dg-save-unknown ""}
-    rename unknown dg-save-unknown
-    proc unknown { args } {
-       return -code error "unknown dg option: $args"
-    }
-
-    set tmp [dg-get-options $prog]
-    foreach op $tmp {
-       verbose "Processing option: $op" 3
-       set status [catch "$op" errmsg]
-       if { $status != 0 } {
-           if { 0 && [info exists errorInfo] } {
-               # This also prints a backtrace which will just confuse
-               # testcase writers, so it's disabled.
-               perror "$name: $errorInfo\n"
-           } else {
-               perror "$name: $errmsg for \"$op\"\n"
-           }
-           # ??? The call to unresolved here is necessary to clear `errcnt'.
-           # What we really need is a proc like perror that doesn't set errcnt.
-           # It should also set exit_status to 1.
-           unresolved "$name: $errmsg for \"$op\""
-           return
-       }
-    }
-
-    # Restore normal error handling.
-    rename unknown ""
-    rename dg-save-unknown unknown
-
-    # If we're not supposed to try this test on this target, we're done.
-    if { [lindex ${dg-do-what} 1] == "N" } {
-       unsupported "$name"
-       verbose "$name not supported on this target, skipping it" 3
-       return
-    }
-
-    # Run the tool and analyze the results.
-    # The result of ${tool}-dg-test is in a bit of flux.
-    # Currently it is the name of the output file (or "" if none).
-    # If we need more than this it will grow into a list of things.
-    # No intention is made (at this point) to preserve upward compatibility
-    # (though at some point we'll have to).
-
-    set results [${tool}-dg-test $prog [lindex ${dg-do-what} 0] "$tool_flags ${dg-extra-tool-flags}"];
-
-    set comp_output [lindex $results 0];
-    set output_file [lindex $results 1];
-
-    #send_user "\nold_dejagnu.exp: comp_output1 = :$comp_output:\n\n"
-    #send_user "\nold_dejagnu.exp: message = :$message:\n\n"
-    #send_user "\nold_dejagnu.exp: message length = [llength $message]\n\n"
-
-    foreach i ${dg-messages} {
-       verbose "Scanning for message: $i" 4
-
-       # Remove all error messages for the line [lindex $i 0]
-       # in the source file.  If we find any, success!
-       set line [lindex $i 0]
-       set pattern [lindex $i 2]
-       set comment [lindex $i 3]
-       #send_user "Before:\n$comp_output\n"
-       if [regsub -all "(^|\n)(\[^\n\]+$line\[^\n\]*($pattern)\[^\n\]*\n?)+" $comp_output "\n" comp_output] {
-            set comp_output [string trimleft $comp_output]
-           set ok pass
-           set uhoh fail
-       } else {
-           set ok fail
-           set uhoh pass
-       }
-       #send_user "After:\n$comp_output\n"
-
-       # $line will either be a formatted line number or a number all by
-       # itself.  Delete the formatting.
-       scan $line ${dg-linenum-format} line
-       switch [lindex $i 1] {
-           "ERROR" {
-               $ok "$name $comment (test for errors, line $line)"
-           }
-           "XERROR" {
-               x$ok "$name $comment (test for errors, line $line)"
-           }
-           "WARNING" {
-               $ok "$name $comment (test for warnings, line $line)"
-           }
-           "XWARNING" {
-               x$ok "$name $comment (test for warnings, line $line)"
-           }
-           "BOGUS" {
-               $uhoh "$name $comment (test for bogus messages, line $line)"
-           }
-           "XBOGUS" {
-               x$uhoh "$name $comment (test for bogus messages, line $line)"
-           }
-           "BUILD" {
-               $uhoh "$name $comment (test for build failure, line $line)"
-           }
-           "XBUILD" {
-               x$uhoh "$name $comment (test for build failure, line $line)"
-           }
-           "EXEC" { }
-           "XEXEC" { }
-       }
-       #send_user "\nold_dejagnu.exp: comp_output2= :$comp_output:\n\n"
-    }
-    #send_user "\nold_dejagnu.exp: comp_output3 = :$comp_output:\n\n"
-
-    # Remove messages from the tool that we can ignore.
-    #send_user "comp_output: $comp_output\n"
-    set comp_output [prune_warnings $comp_output]
-
-    if { [info proc ${tool}-dg-prune] != "" } {
-       set comp_output [${tool}-dg-prune $target_triplet $comp_output]
-       switch -glob $comp_output {
-           "::untested::*" {
-               regsub "::untested::" $comp_output "" message
-               untested "$name: $message"
-               return
-           }
-           "::unresolved::*" {
-               regsub "::unresolved::" $comp_output "" message
-               unresolved "$name: $message"
-               return
-           }
-           "::unsupported::*" {
-               regsub "::unsupported::" $comp_output "" message
-               unsupported "$name: $message"
-               return
-           }
-       }
-    }
-
-    # See if someone forgot to delete the extra lines.
-    regsub -all "\n+" $comp_output "\n" comp_output
-    regsub "^\n+" $comp_output "" comp_output
-    #send_user "comp_output: $comp_output\n"
-
-    # Don't do this if we're testing an interpreter.
-    # FIXME: why?
-    if { ${dg-interpreter-batch-mode} == 0 } {
-       # Catch excess errors (new bugs or incomplete testcases).
-       if ${dg-excess-errors-flag} {
-           setup_xfail "*-*-*"
-       }
-       if ![string match "" $comp_output] {
-           fail "$name (test for excess errors)"
-           send_log "Excess errors:\n$comp_output\n"
-       } else {
-           pass "$name (test for excess errors)"
-       }
-    }
-
-    # Run the executable image if asked to do so.
-    # FIXME: This is the only place where we assume a standard meaning to
-    # the `keyword' argument of dg-do.  This could be cleaned up.
-    if { [lindex ${dg-do-what} 0] == "run" } {
-       if ![file exists $output_file] {
-           warning "$name compilation failed to produce executable"
-       } else {
-           set testname $name
-           for {set rep 0} {$rep < ${dg-repetitions}} {incr rep} {
-               # include repetition number in test name
-               if {$rep > 0} { set name "$testname (rerun $rep)" }
-
-               set status -1
-               set result [${tool}_load $output_file]
-               set status [lindex $result 0];
-               set output [lindex $result 1];
-               #send_user "After exec, status: $status\n"
-
-               if { "$status" == "pass" } {
-                   verbose "Exec succeeded." 3
-               } elseif { "$status" == "fail" } {
-                   # It would be nice to get some info out of errorCode.
-                   if [info exists errorCode] {
-                       verbose "Exec failed, errorCode: $errorCode" 3
-                   } else {
-                       verbose "Exec failed, errorCode not defined!" 3
-                   }
-               }
-               
-               if { [lindex ${dg-do-what} 2] == "F" } {
-                   # Instead of modelling this as an xfail (via setup_xfail), 
-                   # treat an expected crash as a success.
-                   if { $status == "pass" } then { set status fail } else { set status pass }
-                   set testtype "crash"
-               } else { set testtype "execution" }
-               
-               $status "$name $testtype test"
-               
-               if { [llength ${dg-output-text}] > 1 } {
-                   #send_user "${dg-output-text}\n"
-                   if { [lindex ${dg-output-text} 0] == "F" } {
-                       setup_xfail "*-*-*"
-                   }
-                   set texttmp [lindex ${dg-output-text} 1]
-                   if { ![regexp $texttmp ${output}] } {
-                       fail "$name output pattern test"
-                   } else {
-                       pass "$name output pattern test"
-                   }
-                   verbose -log "Output pattern $texttmp"
-                   unset texttmp
-               }
-           }
-       }
-    }
-
-    # Are there any further tests to perform?
-    # Note that if the program has special run-time requirements, running
-    # of the program can be delayed until here.  Ditto for other situations.
-    # It would be a bit cumbersome though.
-
-    if ![string match ${dg-final-code} ""] {
-       regsub -all "\\\\(\[{}\])" ${dg-final-code} "\\1" dg-final-code
-       # Note that the use of `args' here makes this a varargs proc.
-       proc dg-final-proc { args } ${dg-final-code}
-       verbose "Running dg-final tests." 3
-       verbose "dg-final-proc:\n[info body dg-final-proc]" 4
-       if [catch "dg-final-proc $prog" errmsg] {
-           perror "$name: error executing dg-final: $errmsg"
-           # ??? The call to unresolved here is necessary to clear `errcnt'.
-           # What we really need is a proc like perror that doesn't set errcnt.
-           # It should also set exit_status to 1.
-           unresolved "$name: error executing dg-final: $errmsg"
-       }
-    }
-
-    # Do some final clean up.
-    # When testing an interpreter, we don't compile something and leave an
-    # output file.
-    if { ! ${keep} && ${dg-interpreter-batch-mode} == 0 } {
-       catch "exec rm -f $output_file"
-    }
-}
-
-
-# 
-# Indicate that this test case is to be rerun several times.  This
-# is useful if it is nondeterministic.  This applies to rerunning the
-# test program only, not rebuilding it.
-# The embedded format is "{ dg-repetitions N }", where N is the number
-# of repetitions.  It better be greater than zero.
-#
-proc dg-repetitions { line value } {
-    upvar dg-repetitions repetitions
-    set repetitions $value
-}
-
-
-# Prune any messages matching ARGS[1] (a regexp) from test output.
-proc dg-prune-output { args } {
-    global additional_prunes
-
-    if { [llength $args] != 2 } {
-       error "[lindex $args 1]: need one argument"
-       return
-    }
-
-    lappend additional_prunes [lindex $args 1]
-}
-
-set additional_prunes ""
diff --git a/libmudflap/testsuite/libmudflap.c++/c++frags.exp b/libmudflap/testsuite/libmudflap.c++/c++frags.exp
deleted file mode 100644 (file)
index 4e3d244..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-global MUDFLAP_FLAGS
-set MUDFLAP_FLAGS [list {-O0} {-static} { -O} {-O2} {-O3}]
-
-libmudflap-init c++
-if {$cxx == "g++"} then {
-    unsupported "g++ not found"
-    return
-}
-
-dg-init
-
-global srcdir
-
-foreach flags $MUDFLAP_FLAGS {
-    foreach srcfile [lsort [glob -nocomplain ${srcdir}/libmudflap.c++/*frag.cxx]] {
-       set bsrc [file tail $srcfile]
-       setenv MUDFLAP_OPTIONS "-viol-segv"
-       dg-runtest $srcfile $flags "-fmudflap -lmudflap"
-    }
-}
-
-dg-finish
diff --git a/libmudflap/testsuite/libmudflap.c++/ctors-1.cxx b/libmudflap/testsuite/libmudflap.c++/ctors-1.cxx
deleted file mode 100644 (file)
index 7717c80..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <iostream>
-
-
-extern char k [];
-
-class foo
-{
- public:
-  foo (char *m) { m [40] = 20; }
-};
-
-
-foo f1 (k);
-foo f2 (k);
-foo f3 (k);
-
-int main ()
-{
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/ctors-2.cxx b/libmudflap/testsuite/libmudflap.c++/ctors-2.cxx
deleted file mode 100644 (file)
index c1a5019..0000000
+++ /dev/null
@@ -1 +0,0 @@
-char k [500];
diff --git a/libmudflap/testsuite/libmudflap.c++/ctors.exp b/libmudflap/testsuite/libmudflap.c++/ctors.exp
deleted file mode 100644 (file)
index df7293d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-global MUDFLAP_FLAGS
-set MUDFLAP_FLAGS [list {-O0} {-static} {-O2} {-O3}]
-
-libmudflap-init c++
-if {$cxx == "g++"} then {
-    unsupported "g++ not found"
-    return
-}
-
-dg-init
-
-global srcdir subdir
-
-foreach flags $MUDFLAP_FLAGS {
-    set l1 [libmudflap_target_compile "$srcdir/$subdir/ctors-1.cxx" "ctors-1.o" object {additional_flags=-fmudflap}]
-    set test "ctors-1 compilation ${flags}"
-    if [string match "*mudflap cannot track unknown size extern *k*" $l1] { pass $test } { fail $test }
-
-    set l2 [libmudflap_target_compile "$srcdir/$subdir/ctors-2.cxx" "ctors-2.o" object {additional_flags=-fmudflap}]
-    set test "ctors-2 compilation ${flags}"
-    if [string match "" $l2]  { pass $test } { fail $test }
-
-    set l3 [libmudflap_target_compile "ctors-1.o ctors-2.o" "ctors-12.exe" executable {additional_flags=-fmudflap additional_flags=-lmudflap additional_flags=-lstdc++}]
-    set test "ctors-12 linkage ${flags}"
-    if [string match "" $l3]  { pass $test } { fail $test }
-
-    set l4 [libmudflap_target_compile "ctors-2.o ctors-1.o" "ctors-21.exe" executable {additional_flags=-fmudflap additional_flags=-lmudflap additional_flags=-lstdc++}]
-    set test "ctors-21 linkage ${flags}"
-    if [string match "" $l3]  { pass $test } { fail $test }
-
-    setenv MUDFLAP_OPTIONS "-viol-segv"
-
-    remote_spawn host "./ctors-12.exe"
-    set l5 [remote_wait host 10]
-    set test "ctors-12 execution ${flags}"
-    if {[lindex $l5 0] == 0}  { pass $test } { fail $test }
-
-    remote_spawn host "./ctors-21.exe"
-    set l6 [remote_wait host 10]
-    set test "ctors-21 execution ${flags}"
-    if {[lindex $l6 0] == 0}  { pass $test } { fail $test }
-
-    foreach f [glob -nocomplain "ctors-*"] {
-       remote_file build delete $f
-    }
-}
-
-dg-finish
diff --git a/libmudflap/testsuite/libmudflap.c++/error1-frag.cxx b/libmudflap/testsuite/libmudflap.c++/error1-frag.cxx
deleted file mode 100644 (file)
index 8bfe853..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-// PR 26789
-// { dg-do compile }
-
-struct A;
-A a; // { dg-error "incomplete" }
diff --git a/libmudflap/testsuite/libmudflap.c++/error2-frag.cxx b/libmudflap/testsuite/libmudflap.c++/error2-frag.cxx
deleted file mode 100644 (file)
index 0e89e11..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// PR 26790
-// { dg-do compile }
-
-struct A;
-
-A foo()  // { dg-error "incomplete" }
-{
-    A a; // { dg-error "incomplete" }
-    return a;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/fail24-frag.cxx b/libmudflap/testsuite/libmudflap.c++/fail24-frag.cxx
deleted file mode 100644 (file)
index e3467dd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char zoo [10];
-
-int main ()
-{
-int i = strlen ("twelve") + strlen ("zero") + strlen ("seventeen");
-zoo[i] = 'a';
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*zoo.*static.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c++/pass27-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass27-frag.cxx
deleted file mode 100644 (file)
index aca2ea3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-class foo {
-  char z [10];
-public:
-  char *get_z () { return & this->z[0]; }
-};
-
-int main ()
-{
-foo x;
-x.get_z()[9] = 'a';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/pass28-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass28-frag.cxx
deleted file mode 100644 (file)
index 75e14ba..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-class foo {
-  char z [10];
-public:
-  virtual char *get_z () { return & this->z[0]; }
-};
-
-class bar: public foo {
-  char q [20];
-public:
-  char *get_z () { return & this->q[0]; }
-};
-
-int main () {
-foo *x = new bar ();
-
-x->get_z()[9] = 'a';
-
-delete x;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/pass31-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass31-frag.cxx
deleted file mode 100644 (file)
index 6c4b9f9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char zoo [10];
-
-int main ()
-{
-int i = strlen ("eight") + strlen ("one");
-zoo[i] = 'a';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx
deleted file mode 100644 (file)
index 06896c7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <string>
-#include <iostream>
-
-int
-main (int argc, char *argv[])
-{
-    std::string myStr = "Hello, World!";
-    std::cout << myStr << std::endl;
-    return 0;
-}
-
-/* Ignore a warning that is irrelevant to the purpose of this test.  */
-/* { dg-prune-output ".*mudflap cannot track unknown size extern.*" } */
diff --git a/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx
deleted file mode 100644 (file)
index e83c124..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <vector>
-
-int main() {
-  std::vector<int> v;
-  v.push_back(1);
-  return 0;
-} 
diff --git a/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx
deleted file mode 100644 (file)
index 8be1a2d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <vector>
-#include <string>
-
-class fitscolumn
-  {
-  private:
-    std::string name_, unit_;
-   int i, t;
-  public:
-    fitscolumn (const std::string &nm, const std::string &un,int i1,int t1)
-      : name_(nm), unit_(un), i(i1), t(t1){}
-  };
-
-void init_bintab(std::vector<fitscolumn> & columns_)
-{
-  char ttype[81], tunit[81], tform[81];
-  long repc;
-  int typecode;
-  columns_.push_back (fitscolumn (ttype,tunit,1,typecode));
-}
-
-int main ()
-{
-  return 0;
-}
-
-/* Ignore a warning that is irrelevant to the purpose of this test.  */
-/* { dg-prune-output ".*mudflap cannot track unknown size extern.*" } */
diff --git a/libmudflap/testsuite/libmudflap.c++/pass58-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass58-frag.cxx
deleted file mode 100644 (file)
index 96da05f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// PR 19319
-struct k {
-  int data;
-  k(int j): data(j) {}
-};
-k make_k () { return k(1); }
-
-int main ()
-{
-  k foo = make_k ();
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass60-frag.cxx
deleted file mode 100644 (file)
index 35989d1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// PR 26442
-
-struct A
-{
-  A();
-};
-
-int main()
-{
-  if (0)
-    A();
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c++/pass61-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass61-frag.cxx
deleted file mode 100644 (file)
index 0304611..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// PR c++/34619
-// { dg-do compile }
-
-template <typename> struct A
-{
-  typedef int X;
-  static const int N = 1;
-};
-
-template <typename T> struct B
-{
-  typedef typename A <int [A <T>::N]>::X Y;
-  template <typename U> B (Y, U) {}
-};
-
-int main ()
-{
-}
-
-B <int>b (0, 0);
diff --git a/libmudflap/testsuite/libmudflap.c++/pass66-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass66-frag.cxx
deleted file mode 100644 (file)
index 989c7ca..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// PR c++/37568
-// { dg-do compile }
-// { dg-options "-fmudflap -O" }
-
-struct A
-{
-  int i;
-};
-
-A
-foo ()
-{
-  A a = { 1 };
-  return a;
-}
-
-A a = foo ();
diff --git a/libmudflap/testsuite/libmudflap.c/cfrags.exp b/libmudflap/testsuite/libmudflap.c/cfrags.exp
deleted file mode 100644 (file)
index ebd67c4..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-global MUDFLAP_FLAGS
-set MUDFLAP_FLAGS [list {-O0} {-static} {-O2} {-O3}]
-
-libmudflap-init c
-
-dg-init
-
-global srcdir
-foreach flags $MUDFLAP_FLAGS {
-    foreach srcfile [lsort [glob -nocomplain \
-                            ${srcdir}/libmudflap.c/*frag.c \
-                            ${srcdir}/libmudflap.c/heap*.c \
-                            ${srcdir}/libmudflap.c/hook*.c \
-                            ${srcdir}/libmudflap.c/pass*.c]] {
-       set bsrc [file tail $srcfile]
-       setenv MUDFLAP_OPTIONS "-viol-segv"
-       dg-runtest $srcfile $flags "-fmudflap -lmudflap"
-    }
-}
-
-dg-finish
diff --git a/libmudflap/testsuite/libmudflap.c/externs-1.c b/libmudflap/testsuite/libmudflap.c/externs-1.c
deleted file mode 100644 (file)
index 028f5eb..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-typedef struct { char *name; } dummy;
-extern dummy d[];
-
-int
-main (void)
-{
-  dummy *pd = d;
-
-  while (pd->name)
-    {
-      printf ("%s\n", pd->name);
-      pd++;
-    }
-
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/externs-2.c b/libmudflap/testsuite/libmudflap.c/externs-2.c
deleted file mode 100644 (file)
index cecf625..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-typedef struct { char *name; } dummy;
-dummy d[] = { {"a"}, {0} };
diff --git a/libmudflap/testsuite/libmudflap.c/externs.exp b/libmudflap/testsuite/libmudflap.c/externs.exp
deleted file mode 100644 (file)
index 5a0297f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-global MUDFLAP_FLAGS
-set MUDFLAP_FLAGS [list {-O0} {-static} {-O2} {-O3}]
-
-libmudflap-init c
-dg-init
-
-global srcdir subdir
-
-foreach flags $MUDFLAP_FLAGS {
-    set l1 [libmudflap_target_compile "$srcdir/$subdir/externs-1.c" "externs-1.o" object {additional_flags=-fmudflap}]
-    set test "externs-1 compilation ${flags}"
-    if [string match "*mudflap cannot track unknown size extern *d*" $l1] { pass $test } { fail $test }
-
-    set l2 [libmudflap_target_compile "$srcdir/$subdir/externs-2.c" "externs-2.o" object {additional_flags=-fmudflap}]
-    set test "externs-2 compilation ${flags}"
-    if [string match "" $l2]  { pass $test } { fail $test }
-
-    set l3 [libmudflap_target_compile "externs-1.o externs-2.o" "externs-12.exe" executable {additional_flags=-fmudflap additional_flags=-lmudflap}]
-    set test "externs-12 linkage ${flags}"
-    if [string match "" $l3]  { pass $test } { fail $test }
-
-    set l4 [libmudflap_target_compile "externs-2.o externs-1.o" "externs-21.exe" executable {additional_flags=-fmudflap additional_flags=-lmudflap}]
-    set test "externs-21 linkage ${flags}"
-    if [string match "" $l3]  { pass $test } { fail $test }
-
-    setenv MUDFLAP_OPTIONS "-viol-segv"
-
-    remote_spawn host "./externs-12.exe"
-    set l5 [remote_wait host 10]
-    set test "externs-12 execution ${flags}"
-    if {[lindex $l5 0] == 0}  { pass $test } { fail $test }
-
-    remote_spawn host "./externs-21.exe"
-    set l6 [remote_wait host 10]
-    set test "externs-21 execution ${flags}"
-    if {[lindex $l6 0] == 0}  { pass $test } { fail $test }
-
-    foreach f [glob -nocomplain "externs-*"] {
-       remote_file build delete $f
-    }
-}
-
-dg-finish
diff --git a/libmudflap/testsuite/libmudflap.c/fail1-frag.c b/libmudflap/testsuite/libmudflap.c/fail1-frag.c
deleted file mode 100644 (file)
index 1e48fff..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile int foo [10];
-foo[10] = 0;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. foo.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail10-frag.c b/libmudflap/testsuite/libmudflap.c/fail10-frag.c
deleted file mode 100644 (file)
index db135d5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile int foo[10];
-int sz = sizeof (int);
-
-volatile char *bar = (char *)foo;
-bar [sz * 10] = 0;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. foo.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail11-frag.c b/libmudflap/testsuite/libmudflap.c/fail11-frag.c
deleted file mode 100644 (file)
index 8cd4a53..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-char *y;
-int main ()
-{
-int i = 10;
-char *x = (char *) malloc (i * sizeof (char));
-y = x;
-while (i--)
-{
-  ++x;
-  *x = i;
-}
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail12-frag.c b/libmudflap/testsuite/libmudflap.c/fail12-frag.c
deleted file mode 100644 (file)
index 7491fed..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int *y;
-int main ()
-{
-int i = 10;
-int *x = (int *) malloc (i * sizeof (int));
-y = x;
-while (i--)
-{
-  ++x;
-  *x = i;
-}
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail13-frag.c b/libmudflap/testsuite/libmudflap.c/fail13-frag.c
deleted file mode 100644 (file)
index 9fd3e25..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct a {
-  int x;
-  int y;
-  char z;
-};
-
-struct b {
-  int x;
-  int y;
-};
-
-struct b k;
-
-(*((volatile struct a *) &k)).z = 'q';
-
-return 0;
-}
-/* { dg-output "mudflap violation 1..check/write.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. k.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail14-frag.c b/libmudflap/testsuite/libmudflap.c/fail14-frag.c
deleted file mode 100644 (file)
index e66cc94..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct a {
-  int x;
-  int y;
-  char z;
-};
-
-struct b {
-  int x;
-  int y;
-};
-
-volatile struct b k;
-volatile struct a *p;
-
-p = (struct a*) &k;
-
-p->z = 'q';
-
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. k.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail15-frag.c b/libmudflap/testsuite/libmudflap.c/fail15-frag.c
deleted file mode 100644 (file)
index 5d7ae74..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct base {
-  int basic;
-}; 
-
-struct derived { 
-  struct base common;
-  char extra;
-};
-
-volatile struct base b;
-volatile struct base *bp;
-
-bp = (struct base *)&b;
-
-bp->basic = 10;
-((struct derived volatile *)bp)->extra = 'x';
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. b.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail16-frag.c b/libmudflap/testsuite/libmudflap.c/fail16-frag.c
deleted file mode 100644 (file)
index 6ac6187..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-void *p;
-int main ()
-{
-struct base {
-  int basic;
-}; 
-
-struct derived { 
-  struct base common;
-  char extra;
-};
-
-struct base *bp;
-
-bp = (struct base *) malloc (sizeof (struct base));;
-p = bp;
-bp->basic = 10;
-((struct derived *)bp)->extra = 'x';
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail17-frag.c b/libmudflap/testsuite/libmudflap.c/fail17-frag.c
deleted file mode 100644 (file)
index 5af67f1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-
-char * x;
-int foo;
-x = (char *) malloc (10);
-strcpy (x, "123456789");
-foo = strlen (x+10);
-x [foo] = 1; /* we just just use foo to force execution of strlen */
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail18-frag.c b/libmudflap/testsuite/libmudflap.c/fail18-frag.c
deleted file mode 100644 (file)
index a7b62dd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-/* One cannot redeclare __mf_lc_mask in proper C from instrumented
-   code, because of the way the instrumentation code emits its decls.  */
-extern unsigned foo __asm__ ("__mf_lc_mask");
-unsigned * volatile bar = &foo;
-*bar = 4;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.__mf_lc_mask.*no-access.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail19-frag.c b/libmudflap/testsuite/libmudflap.c/fail19-frag.c
deleted file mode 100644 (file)
index 7e446b4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct foo {
-  int bar [10];
-};
-
-struct foo *k = (struct foo *) malloc (2 * sizeof(int));
-k->bar[5] = 9;
-free (k);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail2-frag.c b/libmudflap/testsuite/libmudflap.c/fail2-frag.c
deleted file mode 100644 (file)
index 7672e60..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile int foo [10][10];
-foo[10][0] = 0;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. foo.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail20-frag.c b/libmudflap/testsuite/libmudflap.c/fail20-frag.c
deleted file mode 100644 (file)
index 0dd8bb7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile char *p = (char *) 0;
-*p = 5;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.NULL.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail21-frag.c b/libmudflap/testsuite/libmudflap.c/fail21-frag.c
deleted file mode 100644 (file)
index 4ab4a09..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
- int *bar = (int *) malloc (sizeof (int));
-/* Make an access here to get &foo into the lookup cache.  */
-*bar = 5;
-__mf_watch (bar, sizeof(int));
-/* This access should trigger the watch violation.  */
-*bar = 10;
-/* NOTREACHED */
-return 0;
-}
-/* { dg-output "mudflap violation 1.*watch.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail22-frag.c b/libmudflap/testsuite/libmudflap.c/fail22-frag.c
deleted file mode 100644 (file)
index 7dd7103..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct boo { int a; };
-int c;
-struct boo *b = malloc (sizeof (struct boo));
-__mf_set_options ("-check-initialization");
-c = b->a;
-(void) malloc (c); /* some dummy use of c */
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.malloc region.*1r/0w.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail23-frag.c b/libmudflap/testsuite/libmudflap.c/fail23-frag.c
deleted file mode 100644 (file)
index bb1b52e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char zoo [10];
-
-int main ()
-{
-int i = strlen ("012345") + strlen ("6789") + strlen ("01"); /* 11 */
-zoo[i] = 'a';
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*zoo.*static.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail25-frag.c b/libmudflap/testsuite/libmudflap.c/fail25-frag.c
deleted file mode 100644 (file)
index acac523..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-__mf_set_options ("-check-initialization");
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-/* bar[2] = 'z'; */ /* don't touch memcpy source */
-memcpy(foo+1, bar+1, 9);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*check.read.*memcpy source.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*malloc region.*alloc time.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail26-frag.c b/libmudflap/testsuite/libmudflap.c/fail26-frag.c
deleted file mode 100644 (file)
index 88484d6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-
-__mf_set_options ("-check-initialization");
-foo = (char *)malloc (1);
-
-/* These two operations each expand to a read-modify-write.
- * Even though the end result is that every bit of foo[0] is
- * eventually written to deterministically, the first read
- * triggers an uninit error.  Ideally, it shouldn't, so this
- * should be treated more like a regular XFAIL.  */
-foo[0] &= 0xfe;
-foo[0] |= 0x01;
-
-return foo[0];
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*malloc region.*1r/0w.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail27-frag.c b/libmudflap/testsuite/libmudflap.c/fail27-frag.c
deleted file mode 100644 (file)
index 547c5e7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char volatile *
-__attribute__((noinline))
-foo (unsigned i)
-{
-  char volatile buffer[10];
-  char volatile *k = i ? & buffer[i] : NULL; /* defeat addr-of-local-returned warning */
-  return k;
-}
-
-int main ()
-{
-char volatile *f = foo (5);
-f[0] = 'b';
-
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap dead object.*buffer.*alloc.*dealloc" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail28-frag.c b/libmudflap/testsuite/libmudflap.c/fail28-frag.c
deleted file mode 100644 (file)
index 7d61c57..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int foo (int *u, int i)
-{
-   return u[i];  /* this dereference should be instrumented */
-}
-
-int main ()
-{
-int *k = malloc (6);
-return foo (k, 8);
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*malloc region.*alloc" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail29-frag.c b/libmudflap/testsuite/libmudflap.c/fail29-frag.c
deleted file mode 100644 (file)
index 2024064..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int foo (int u[10])
-{
-   return u[8];  /* this dereference should be instrumented */
-}
-
-int main ()
-{
-int *k = malloc (6);
-return foo (k);
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*malloc region.*alloc" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail3-frag.c b/libmudflap/testsuite/libmudflap.c/fail3-frag.c
deleted file mode 100644 (file)
index 98c1dba..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile int foo [10][10][10];
-foo[9][10][0] = 0;
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. foo.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail30-frag.c b/libmudflap/testsuite/libmudflap.c/fail30-frag.c
deleted file mode 100644 (file)
index 8bfea61..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int foo (int u)
-{
-   return u*u;
-}
-
-int main ()
-{
-int *k = malloc(5);
-int j = foo (k[8]);  /* this call argument should be instrumented */
-return j;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*malloc region.*alloc" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail31-frag.c b/libmudflap/testsuite/libmudflap.c/fail31-frag.c
deleted file mode 100644 (file)
index 138c8cc..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-extern int h (int i, int j);
-
-int main ()
-{
-  int z = h (4, 10);
-  return 0;
-}
-int *p;
-__attribute__((noinline))
-int h (int i, int j)
-{
-  int k[i];
-  k[j] = i;
-  p = k;
-  return j;
-}
-
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*\(h\).*k" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail32-frag.c b/libmudflap/testsuite/libmudflap.c/fail32-frag.c
deleted file mode 100644 (file)
index 2a38237..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-void foo (int k)
-{
-  volatile int *b = & k;
-  b++;
-  *b = 5;
-}
-
-int main ()
-{
-  foo (5);
-  return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*k" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail33-frag.c b/libmudflap/testsuite/libmudflap.c/fail33-frag.c
deleted file mode 100644 (file)
index ac7c617..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdlib.h>
-
-#define SIZE 16
-
-char b[SIZE];
-char a[SIZE];
-
-int main ()
-{
-  int i, j=0, k;
-  int a_before_b = (& a[0] < & b[0]);
-  /* Rather than iterating linearly, which would allow loop unrolling
-     and mapping to pointer manipulation, we traverse the "joined"
-     arrays in some random order.  */
-  for (i=0; i<SIZE*2; i++)
-    {
-      k = rand() % (SIZE*2);
-      j += (a_before_b ? a[k] : b[k]);
-    }
-  return j;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*\[ab\]" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail34-frag.c b/libmudflap/testsuite/libmudflap.c/fail34-frag.c
deleted file mode 100644 (file)
index f6572b0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdlib.h>
-
-struct s
-{
-  int a1[4];
-};
-
-struct s a, b;
-int idx = 7; /* should pass to the next object */
-
-int
-main ()
-{
-  int i, j=0;
-  int a_before_b = (& a < & b);
-  j = (a_before_b ? a.a1[idx] : b.a1[idx]);
-  return j;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*\[ab\]" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail35-frag.c b/libmudflap/testsuite/libmudflap.c/fail35-frag.c
deleted file mode 100644 (file)
index 101fe29..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdlib.h>
-
-struct k
-{
-  int p;
-  struct {
-    int m;
-  } q;
-};
-
-int
-main ()
-{
-  volatile struct k *l = malloc (sizeof (int)); /* make it only big enough for k.p */
-  /* Confirm that we instrument this nested construct
-     COMPONENT_REF(COMPONENT_REF(INDIRECT_REF)). */
-  l->q.m = 5;
-  return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail36-frag.c b/libmudflap/testsuite/libmudflap.c/fail36-frag.c
deleted file mode 100644 (file)
index af6851c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdlib.h>
-
-struct k
-{
-  int p;
-  struct {
-    int m : 31;
-  } q;
-};
-
-int
-main ()
-{
-  volatile struct k *l = malloc (sizeof (int)); /* make it only big enough for k.p */
-  /* Confirm that we instrument this nested construct
-     BIT_FIELD_REF(COMPONENT_REF(INDIRECT_REF)). */
-  l->q.m = 5;
-  return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail37-frag.c b/libmudflap/testsuite/libmudflap.c/fail37-frag.c
deleted file mode 100644 (file)
index 38dbde5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-typedef struct
-{
-  short f : 3;
-} small;
-
-struct
-{
-  int i;
-  small s[4];
-} x;
-
-main ()
-{
-  int i;
-  for (i = 0; i < 5; i++)
-    {
-      /* Optimization barrier.  Prevent gcc from seeing the undefined behavior.  */
-      __asm ("" : "+r" (i));
-      x.s[i].f = 0;
-    }
-  exit (0);
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap object.* x.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail38-frag.c b/libmudflap/testsuite/libmudflap.c/fail38-frag.c
deleted file mode 100644 (file)
index 9667e21..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct a {
-  int x;
-  int y;
-  int z : 10;
-};
-
-struct b {
-  int x;
-  int y;
-};
-
-volatile struct b k;
-volatile struct a *p;
-
-p = (struct a*) &k;
-
-p->z = 'q';
-
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. k.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail39-frag.c b/libmudflap/testsuite/libmudflap.c/fail39-frag.c
deleted file mode 100644 (file)
index 4e74ea5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int main ()
-{
-  volatile int *k = (int *) malloc (sizeof (int));
-  volatile int l;
-  if (k == NULL) abort ();
-  *k = 5;
-  free ((void *) k);
-  __mf_set_options ("-ignore-reads");
-  l = *k; /* Should not trip, even though memory region just freed.  */
-  __mf_set_options ("-no-ignore-reads");
-  l = *k; /* Should trip now.  */
-  return 0;
-}
-/* { dg-output "mudflap violation 1.*check/read.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap dead object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail4-frag.c b/libmudflap/testsuite/libmudflap.c/fail4-frag.c
deleted file mode 100644 (file)
index a3423e6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char foo [10];
-strcpy(foo, "1234567890");
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. foo.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail40-frag.c b/libmudflap/testsuite/libmudflap.c/fail40-frag.c
deleted file mode 100644 (file)
index fbeb6fd..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Test proper lookup-uncaching of large objects */
-#include "../config.h"
-
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-#endif
-
-int main ()
-{
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-#ifdef HAVE_MMAP
-  volatile unsigned char *p;
-  unsigned num = getpagesize ();
-  unsigned i;
-  int rc;
-
-  /* Get a bit of usable address space.  We really want an 2**N+1-sized object,
-     so the low/high addresses wrap when hashed into the lookup cache.  So we
-     will manually unregister the entire mmap, then re-register a slice.  */
-  p = mmap (NULL, num, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
-  if (p == MAP_FAILED)
-    return 1;
-  /* Now unregister it, as if munmap was called.  But don't actually munmap, so
-     we can write into the memory.  */
-  __mf_unregister ((void *) p, num, __MF_TYPE_HEAP_I);
-
-  /* Now register it under a slightly inflated, 2**N+1 size.  */
-  __mf_register ((void *) p, num+1, __MF_TYPE_HEAP_I, "fake mmap registration");
-
-  /* Traverse array to ensure that entire lookup cache is made to point at it.  */
-  for (i=0; i<num; i++)
-    p[i] = 0;
-
-  /* Unregister it.  This should clear the entire lookup cache, even though
-     hash(low) == hash (high)  (and probably == 0) */
-  __mf_unregister ((void *) p, num+1, __MF_TYPE_HEAP_I);
-
-  /* Now touch the middle portion of the ex-array.  If the lookup cache was
-     well and truly cleaned, then this access should trap.  */
-  p[num/2] = 1;
-
-  return 0;
-#else
-  return 1;
-#endif
-}
-/* { dg-output "mudflap violation 1.*check/write.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap dead object.*fake mmap registration.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail5-frag.c b/libmudflap/testsuite/libmudflap.c/fail5-frag.c
deleted file mode 100644 (file)
index a08569f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char foo [15];
-char bar [10];
-memcpy(foo, bar, 11);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*.main. bar.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail6-frag.c b/libmudflap/testsuite/libmudflap.c/fail6-frag.c
deleted file mode 100644 (file)
index 1904a88..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (15);
-
-memcpy(foo, bar, 11);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail68-frag.c b/libmudflap/testsuite/libmudflap.c/fail68-frag.c
deleted file mode 100644 (file)
index 7b2f8cf..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/* PR libmudflap/40778 */
-
-char p[32];
-static int j;
-
-__attribute__((noinline))
-static void foo (int i)
-{
-  if (j++ == 0)
-    p[i + 4] = 12;
-  else
-    p[i - 4] = 13;
-}
-
-int
-main ()
-{
-  foo (30);
-  foo (30);
-  foo (30);
-  return 0;
-}
-
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*name.*p" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail7-frag.c b/libmudflap/testsuite/libmudflap.c/fail7-frag.c
deleted file mode 100644 (file)
index 580d045..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (12);
-bar = (char *)malloc (10);
-
-memcpy(foo+1, bar+1, 10);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*" } */
-/* { dg-output "Nearby object 1.*" } */
-/* { dg-output "mudflap object.*malloc region.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail8-frag.c b/libmudflap/testsuite/libmudflap.c/fail8-frag.c
deleted file mode 100644 (file)
index 8309068..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-
-free(bar);
-
-memcpy(foo, bar, 10);
-return 0;
-}
-/* { dg-output "mudflap violation 1.*memcpy source.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap dead object.*malloc region.*alloc time.*dealloc time.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/fail9-frag.c b/libmudflap/testsuite/libmudflap.c/fail9-frag.c
deleted file mode 100644 (file)
index 9bbd860..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-
-free(foo);
-
-bar[4] = 'a'; /* touch source buffer */
-memcpy(foo, bar, 10);
-return 0;
-}
-
-/* { dg-output "mudflap violation 1.*memcpy dest.*" } */
-/* { dg-output "Nearby object.*" } */
-/* { dg-output "mudflap dead object.*malloc region.*alloc time.*dealloc time.*" } */
-/* { dg-do run { xfail *-*-* } } */
diff --git a/libmudflap/testsuite/libmudflap.c/heap-scalestress.c b/libmudflap/testsuite/libmudflap.c/heap-scalestress.c
deleted file mode 100644 (file)
index 6e7813b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* zz30
- *
- * demonstrate a splay-tree depth problem
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#ifndef SCALE
-#define SCALE 10000
-#endif
-
-
-struct list
-{
-  struct list *next;
-};
-
-
-int
-main ()
-{
-  struct list *head = NULL;
-  struct list *tail = NULL;
-  struct list *p;
-  long n;
-  int direction;
-
-  for (direction = 0; direction < 2; direction++)
-    {
-      fprintf (stdout, "allocating\n");
-      fflush (stdout);
-
-      for (n = 0; n < SCALE; ++n)
-       {
-         p = malloc (sizeof *p);
-         if (NULL == p)
-           {
-             fprintf (stdout, "malloc failed\n");
-             break;
-           }
-         if (direction == 0)
-           {                   /* add at tail */
-             p->next = NULL;
-             if (NULL != tail)
-               tail->next = p;
-             else
-               head = p;
-             tail = p;
-           }
-         else
-           {                   /* add at head */
-             p->next = head;
-             if (NULL == tail)
-               tail = p;
-             head = p;
-           }
-       }
-
-      fprintf (stdout, "freeing\n");
-      fflush (stdout);
-
-      while (NULL != head)
-       {
-         p = head;
-         head = head->next;
-         free (p);
-       }
-
-    }
-
-  fprintf (stdout, "done\n");
-  fflush (stdout);
-
-  return (0);
-}
-
-/* { dg-output "allocating.*freeing.*allocating.*freeing.*done" } */
diff --git a/libmudflap/testsuite/libmudflap.c/hook-allocstuff.c b/libmudflap/testsuite/libmudflap.c/hook-allocstuff.c
deleted file mode 100644 (file)
index dc25375..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int main ()
-{
-  char *foo = (char *) malloc (10);
-  strcpy (foo, "hello");
-  foo = (char *) realloc (foo, 20);
-  printf ("%s", foo);
-  if (strcmp (foo, "hello"))
-    abort ();
-  free (foo);
-  printf (" world\n");
-  return 0;
-}
-/* { dg-output "hello world" } */
diff --git a/libmudflap/testsuite/libmudflap.c/hook2-allocstuff.c b/libmudflap/testsuite/libmudflap.c/hook2-allocstuff.c
deleted file mode 100644 (file)
index d8fbec4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Generates recursive malloc call on i386-freebsd4.10 with -fmudflap.  */
-#include <stdlib.h>
-
-int
-main (void)
-{
-  char *p = malloc (1<<24);
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
deleted file mode 100644 (file)
index cf54306..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-/* Test for string function add boundaries of usable memory.
-   Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2011
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301 USA.  */
-
-#define _GNU_SOURCE 1
-#define __USE_GNU
-
-/* Make sure we don't test the optimized inline functions if we want to
-   test the real implementation.  */
-#undef __USE_STRING_INLINES
-
-#include "../config.h"
-
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/param.h>
-
-#ifndef MAX
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#endif
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-int
-main (int argc, char *argv[])
-{
-  int size = sysconf (_SC_PAGESIZE);
-  char *adr, *dest;
-  int result = 0;
-
-  adr = (char *) mmap (NULL, 3 * size, PROT_READ | PROT_WRITE,
-                      MAP_PRIVATE | MAP_ANON, -1, 0);
-  dest = (char *) mmap (NULL, 3 * size, PROT_READ | PROT_WRITE,
-                       MAP_PRIVATE | MAP_ANON, -1, 0);
-  if (adr == MAP_FAILED || dest == MAP_FAILED)
-    {
-      if (errno == ENOSYS)
-        puts ("No test, mmap not available.");
-      else
-        {
-          printf ("mmap failed: %m");
-          result = 1;
-        }
-    }
-  else
-    {
-      int inner, middle, outer;
-
-      mprotect(adr, size, PROT_NONE);
-      mprotect(adr + 2 * size, size, PROT_NONE);
-      adr += size;
-
-      mprotect(dest, size, PROT_NONE);
-      mprotect(dest + 2 * size, size, PROT_NONE);
-      dest += size;
-
-      memset (adr, 'T', size);
-
-      /* strlen test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-          for (inner = MAX (outer, size - 64); inner < size; ++inner)
-           {
-             adr[inner] = '\0';
-
-             if (strlen (&adr[outer]) != (size_t) (inner - outer))
-               {
-                 printf ("strlen flunked for outer = %d, inner = %d\n",
-                         outer, inner);
-                 result = 1;
-               }
-
-             adr[inner] = 'T';
-           }
-        }
-
-      /* strchr test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-         for (middle = MAX (outer, size - 64); middle < size; ++middle)
-           {
-             for (inner = middle; inner < size; ++inner)
-               {
-                 char *cp;
-                 adr[middle] = 'V';
-                 adr[inner] = '\0';
-
-                 cp = strchr (&adr[outer], 'V');
-
-                 if ((inner == middle && cp != NULL)
-                     || (inner != middle
-                         && (cp - &adr[outer]) != middle - outer))
-                   {
-                     printf ("strchr flunked for outer = %d, middle = %d, "
-                             "inner = %d\n", outer, middle, inner);
-                     result = 1;
-                   }
-
-                 adr[inner] = 'T';
-                 adr[middle] = 'T';
-               }
-           }
-        }
-
-      /* Special test.  */
-      adr[size - 1] = '\0';
-      if (strchr (&adr[size - 1], '\n') != NULL)
-       {
-         puts ("strchr flunked for test of empty string at end of page");
-         result = 1;
-       }
-
-      /* strrchr test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-         for (middle = MAX (outer, size - 64); middle < size; ++middle)
-           {
-             for (inner = middle; inner < size; ++inner)
-               {
-                 char *cp;
-                 adr[middle] = 'V';
-                 adr[inner] = '\0';
-
-                 cp = strrchr (&adr[outer], 'V');
-
-                 if ((inner == middle && cp != NULL)
-                     || (inner != middle
-                         && (cp - &adr[outer]) != middle - outer))
-                   {
-                     printf ("strrchr flunked for outer = %d, middle = %d, "
-                             "inner = %d\n", outer, middle, inner);
-                     result = 1;
-                   }
-
-                 adr[inner] = 'T';
-                 adr[middle] = 'T';
-               }
-           }
-        }
-
-#ifdef HAVE_RAWMEMCHR
-      /* rawmemchr test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-         for (middle = MAX (outer, size - 64); middle < size; ++middle)
-           {
-             char *cp;
-             adr[middle] = 'V';
-
-             cp = (char *) rawmemchr (&adr[outer], 'V');
-
-             if (cp - &adr[outer] != middle - outer)
-               {
-                 printf ("rawmemchr flunked for outer = %d, middle = %d\n",
-                         outer, middle);
-                 result = 1;
-               }
-
-             adr[middle] = 'T';
-           }
-        }
-#endif
-
-      /* strcpy test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-          for (inner = MAX (outer, size - 64); inner < size; ++inner)
-           {
-             adr[inner] = '\0';
-
-             if (strcpy (dest, &adr[outer]) != dest
-                 || strlen (dest) != (size_t) (inner - outer))
-               {
-                 printf ("strcpy flunked for outer = %d, inner = %d\n",
-                         outer, inner);
-                 result = 1;
-               }
-
-             adr[inner] = 'T';
-           }
-        }
-
-      /* strncpy tests */
-      adr[size-1] = 'T';
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-       {
-         size_t len;
-
-         for (len = 0; len < size - outer; ++len)
-           {
-             if (strncpy (dest, &adr[outer], len) != dest
-                 || memcmp (dest, &adr[outer], len) != 0)
-               {
-                 printf ("outer strncpy flunked for outer = %d, len = %Zd\n",
-                         outer, len);
-                 result = 1;
-               }
-           }
-        }
-      adr[size-1] = '\0';
-
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-          for (inner = MAX (outer, size - 64); inner < size; ++inner)
-           {
-             size_t len;
-
-             adr[inner] = '\0';
-
-             for (len = 0; len < size - outer + 64; ++len)
-               {
-                 if (strncpy (dest, &adr[outer], len) != dest
-                     || memcmp (dest, &adr[outer],
-                                MIN (inner - outer, len)) != 0
-                     || (inner - outer < len
-                         && strlen (dest) != (inner - outer)))
-                   {
-                     printf ("strncpy flunked for outer = %d, inner = %d, len = %Zd\n",
-                             outer, inner, len);
-                     result = 1;
-                   }
-                 if (strncpy (dest + 1, &adr[outer], len) != dest + 1
-                     || memcmp (dest + 1, &adr[outer],
-                                MIN (inner - outer, len)) != 0
-                     || (inner - outer < len
-                         && strlen (dest + 1) != (inner - outer)))
-                   {
-                     printf ("strncpy+1 flunked for outer = %d, inner = %d, len = %Zd\n",
-                             outer, inner, len);
-                     result = 1;
-                   }
-               }
-
-             adr[inner] = 'T';
-           }
-        }
-
-#ifdef HAVE_STPCPY
-      /* stpcpy test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-          for (inner = MAX (outer, size - 64); inner < size; ++inner)
-           {
-             adr[inner] = '\0';
-
-             if ((stpcpy (dest, &adr[outer]) - dest) != inner - outer)
-               {
-                 printf ("stpcpy flunked for outer = %d, inner = %d\n",
-                         outer, inner);
-                 result = 1;
-               }
-
-             adr[inner] = 'T';
-           }
-        }
-
-      /* stpncpy test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-        {
-          for (middle = MAX (outer, size - 64); middle < size; ++middle)
-           {
-             adr[middle] = '\0';
-
-             for (inner = 0; inner < size - outer; ++ inner)
-               {
-                 if ((stpncpy (dest, &adr[outer], inner) - dest)
-                     != MIN (inner, middle - outer))
-                   {
-                     printf ("stpncpy flunked for outer = %d, middle = %d, "
-                             "inner = %d\n", outer, middle, inner);
-                     result = 1;
-                   }
-               }
-
-             adr[middle] = 'T';
-           }
-        }
-#endif
-
-      /* memcpy test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-       for (inner = 0; inner < size - outer; ++inner)
-         if (memcpy (dest, &adr[outer], inner) !=  dest)
-           {
-             printf ("memcpy flunked for outer = %d, inner = %d\n",
-                     outer, inner);
-             result = 1;
-           }
-
-#ifdef HAVE_MEMPCPY
-      /* mempcpy test */
-      for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
-       for (inner = 0; inner < size - outer; ++inner)
-         if (mempcpy (dest, &adr[outer], inner) !=  dest + inner)
-           {
-             printf ("mempcpy flunked for outer = %d, inner = %d\n",
-                     outer, inner);
-             result = 1;
-           }
-#endif
-    }
-
-  return result;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass1-frag.c b/libmudflap/testsuite/libmudflap.c/pass1-frag.c
deleted file mode 100644 (file)
index 40f629b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int foo [10];
-foo[9] = 0;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass10-frag.c b/libmudflap/testsuite/libmudflap.c/pass10-frag.c
deleted file mode 100644 (file)
index f05650d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int foo[10];
-int sz = sizeof (int);
-
-char *bar = (char *)foo;
-bar [sz * 9] = 0;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass11-frag.c b/libmudflap/testsuite/libmudflap.c/pass11-frag.c
deleted file mode 100644 (file)
index ab7ee38..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int i = 10;
-char *x = (char *) malloc (i * sizeof (char));
-
-while (--i)
-{
-  ++x;
-  *x = 0;
-}
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass12-frag.c b/libmudflap/testsuite/libmudflap.c/pass12-frag.c
deleted file mode 100644 (file)
index 53630d9..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int i = 10;
-int *x = (int *) malloc (i * sizeof (int));
-
-while (--i)
-{
-  ++x;
-  *x = 0;
-}
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass13-frag.c b/libmudflap/testsuite/libmudflap.c/pass13-frag.c
deleted file mode 100644 (file)
index c2b820d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct a {
-  int x;
-  int y;
-  char z;
-};
-
-struct a k;
-
-k.z = 'q';
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass14-frag.c b/libmudflap/testsuite/libmudflap.c/pass14-frag.c
deleted file mode 100644 (file)
index 2645643..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct a {
-  int x;
-  int y;
-  char z;
-};
-
-struct a k;
-struct a *p;
-
-p = &k;
-
-p->z = 'q';
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass15-frag.c b/libmudflap/testsuite/libmudflap.c/pass15-frag.c
deleted file mode 100644 (file)
index 5e1fee8..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct base {
-  int basic;
-}; 
-
-struct derived { 
-  struct base common;
-  char extra;
-};
-
-struct derived d;
-struct base *bp;
-
-bp = (struct base *)&d;
-
-bp->basic = 10;
-((struct derived *)bp)->extra = 'x';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass16-frag.c b/libmudflap/testsuite/libmudflap.c/pass16-frag.c
deleted file mode 100644 (file)
index 99ede3f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct base {
-  int basic;
-}; 
-
-struct derived { 
-  struct base common;
-  char extra;
-};
-
-struct base *bp;
-
-bp = (struct base *) malloc (sizeof (struct derived));
-
-bp->basic = 10;
-((struct derived *)bp)->extra = 'x';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass17-frag.c b/libmudflap/testsuite/libmudflap.c/pass17-frag.c
deleted file mode 100644 (file)
index b840dc9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-
-strlen("123456789");
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass18-frag.c b/libmudflap/testsuite/libmudflap.c/pass18-frag.c
deleted file mode 100644 (file)
index c5d5af0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int t;
-char foo[3] = { 'b', 'c', 'd' };
-int bar[3] = {1, 2, 0};
-t = 1;
-
-/* These tests check expression evaluation rules, such as
-   ensuring that side-effect expression (++) get executed the
-   right number of times; that array lookup checks nest correctly. */
-foo[t++] = 'a';
-if (foo[0] != 'b' || foo[1] != 'a' || foo[2] != 'd' || t != 2) abort ();
-if (bar[0] != 1 || bar[1] != 2 || bar[2] != 0) abort();
-
-foo[bar[t--]] = 'e';
-if (foo[0] != 'e' || foo[1] != 'a' || foo[2] != 'd' || t != 1) abort ();
-if (bar[0] != 1 || bar[1] != 2 || bar[2] != 0) abort();
-
-foo[bar[++t]--] = 'g';
-if (foo[0] != 'g' || foo[1] != 'a' || foo[2] != 'd' || t != 2) abort ();
-if (bar[0] != 1 || bar[1] != 2 || bar[2] != -1) abort();
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass19-frag.c b/libmudflap/testsuite/libmudflap.c/pass19-frag.c
deleted file mode 100644 (file)
index 0b00845..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct foo {int base; char variable[1]; }; /* a common idiom for variable-size structs */
-
-struct foo * b = (struct foo *) malloc (sizeof (int)); /* enough for base */
-b->base = 4;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass2-frag.c b/libmudflap/testsuite/libmudflap.c/pass2-frag.c
deleted file mode 100644 (file)
index 7e71e0c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int foo [10][10];
-foo[9][0] = 0;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass20-frag.c b/libmudflap/testsuite/libmudflap.c/pass20-frag.c
deleted file mode 100644 (file)
index 9843116..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct bar {int stuff; int array[10]; };
-
-struct bar *foo = (struct bar *) malloc (sizeof (struct bar));
-foo->array[5] = 4;
-free (foo);
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass21-frag.c b/libmudflap/testsuite/libmudflap.c/pass21-frag.c
deleted file mode 100644 (file)
index 231055a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifndef __FreeBSD__
-#include <alloca.h>
-#endif
-int main ()
-{
-char *boo, *foo;
-boo = (char *) alloca (100);
-boo[99] = 'a';
-foo = (char *) __builtin_alloca (200);
-foo[44] = 'b';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass22-frag.c b/libmudflap/testsuite/libmudflap.c/pass22-frag.c
deleted file mode 100644 (file)
index b092ea0..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct foo {
-  unsigned base:8;
-  unsigned flag1:1;
-  unsigned flag2:3;
-  unsigned flag3:4;
-  char nothing[0];
-};
-
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
-
-struct foo* f = (struct foo *) malloc (offsetof (struct foo, nothing));
-f->base = 1;
-f->flag1 = 1;
-free (f);
-
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass23-frag.c b/libmudflap/testsuite/libmudflap.c/pass23-frag.c
deleted file mode 100644 (file)
index f27c223..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct foo {
-  int part1: 8;
-  int nothing : 1;
-  int part2 : 5;
-  int lots_more_nothing : 3;
-  int some_padding; /* for 64-bit hosts */
-  float some_more_nothing;
-  double yet_more_nothing;
-};
-
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
-
-struct foo* q = (struct foo *) malloc (offsetof (struct foo, some_more_nothing));
-q->nothing = 1; /* touch q */ 
-/* The RHS of the following expression is meant to trigger a
-   fold-const.c mapping the expression to a BIT_FIELD_REF.  It glues
-   together the accesses to the two non-neighbouring bitfields into a
-   single bigger boolean test. */
-q->lots_more_nothing = (q->part1 == 13 && q->part2 == 7);
-free (q);
-
-
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass24-frag.c b/libmudflap/testsuite/libmudflap.c/pass24-frag.c
deleted file mode 100644 (file)
index 0038582..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct foo {
-  int zoo;
-  int bar [10];
-  float baz;
-};
-
-#define offsetof(S,F) ((size_t) & (((S *) 0)->F))
-
-struct foo *k = (struct foo *) malloc (offsetof (struct foo, bar[4]));
-k->bar[1] = 9;
-free (k);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass25-frag.c b/libmudflap/testsuite/libmudflap.c/pass25-frag.c
deleted file mode 100644 (file)
index c5a75e3..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int *foo = malloc (10 * sizeof(int));
-int *bar = & foo[3];
-/* Watching occurs at the object granularity, which is in this case
-   the entire array.  */
-__mf_watch (& foo[1], sizeof(foo[1]));
-__mf_unwatch (& foo[6], sizeof(foo[6]));
-*bar = 10;
-free (foo); 
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass26-frag.c b/libmudflap/testsuite/libmudflap.c/pass26-frag.c
deleted file mode 100644 (file)
index 5a72f5b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-volatile int *p;
-
-__mf_set_options ("-wipe-stack -no-check-initialization");
-
-{
-  volatile int array [10];
-  p = & array[0];
-
-  array[0] = 2;
-  array[9] = 5;
-
-  /* Array[] should be wiped clean at this point.  */
-}
-
-__mf_set_options ("-no-wipe-stack");
-
-{ 
-  volatile int array2[10];
-
- /* hope that this is allocated on top of old array[] */  
-  if (p != & array2[0])
-    exit (0);  /* Test is not applicable. */
-
-  array2[5] = 6;
-
-  /* Old values shouldn't still be around; the new one should.  */
-  if (p[0] == 2 || p[9] == 5 || p[5] != 6)
-    abort() ;
-
-  /* array2[] should not be wiped at this point! */
-}
-
-{ 
-  volatile int array3[10];
-
- /* hope that this is allocated on top of old array[] and array2[]*/  
-  if (p != & array3[0])
-    exit (0);  /* Test is not applicable. */
-
-  array3[1] = 2;
-
-  /* Check that old assignment is still around.  */
-  if (p[5] != 6 || p[1] != 2)
-    abort() ;
-}
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass29-frag.c b/libmudflap/testsuite/libmudflap.c/pass29-frag.c
deleted file mode 100644 (file)
index 97bed6e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-struct boo { int a; };
-int c;
-struct boo *b = malloc (sizeof (struct boo));
-__mf_set_options ("-check-initialization");
-b->a = 0;
-/* That __mf_set_options call could be here instead. */
-c = b->a;
-(void) malloc (c); /* some dummy use of c */
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass3-frag.c b/libmudflap/testsuite/libmudflap.c/pass3-frag.c
deleted file mode 100644 (file)
index 4e950a2..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-int foo [10][10][10];
-foo[9][9][0] = 0;
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass30-frag.c b/libmudflap/testsuite/libmudflap.c/pass30-frag.c
deleted file mode 100644 (file)
index 6c4b9f9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char zoo [10];
-
-int main ()
-{
-int i = strlen ("eight") + strlen ("one");
-zoo[i] = 'a';
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass32-frag.c b/libmudflap/testsuite/libmudflap.c/pass32-frag.c
deleted file mode 100644 (file)
index d7f2232..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-struct foo { char z[10]; };
-
-char * get_z (struct foo *this)
-{
-  return & this->z[0] /* the `this' pointer is not dereferenced! */;
-}
-
-int main ()
-{
-struct foo k;
-char *n = get_z (& k);
-srand ((int)(__mf_uintptr_t) n); /* use the pointer value */
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass33-frag.c b/libmudflap/testsuite/libmudflap.c/pass33-frag.c
deleted file mode 100644 (file)
index 95d762c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-void test (int *k)
-{
-  if (*k > 5) { *k --; }
-}
-
-int main ()
-{
-int z;
-/* z is initialized, but not via a pointer, so not instrumented */
-z = rand (); 
-test (& z);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass34-frag.c b/libmudflap/testsuite/libmudflap.c/pass34-frag.c
deleted file mode 100644 (file)
index 2dfd0ca..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-void test (int *k)
-{
-  if (*k > 5) { *k --; }
-}
-
-int z;
-
-int main ()
-{
-/* z is initialized, but not via a pointer, so not instrumented */
-z = rand (); 
-test (& z);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass35-frag.c b/libmudflap/testsuite/libmudflap.c/pass35-frag.c
deleted file mode 100644 (file)
index 14d2c94..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-extern char end [];   /* Any old symbol we're sure will be defined. */
-/* { dg-warning "cannot track unknown size extern" "cannot track unknown size extern" { target *-*-* } 0 } */
-
-int main ()
-{
-/* dummy register */
-__mf_register ((void *) end, 1, __MF_TYPE_GUESS, "end");
-char z = end[0];
-return z & 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass36-frag.c b/libmudflap/testsuite/libmudflap.c/pass36-frag.c
deleted file mode 100644 (file)
index 68d1a7f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <signal.h>
-
-int main ()
-{
-char *k;
-__mf_set_options ("-sigusr1-report -print-leaks");
-k = (char *) malloc (100);
-raise (SIGUSR1);
-free (k);
-return 0;
-}
-/* { dg-output "Leaked object.*name=.malloc region.*objects: 1" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass38-frag.c b/libmudflap/testsuite/libmudflap.c/pass38-frag.c
deleted file mode 100644 (file)
index a250234..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test an odd construct for compilability.  */
-static void *fwd;
-void *bwd = &fwd;
-static void *fwd = &bwd;
-
-int main ()
-{
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass4-frag.c b/libmudflap/testsuite/libmudflap.c/pass4-frag.c
deleted file mode 100644 (file)
index 0a40d1c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char foo[10];
-strcpy (foo, "123456789");
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass42-frag.c b/libmudflap/testsuite/libmudflap.c/pass42-frag.c
deleted file mode 100644 (file)
index 1045c47..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-
-void
-foo ()
-{
-  putc ('h', stdout);
-  putc ('i', stdout);
-  putc ('\n', stdout);
-}
-
-int
-main (int argc, char *argv[])
-{
-  foo ();
-  return 0;
-}
-/* { dg-output "hi" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass43-frag.c b/libmudflap/testsuite/libmudflap.c/pass43-frag.c
deleted file mode 100644 (file)
index 4fec330..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-void
-foo ()
-{
-}
-
-int
-main (int argc, char *argv[])
-{
-  foo ();
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass44-frag.c b/libmudflap/testsuite/libmudflap.c/pass44-frag.c
deleted file mode 100644 (file)
index 338d6da..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-
-void
-foo ()
-{
-  return; /* accept value-less return statement */
-}
-
-int
-main (int argc, char *argv[])
-{
-  foo ();
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass45-frag.c b/libmudflap/testsuite/libmudflap.c/pass45-frag.c
deleted file mode 100644 (file)
index c6bfeb5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-extern void h (const char *p, const char *f);
-int
-main (void)
-{
-  h (0, "foo");
-  return 0;
-}
-
-void
-h (const char *p, const char *f)
-{
-  size_t pl = p == NULL ? 0 : strlen (p);
-  size_t fl = strlen (f) + 1;
-  char a[pl + 1 + fl];
-  char *cp = a;
-  char b[pl + 5 + fl * 2];
-  char *cccp = b;
-  if (p != NULL)
-    {
-      cp = memcpy (cp, p, pl);
-      *cp++ = ':';
-    }
-  memcpy (cp, f, fl);
-  strcpy (b, a);
-  puts (a);
-}
-/* { dg-output "foo" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass46-frag.c b/libmudflap/testsuite/libmudflap.c/pass46-frag.c
deleted file mode 100644 (file)
index 904868a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int foo (int *u, int i)
-{
-   return u[i];  /* this dereference should not be instrumented */
-}
-
-int main ()
-{
-  int *k = malloc (6);
- int l = foo (k, 8);
- int boo [8];
- int m = boo [l % 2 + 12]; /* should not be instrumented */
- return m & strlen (""); /* a fancy way of saying "0" */
-}
-/* { dg-options "-fmudflap -fmudflapir -lmudflap" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass47-frag.c b/libmudflap/testsuite/libmudflap.c/pass47-frag.c
deleted file mode 100644 (file)
index 7117582..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdlib.h>
-#include <ctype.h>
-
-int main ()
-{
-  char* buf = "hello"; 
-  return ! ((toupper (buf[0]) == 'H' && toupper ('z') == 'Z' &&
-             tolower (buf[4]) == 'o' && tolower ('X') == 'x' &&
-             isdigit (buf[3])) == 0 && isalnum ('4'));
-}
-
-/* { dg-warning "cannot track unknown size extern .__ctype." "Solaris __ctype declared without size" { target *-*-solaris2.* } 0 } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass48-frag.c b/libmudflap/testsuite/libmudflap.c/pass48-frag.c
deleted file mode 100644 (file)
index 3059762..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-void foo (int k)
-{
-  volatile int *b = & k;
-  *b = 5;
-}
-
-int main ()
-{
-  foo (5);
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass49-frag.c b/libmudflap/testsuite/libmudflap.c/pass49-frag.c
deleted file mode 100644 (file)
index db74530..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <stdlib.h>
-#include <ctype.h>
-#include <stdarg.h>
-
-int foo (int a, ...)
-{
-  va_list args;
-  char *a1;
-  int a2;
-  int k;
-
-  va_start (args, a);
-  for (k = 0; k < a; k++)
-    {
-      if ((k % 2) == 0)
-        {
-          char *b = va_arg (args, char *);
-          printf ("%s", b);
-        }
-      else
-        {
-          int b = va_arg (args, int);
-          printf ("%d", b);
-        }
-    }
-  va_end (args);
-  return a;
-}
-
-int main ()
-{
-  foo (7, "hello ", 5, " ", 3, " world ", 9, "\n");
-  return 0;
-}
-/* { dg-output "hello 5 3 world 9" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass5-frag.c b/libmudflap/testsuite/libmudflap.c/pass5-frag.c
deleted file mode 100644 (file)
index 6d3408a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char foo [10];
-char bar [10];
-bar[4] = 'k'; /* touch memcpy source */
-memcpy(foo, bar, 10);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass50-frag.c b/libmudflap/testsuite/libmudflap.c/pass50-frag.c
deleted file mode 100644 (file)
index ac9ee09..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdlib.h>
-
-struct a
-{
-  int a1[5];
-  union
-  {
-    int b1[5];
-    struct
-    {
-      int c1;
-      int c2;
-    } b2[4];
-  } a2[8];
-};
-
-int i1 = 5;
-int i2 = 2;
-int i3 = 6;
-int i4 = 0;
-
-int
-main ()
-{
-  volatile struct a *k = calloc (1, sizeof (struct a));
-  k->a2[i1].b1[i2] = k->a2[i3].b2[i4].c2;
-  free ((void *) k);
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass51-frag.c b/libmudflap/testsuite/libmudflap.c/pass51-frag.c
deleted file mode 100644 (file)
index 2780ffd..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Test object-spanning accesses.  This is most conveniently done with
-   mmap, thus the config.h specificity here.  */
-#include "../config.h"
-
-#include <unistd.h>
-#include <string.h>
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-#endif
-
-int main ()
-{
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-#ifdef HAVE_MMAP
-  void *p;
-  unsigned pg = getpagesize ();
-  int rc;
-
-  p = mmap (NULL, 4 * pg, PROT_READ|PROT_WRITE, 
-            MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
-  if (p == MAP_FAILED)
-    return 1;
-
-  memset (p, 0, 4*pg);
-  rc = munmap (p, pg);
-  if (rc < 0) return 1;
-  memset (p+pg, 0, 3*pg);
-  rc = munmap (p+pg, pg);
-  if (rc < 0) return 1;
-  memset (p+2*pg, 0, 2*pg);
-  rc = munmap (p+2*pg, pg);
-  if (rc < 0) return 1;
-  memset (p+3*pg, 0, pg);
-  rc = munmap (p+3*pg, pg);
-  if (rc < 0) return 1;
-#endif
-
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass52-frag.c b/libmudflap/testsuite/libmudflap.c/pass52-frag.c
deleted file mode 100644 (file)
index 7ff9d57..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <stdio.h>
-
-
-void writestuff (FILE *f)
-{
-  fprintf (f, "hello world\n");
-  fputc ('y', f);
-  putc ('e', f);
-}
-
-void readstuff (FILE *f)
-{
-  int c, d;
-  char stuff[100], *s;
-  c = fgetc (f);
-  ungetc (c, f);
-  d = fgetc (f);
-  s = fgets (stuff, sizeof(stuff), f);
-}
-
-int main ()
-{
-  FILE *f;
-  writestuff (stdout);
-  writestuff (stderr);
-  f = fopen ("/dev/null", "w");
-  writestuff (f);
-  fclose (f);
-  f = fopen ("/dev/zero", "r");
-  readstuff (f);
-  f = freopen ("/dev/null", "w", f);
-  writestuff (f);
-  fclose (f);
-
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass53-frag.c b/libmudflap/testsuite/libmudflap.c/pass53-frag.c
deleted file mode 100644 (file)
index 6afb293..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-int foo1 ()
-{
-  union { int l; char c[sizeof (int)]; } k1;
-  char *m;
-  k1.l = 0;
-  /* This test variant triggers ADDR_EXPR of k explicitly in order to
-     ensure it's registered with the runtime.  */
-  m = k1.c;
-  k1.c [sizeof (int)-1] = m[sizeof (int)-2];
-}
-
-int foo2 ()
-{
-  union { int l; char c[sizeof (int)]; } k2;
-  k2.l = 0;
-  /* Since this access is known-in-range, k need not be registered
-     with the runtime, but then this access better not be instrumented
-     either.  */
-  k2.c [sizeof (int)-1] ++;
-  return k2.l;
-}
-
-int foo3idx = sizeof (int)-1;
-
-int foo3 ()
-{
-  union { int l; char c[sizeof (int)]; } k3;
-  k3.l = 0;
-  /* NB this test uses foo3idx, an extern variable, to defeat mudflap
-     known-in-range-index optimizations.  */
-  k3.c [foo3idx] ++;
-  return k3.l;
-}
-
-int main ()
-{
-  foo1 ();
-  foo2 ();
-  foo3 ();
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass54-frag.c b/libmudflap/testsuite/libmudflap.c/pass54-frag.c
deleted file mode 100644 (file)
index 5eebb45..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-struct k 
-{
-  struct {
-    int b;
-    int c;
-  } a;
-};
-
-static struct k l;
-static struct k m;
-
-void foo ()
-{
-  /* This should not be instrumented. */ 
-  l.a.b = 5;
-}
-
-void bar ()
-{
-  /* This should not be instrumented. */ 
-  m.a.b = 5;
-}
-
-int main ()
-{
-  /* Force TREE_ADDRESSABLE on "l" only.  */
-  volatile int *k = & l.a.c;
-  *k = 8;
-  __mf_set_options ("-mode-violate");
-  foo ();
-  bar ();
-  __mf_set_options ("-mode-check");
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass56-frag.c b/libmudflap/testsuite/libmudflap.c/pass56-frag.c
deleted file mode 100644 (file)
index e22fc8d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int main ()
-{
-  volatile int *k = (int *) malloc (sizeof (int));
-  volatile int l;
-  if (k == NULL) abort ();
-  *k = 5;
-  free ((void *) k);
-  __mf_set_options ("-ignore-reads");
-  l = *k; /* Should not trip, even though memory region just freed.  */
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass6-frag.c b/libmudflap/testsuite/libmudflap.c/pass6-frag.c
deleted file mode 100644 (file)
index 9b07fe2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-bar[2] = 'z'; /* touch memcpy source */
-memcpy(foo, bar, 10);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass62-frag.c b/libmudflap/testsuite/libmudflap.c/pass62-frag.c
deleted file mode 100644 (file)
index 8e64b2b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* PR tree-optimization/34618 */
-/* { dg-do compile } */
-/* { dg-options "-O3 -fmudflap" } */
-
-int a[16];
-
-void
-foo ()
-{
-  int i;
-  for (i = 0; i < 16; i++)
-    a[i] = i;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass63-frag.c b/libmudflap/testsuite/libmudflap.c/pass63-frag.c
deleted file mode 100644 (file)
index a5ad8f2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/* Check -Wno-mudflap flag */
-/* { dg-do compile } */
-/* { dg-options "-fmudflap -Wno-mudflap" } */
-
-extern char x[];
-int main() { return x[3]; }  /* { dg-bogus "mudflap cannot track" } */
diff --git a/libmudflap/testsuite/libmudflap.c/pass64-frag.c b/libmudflap/testsuite/libmudflap.c/pass64-frag.c
deleted file mode 100644 (file)
index 856eec0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/* PR libmudflap/36397 */
-/* { dg-do run } */
-/* { dg-options "-O -fmudflap -fno-strict-aliasing -lmudflap" } */
-
-struct A
-{
-  int a[2];
-};
-
-long long int x;
-
-int __attribute__ ((noinline))
-baz (long long int *x)
-{
-  return *x;
-}
-
-int __attribute__ ((noinline))
-foo (int i)
-{
-  if (i > 10)
-    return baz (&x);
-  return ((struct A *) &x)->a[i];
-}
-
-int
-main (void)
-{
-  if (sizeof (long long) == 2 * sizeof (int)
-      && sizeof (long long) == sizeof (struct A))
-    {
-      struct A a = { .a[0] = 10, .a[1] = 20 };
-      __builtin_memcpy (&x, &a, sizeof (x));
-      if (foo (0) != 10 || foo (1) != 20)
-        __builtin_abort ();
-    }
-  return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass67-frag.c b/libmudflap/testsuite/libmudflap.c/pass67-frag.c
deleted file mode 100644 (file)
index 0c2f81a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/* PR middle-end/35314 */
-/* { dg-do compile } */
-/* { dg-options "-fmudflap" } */
-
-#include <setjmp.h>
-
-jmp_buf buf;
-
-void
-foo (volatile char *p)
-{
-  if (__builtin_setjmp (buf))
-    *p;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass7-frag.c b/libmudflap/testsuite/libmudflap.c/pass7-frag.c
deleted file mode 100644 (file)
index 3619733..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-bar[2] = 'z'; /* touch memcpy source */
-memcpy(foo+1, bar+1, 9);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass8-frag.c b/libmudflap/testsuite/libmudflap.c/pass8-frag.c
deleted file mode 100644 (file)
index 6be4e93..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-
-free(bar);
-bar = (char *)malloc (10);
-bar[6] = 'k'; /* touch memcpy source */
-memcpy(foo, bar, 10);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.c/pass9-frag.c b/libmudflap/testsuite/libmudflap.c/pass9-frag.c
deleted file mode 100644 (file)
index 9186e06..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-int main ()
-{
-char *foo;
-char *bar;
-foo = (char *)malloc (10);
-bar = (char *)malloc (10);
-
-free(foo);
-foo = (char *)malloc (10);
-bar[3] = 'w'; /* touch memcpy source */
-memcpy(foo, bar, 10);
-return 0;
-}
diff --git a/libmudflap/testsuite/libmudflap.cth/cthfrags.exp b/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
deleted file mode 100644 (file)
index 75d4447..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-global MUDFLAP_FLAGS
-set MUDFLAP_FLAGS [list {-O0} {-static -DSTATIC} {-O2} {-O3}]
-
-libmudflap-init c
-
-dg-init
-
-global srcdir
-foreach flags $MUDFLAP_FLAGS {
-    foreach srcfile [lsort [glob -nocomplain ${srcdir}/libmudflap.cth/*.c]] {
-       set bsrc [file tail $srcfile]
-       setenv MUDFLAP_OPTIONS "-viol-segv"
-       if {$libmudflapth} then {
-           if [check_effective_target_gld] {
-               # --noinhibit-exec works around a ld problem that causes
-               # "Dwarf Error: Invalid or unhandled FORM value: 14"
-               # to fail builds unnecessarily.
-               set noie_option " -Wl,--noinhibit-exec"
-           } else {
-               set noie_option ""
-           }
-           dg-runtest $srcfile $flags "-fmudflapth -lmudflapth -lpthread $noie_option"
-       } else {
-           if {$flags != ""} {set f " ($flags)"} {set f ""}
-            untested "libmudflap.cth/$bsrc$f"
-       }
-    }
-}
-
-dg-finish
diff --git a/libmudflap/testsuite/libmudflap.cth/pass37-frag.c b/libmudflap/testsuite/libmudflap.cth/pass37-frag.c
deleted file mode 100644 (file)
index 877803c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <pthread.h>
-#include <sched.h>
-
-static void *
-func (void *p)
-{
-  int *counter = (int *) p;
-  unsigned i;
-  
-  for (i=0; i<100; i++)
-    {
-      (*counter) ++;
-      {
-       int array[17];
-       unsigned x = i % (sizeof(array)/sizeof(array[0]));
-       /* VRP could prove that x is within [0,16], but until then, the
-          following access will ensure that array[] is registered to
-          libmudflap. */
-       array[x] = i;
-      }
-      sched_yield (); /* sleep (1); */
-    }
-
-  return (NULL);
-}
-
-
-int main ()
-{
-  int rc;
-  unsigned i;
-  enum foo { NT=10 };
-  pthread_t threads[NT];
-  int counts[NT];
-
-
-  for (i=0; i<NT; i++)
-    {
-      counts[i] = 0;
-      rc = pthread_create (& threads[i], NULL, func, (void *) & counts[i]);
-      if (rc) abort();
-    }
-
-  for (i=0; i<NT; i++)
-    {
-      rc = pthread_join (threads[i], NULL);
-      if (rc) abort();      
-      printf ("%d%s", counts[i], (i==NT-1) ? "\n" : " ");
-    }
-
-  return 0;
-}
-
-/* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
-/* { dg-repetitions 20 } */
-/* { dg-timeout 10 } */
diff --git a/libmudflap/testsuite/libmudflap.cth/pass39-frag.c b/libmudflap/testsuite/libmudflap.cth/pass39-frag.c
deleted file mode 100644 (file)
index cd3eb5a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <pthread.h>
-#include <sched.h>
-#include <assert.h>
-
-static void *
-func (void *p)
-{
-  int *counter = (int *) p;
-  unsigned i;
-  enum { numarrays = 100, numels = 17 };
-  char *arrays [numarrays];
-
-  for (i=0; i<numarrays; i++)
-    {
-      (*counter) ++;
-      unsigned x = i % numels;
-      arrays[i] = calloc (numels, sizeof(arrays[i][0]));
-      assert (arrays[i] != NULL);
-      arrays[i][x] = i;
-      free (arrays[i]);
-      sched_yield (); /* sleep (1); */
-    }
-
-  return (NULL);
-}
-
-
-int main ()
-{
-  int rc;
-  unsigned i;
-  enum foo { NT=10 };
-  pthread_t threads[NT];
-  int counts[NT];
-
-
-  for (i=0; i<NT; i++)
-    {
-      counts[i] = 0;
-      rc = pthread_create (& threads[i], NULL, func, (void *) & counts[i]);
-      if (rc) abort();
-    }
-
-  for (i=0; i<NT; i++)
-    {
-      rc = pthread_join (threads[i], NULL);
-      if (rc) abort();       
-     printf ("%d%s", counts[i], (i==NT-1) ? "\n" : " ");
-    }
-
-  return 0;
-}
-/* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
-/* { dg-repetitions 20 } */
-/* { dg-timeout 10 } */
diff --git a/libmudflap/testsuite/libmudflap.cth/pass40-frag.c b/libmudflap/testsuite/libmudflap.cth/pass40-frag.c
deleted file mode 100644 (file)
index 007cb16..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <pthread.h>
-
-static void *
-func (void *p)  
-{
-        return (NULL);
-}               
-
-static void
-test (void)
-{
-        int             rc;
-        pthread_attr_t  my_pthread_attr;
-        pthread_t       h;
-        long            i;
-
-        rc = pthread_attr_init (&my_pthread_attr);
-
-        for (i = 1; i <= 10000; ++i) {
-                if (i%100 == 0) fprintf (stderr, "%i ", i);
-                if (i%1000 == 0) fprintf (stderr, "\n");
-#ifndef STATIC 
-         /* Some glibc versions don't like static multithreaded programs doing this. */
-                if (i==5000) __mf_set_options ("-thread-stack=192");
-#endif
-                rc = pthread_create (&h, &my_pthread_attr,
-                        func, NULL);
-                if (rc)
-                        break;
-
-                rc = pthread_join (h, NULL);
-                if (rc)
-                        break;
-        }
-        
-        rc = pthread_attr_destroy (&my_pthread_attr);
-}
-                
-int main ()
-{
-        test ();
-                
-        return (0);
-}
-
-/* { dg-timeout 30 } */
-/* { dg-output "100 200 300 400 500 600 700 800 900 1000 \n" } */
-/* { dg-output "1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 \n" } */
-/* { dg-output "2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 \n" } */
-/* { dg-output "3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 \n" } */
-/* { dg-output "4100 4200 4300 4400 4500 4600 4700 4800 4900 5000 \n" } */
-/* { dg-output "5100 5200 5300 5400 5500 5600 5700 5800 5900 6000 \n" } */
-/* { dg-output "6100 6200 6300 6400 6500 6600 6700 6800 6900 7000 \n" } */
-/* { dg-output "7100 7200 7300 7400 7500 7600 7700 7800 7900 8000 \n" } */
-/* { dg-output "8100 8200 8300 8400 8500 8600 8700 8800 8900 9000 \n" } */
-/* { dg-output "9100 9200 9300 9400 9500 9600 9700 9800 9900 10000 \n" } */
-
diff --git a/libmudflap/testsuite/libmudflap.cth/pass59-frag.c b/libmudflap/testsuite/libmudflap.cth/pass59-frag.c
deleted file mode 100644 (file)
index 4901306..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-#include <pthread.h>
-
-/* PR 28578 */
-
-void* test_thread(void* arg)
-{
-  printf("Hello from thread!\n");
-  pthread_exit(NULL);
-  return 0;
-}
-
-int main()
-{
-  pthread_t thread;
-  void *arg = NULL;
-  pthread_create(&thread, NULL, test_thread, arg);
-  pthread_join(thread, NULL);
-  pthread_exit(NULL);
-  return 0;
-}
-
-/* { dg-output "Hello from thread!\n" } */
-
-#if 0
-
-/* Even this test case replicates the problem.  However, when built in
-   static mode, it blows up during __mf_init (?!?!?!) with a
-   pthread_mutex_lock deadlock error. */
-
-#include <stdio.h>
-#include <pthread.h>
-
-int main ()
-{
-      pthread_exit(NULL);
-      return 0;
-}
-#endif
diff --git a/libmudflap/testsuite/mfconfig.exp.in b/libmudflap/testsuite/mfconfig.exp.in
deleted file mode 100644 (file)
index bed1654..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-global mfconfig_libs
-set mfconfig_libs "@LIBS@"
-global libmudflapth
-set libmudflapth "@build_libmudflapth@"