[binutils-gdb] Sync toplevel files from gcc

H.J. Lu hjl@sourceware.org
Wed Oct 1 23:52:51 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d114379fdeb802ea32f8c3be7b9f36596aecc18b

commit d114379fdeb802ea32f8c3be7b9f36596aecc18b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Oct 2 07:35:43 2025 +0800

    Sync toplevel files from gcc
    
    commit bab1b2488e2a01b311d584bbecbc6834194e30ed
    Author: Nicolas Boulenguez <nicolas@debian.org>
    Date:   Sun Jun 22 19:23:11 2025 +0200
    
        Ada: Introduce GNATMAKE_FOR_BUILD Makefile variable
    
        This gets rid of the hardcoded 'gnatmake' command used during the build.
    
    commit 79091220da796a4b60561a7bf2e9e8f5e5276bc4
    Author: Kugan Vivekanandarajah <kvivekananda@nvidia.com>
    Date:   Tue Jun 10 09:19:37 2025 +1000
    
        [AutoFDO] Fix profile bootstrap for x86_64
    
        This patch fixes profile bootstrap for x86_64 by special
        caseing cpu_type for x86_64 as it shares AUTO_PROFILE
        from i386.
    
    commit fcb60292984fa7181ec91d7f81fd18549d1aaf39
    Author: Kugan Vivekanandarajah <kvivekananda@nvidia.com>
    Date:   Thu May 29 08:47:19 2025 +1000
    
        [AUTOFDO] Fix autogen remake issue
    
        Fix autogen issue introduced by commit
        commit 86dc974cf30f926a014438a5fccdc9d41e26282b
    
    commit 86dc974cf30f926a014438a5fccdc9d41e26282b
    Author: Kugan Vivekanandarajah <kvivekananda@nvidia.com>
    Date:   Mon May 26 11:41:59 2025 +1000
    
        [AUTOFDO][AARCH64] Add support for profilebootstrap
    
        Add support for autoprofiledbootstrap in aarch64.
        This is similar to what is done for i386. Added
        gcc/config/aarch64/gcc-auto-profile for aarch64 profile
        creation.
    
        How to run:
        configure --with-build-config=bootstrap-lto
        make autoprofiledbootstrap
    
    commit dff727b2c28c52e90e0bd61957d15f907494b245
    Author: Stephanos Ioannidis <root@stephanos.io>
    Date:   Wed May 21 17:28:36 2025 -0600
    
        [PATCH] configure: Always add pre-installed header directories to search path
    
        configure script was adding the target directory flags, including the
        '-B' flags for the executable prefix and the '-isystem' flags for the
        pre-installed header directories, to the target flags only for
        non-Canadian builds under the premise that the host binaries under the
        executable prefix will not be able to execute on the build system for
        Canadian builds.
    
        While that is true for the '-B' flags specifying the executable prefix,
        the '-isystem' flags specifying the pre-installed header directories are
        not affected by this and do not need special handling.
    
        This patch updates the configure script to always add the 'include' and
        'sys-include' pre-installed header directories to the target search
        path, in order to ensure that the availability of the pre-installed
        header directories in the search path is consistent across non-Canadian
        and Canadian builds.
    
        When '--with-headers' flag is specified, this effectively ensures that
        the libc headers, that are copied from the specified header directory to
        the sys-include directory, are used by libstdc++.
    
    commit 6390fc86995fbd5239497cb9e1797a3af51d3936
    Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
    Date:   Tue Apr 22 13:47:17 2025 +0200
    
        cobol: Restrict COBOL to supported Linux arches [PR119217]
    
        The COBOL frontend is currently built on all x86_64 and aarch64 hosts
        although the code contains some Linux/glibc specifics that break the build
        e.g. on Solaris/amd64.
    
        Tested on Linux/x86_64 and Solaris/amd64.
    
    commit 17ed44c96f6e5c0cc02d8cb29ff5943dd30ab3c1
    Author: Iain Sandoe <iain@sandoe.co.uk>
    Date:   Mon Mar 31 07:02:54 2025 +0100
    
        config, toplevel, Darwin: Pass -B instead of -L to C++ commands.
    
        Darwin from 10.11 needs embedded rpaths to find the correct libraries at
        runtime.  Recent increases in hardening have made it such that the dynamic
        loader will no longer fall back to using an installed libstdc++ when the
        (new) linked one is not found.  This means we fail configure tests (that
        should pass) for runtimes that use C++.
    
        We can resolve this by passing '-B' to the C++ command lines instead of '-L'
        (-B implies -L on Darwin, but also causes a corresponding embedded rpath).
    
    commit dcb7009efc5358207d1b0612732a0608915a3ef7
    Author: Richard Biener <rguenther@suse.de>
    Date:   Fri Mar 28 13:48:36 2025 +0100
    
        bootstrap/119513 - fix cobol bootstrap with --enable-generated-files-in-srcdir
    
        This adds gcc/cobol/parse.o to compare_exclusions and makes sure to
        ignore errors when copying generated files, like it's done when
        copying gengtype-lex.cc.
    
    commit 0fb10aca02852b2e8d78a78c07aa2f62aec6a07e
    Author: Iain Sandoe <iain@sandoe.co.uk>
    Date:   Tue Mar 25 16:20:58 2025 +0000
    
        toplevel, libcobol: Add dependency on libquadmath build [PR119244].
    
        For the configuration of libgcobol to be correct for targets that need
        to use libquadmath for 128b FP support, we must be able to find the
        quadmath library (or not, for targets that have the support in libc).
    
    commit 70bc553e1b565d2e162894ea29a223b44e9133e3
    Author: Iain Sandoe <iain@sandoe.co.uk>
    Date:   Sun Mar 23 11:45:17 2025 +0000
    
        toplevel, Makefile: Add missing CXX_FOR_TARGET export [PR88319].
    
        Actually, the issue is not local to the libitm case, it currently affects
        any 'cxx=true' top-level configured target library.
    
        The issue is a missing export of CXX_FOR_TARGET.
    
    commit c650b557cb01f97bebb894aa68e5e74c2147c395
    Author: Thomas Schwinge <thomas@codesourcery.com>
    Date:   Mon Jul 11 22:36:39 2022 +0200
    
        GCN, nvptx: Don't default-disable libstdc++ build
    
        In addition to making libstdc++ itself available, this, via enabling
        'build-gcc/*/libstdc++-v3/scripts/testsuite_flags', in particular also makes
        the standard C++ headers available to 'make check-gcc-c++'.  With that, there
        are a lot of FAIL/UNRESOLVED -> PASS progressions, where we previously ran
        into, for example:
    
            FAIL: g++.dg/coroutines/co-await-syntax-00-needs-expr.C  (test for errors, line 6)
            FAIL: g++.dg/coroutines/co-await-syntax-00-needs-expr.C (test for excess errors)
            Excess errors:
            [...]/gcc/testsuite/g++.dg/coroutines/coro.h:132:10: fatal error: cstdlib: No such file or directory
    
        Similarly, there are a lot of FAIL/UNRESOLVED -> UNSUPPORTED "progressions" due
        to 'sorry, unimplemented: exception handling not supported'.
    
        The 'make check-target-libstdc++-v3' results don't look too bad, either.
    
        This also reverts Subversion r221362
        (Git commit d94fae044da071381b73a2ee8afa874b14fa3820) "No libstdc++ for nvptx",
        and commit 2f4f3c0e9345805160ecacd6de527b519a8c9206 "No libstdc++ for GCN".
    
        With libstdc++ now available, libgrust gets enabled, which we in turn again
        have to disable, for 'sorry, unimplemented: exception handling not supported'
        reasons.
    
    commit 09c2a0ab94e1e731433eb2687ad16a9c79617e14
    Author: Jakub Jelinek <jakub@redhat.com>
    Date:   Tue Mar 11 14:34:01 2025 +0100
    
        cobol: Fix up libgcobol configure [PR119216]
    
        Sorry, seems I've screwed up the earlier libgcobol/configure.tgt change.
        Looking in more detail, the way e.g. libsanitizer/configure.tgt works is
        that it is sourced twice, once at toplevel and there it just sets
        UNSUPPORTED=1 for fully unsupported triplets, and then inside of
        libsanitizer/configure where it decides to include or not include the
        various sublibraries depending on the *_SUPPORTED flags.
    
        So, the following patch attempts to do the same for libgcobol as well.
    
        The BIULD_LIBGCOBOL automake conditional was unused, this patch guards it
        on LIBGCOBOL_SUPPORTED as well and guards with it
        toolexeclib_LTLIBRARIES  = libgcobol.la
    
        Also, AM_CFLAGS has been changed to AM_CXXFLAGS as there are just C++
        sources in the library.
    
    commit 6a3f9f30d93c376a8a5e98be888da14923b85e63
    Author: Iain Sandoe <iain@sandoe.co.uk>
    Date:   Tue Mar 11 09:56:18 2025 +0000
    
        configure, Darwin: Require explicit selection of COBOL.
    
        By defult, Darwin does not have sufficient tools to build COBOL
        so we do not want to include it in --enable-languages=all since
        this will break regular testing of all supported languages.
    
        However, we do want to be able to build it on demand (where the
        build system has sufficiently new tools) and so do not want to
        disable it permanently.
    
    commit 45c281deb7a2e24a21f2f68a2a3652e30f27f953
    Author: James K. Lowden <jklowden@symas.com>
    Date:   Mon Mar 10 16:04:49 2025 +0100
    
        COBOL: config and build machinery
    
    commit ab35fc0d897011c6de075e000d1e0388e6359d4e
    Author: Thomas Schwinge <tschwinge@baylibre.com>
    Date:   Wed Feb 19 09:30:45 2025 +0100
    
        GCN, nvptx: Support '--enable-languages=all'
    
        ..., where "support" means that the build doesn't fail, but it doesn't mean
        that all target libraries get built and we get pretty test results for the
        additional languages.
    
    commit bc3597635a708cd91d742c91c6050829cfb4062a
    Author: David Malcolm <dmalcolm@redhat.com>
    Date:   Fri Nov 29 18:13:22 2024 -0500
    
        Rename "libdiagnostics" to "libgdiagnostics"
    
        "libdiagnostics" clashes with an existing soname in Debian, as
        per:
          https://gcc.gnu.org/pipermail/gcc/2024-November/245175.html
    
        Rename it to "libgdiagnostics" for uniqueness.
    
        I am being deliberately vague about what the "g" stands for:
        it could be "gnu", "gcc", or "gpl-licensed" as the reader desires.
    
    commit fc59a3995cb46c190c0efb0431ad204e399975c4
    Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
    Date:   Wed May 3 18:43:10 2023 +0200
    
        gccrs: Fix bootstrap build
    
        This commit fixes bootstrapping for future additions to libgrust/
    
    commit 7a6906c8d80e437a97c780370a8fec4e00561c7b
    Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
    Date:   Mon Jun 12 10:51:49 2023 +0200
    
        gccrs: Fix missing build dependency
    
        Fix the missing dependency between the gcc and libgrust.
    
            * Makefile.def: Synced from gcc.
            * Makefile.tpl: Likewise.
            * configure.ac: Likewise.
            * Makefile.in: Regenerated.
            * configure: Likewise.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>

Diff:
---
 Makefile.def |   14 +-
 Makefile.in  | 1425 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 Makefile.tpl |    4 +
 configure    |  272 +++++++++--
 configure.ac |  176 ++++++--
 5 files changed, 1774 insertions(+), 117 deletions(-)

diff --git a/Makefile.def b/Makefile.def
index 93485c71ac3..e5b95d7f705 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -80,7 +80,7 @@ host_modules= { module= gettext; bootstrap=true; no_install=true;
 		// need it in some configuratons, which is determined via nontrivial tests.
 		// Always enabling pic seems to make sense for something tied to
 		// user-facing output.
-                extra_configure_flags='--disable-shared --disable-threads --disable-java --disable-csharp --with-pic --disable-libasprintf';
+		extra_configure_flags='--disable-shared --disable-threads --disable-java --disable-csharp --with-pic --disable-libasprintf';
 		missing= pdf;
 		missing= html;
 		missing= info;
@@ -164,7 +164,7 @@ host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
 host_modules= { module= gotools; };
 host_modules= { module= libctf; bootstrap=true; };
 host_modules= { module= libsframe; bootstrap=true; };
-host_modules= { module= libgrust; };
+host_modules= { module= libgrust; bootstrap=true; };
 
 target_modules = { module= libstdc++-v3;
 		   bootstrap=true;
@@ -209,6 +209,7 @@ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
 target_modules = { module= libitm; lib_path=.libs; };
 target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
 target_modules = { module= libgrust; };
+target_modules = { module= libgcobol; };
 
 // These are (some of) the make targets to be done in each subdirectory.
 // Not all; these are the ones which don't have special options.
@@ -374,6 +375,7 @@ dependencies = { module=configure-gcc; on=all-ld; };
 dependencies = { module=configure-gcc; on=all-gold; };
 dependencies = { module=configure-gcc; on=all-libiconv; };
 dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
+dependencies = { module=all-gcc; on=all-libgrust; };
 dependencies = { module=all-gcc; on=all-gettext; };
 dependencies = { module=all-gcc; on=all-mpfr; };
 dependencies = { module=all-gcc; on=all-mpc; };
@@ -655,6 +657,7 @@ lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
 // built newlib on some targets (e.g. Cygwin).  It still needs
 // a dependency on libgcc for native targets to configure.
 lang_env_dependencies = { module=libiberty; no_c=true; };
+lang_env_dependencies = { module=libgcobol; cxx=true; };
 
 dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
 dependencies = { module=all-target-fastjar; on=all-target-zlib; };
@@ -690,6 +693,8 @@ dependencies = { module=install-target-libvtv; on=install-target-libgcc; };
 dependencies = { module=install-target-libitm; on=install-target-libgcc; };
 dependencies = { module=install-target-libobjc; on=install-target-libgcc; };
 dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; };
+dependencies = { module=install-target-libgcobol; on=install-target-libstdc++-v3; };
+dependencies = { module=install-target-libgcobol; on=install-target-libquadmath; };
 
 // Target modules in the 'src' repository.
 lang_env_dependencies = { module=libtermcap; };
@@ -703,6 +708,7 @@ dependencies = { module=configure-target-newlib; on=all-ld; };
 dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
 dependencies = { module=configure-target-libgfortran; on=all-target-libbacktrace; };
 dependencies = { module=configure-target-libgo; on=all-target-libbacktrace; };
+dependencies = { module=configure-target-libgcobol; on=all-target-libquadmath; };
 
 languages = { language=c;	gcc-check-target=check-gcc; };
 languages = { language=c++;	gcc-check-target=check-c++;
@@ -727,6 +733,8 @@ languages = { language=d;	gcc-check-target=check-d;
 				lib-check-target=check-target-libphobos; };
 languages = { language=jit;	gcc-check-target=check-jit; };
 languages = { language=rust;	gcc-check-target=check-rust; };
+languages = { language=cobol;	gcc-check-target=check-cobol;
+				lib-check-target=check-target-libgcobol; };
 
 // Toplevel bootstrap
 bootstrap_stage = { id=1 ; };
@@ -751,7 +759,7 @@ bootstrap_stage = {
 	bootstrap_target=profiledbootstrap ; };
 bootstrap_stage = {
 	id=autoprofile ; prev=1 ;
-        autoprofile="$$s/gcc/config/i386/$(AUTO_PROFILE)" ; };
+        autoprofile="$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE)" ; };
 bootstrap_stage = {
 	id=autofeedback ; prev=autoprofile ;
 	bootstrap_target=autoprofiledbootstrap ;
diff --git a/Makefile.in b/Makefile.in
index 3b0f6321ffd..0b04b71dcdb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -204,6 +204,7 @@ HOST_EXPORTS = \
 	GOC="$(GOC)"; export GOC; \
 	GDC="$(GDC)"; export GDC; \
 	GM2="$(GM2)"; export GM2; \
+	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
 	AR="$(AR)"; export AR; \
 	AS="$(AS)"; export AS; \
 	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
@@ -309,6 +310,7 @@ BASE_TARGET_EXPORTS = \
 	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
 	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
 	GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
+	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
 	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
 	DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
@@ -337,6 +339,7 @@ RAW_CXX_TARGET_EXPORTS = \
 
 NORMAL_TARGET_EXPORTS = \
 	$(BASE_TARGET_EXPORTS) \
+	CXX_FOR_TARGET="$(CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
 	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
 
 # Where to find GMP
@@ -377,6 +380,7 @@ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
 GOC_FOR_BUILD = @GOC_FOR_BUILD@
 GDC_FOR_BUILD = @GDC_FOR_BUILD@
 GM2_FOR_BUILD = @GM2_FOR_BUILD@
+GNATMAKE_FOR_BUILD = @GNATMAKE_FOR_BUILD@
 LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
 LD_FOR_BUILD = @LD_FOR_BUILD@
 NM_FOR_BUILD = @NM_FOR_BUILD@
@@ -1158,7 +1162,8 @@ configure-target:  \
     maybe-configure-target-libgomp \
     maybe-configure-target-libitm \
     maybe-configure-target-libatomic \
-    maybe-configure-target-libgrust
+    maybe-configure-target-libgrust \
+    maybe-configure-target-libgcobol
 
 # The target built for a native non-bootstrap build.
 .PHONY: all
@@ -1314,7 +1319,9 @@ all-host: maybe-all-libctf
 @if libsframe-no-bootstrap
 all-host: maybe-all-libsframe
 @endif libsframe-no-bootstrap
+@if libgrust-no-bootstrap
 all-host: maybe-all-libgrust
+@endif libgrust-no-bootstrap
 
 .PHONY: all-target
 
@@ -1360,6 +1367,7 @@ all-target: maybe-all-target-libitm
 all-target: maybe-all-target-libatomic
 @endif target-libatomic-no-bootstrap
 all-target: maybe-all-target-libgrust
+all-target: maybe-all-target-libgcobol
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -1458,6 +1466,7 @@ info-target: maybe-info-target-libgomp
 info-target: maybe-info-target-libitm
 info-target: maybe-info-target-libatomic
 info-target: maybe-info-target-libgrust
+info-target: maybe-info-target-libgcobol
 
 .PHONY: do-dvi
 do-dvi:
@@ -1551,6 +1560,7 @@ dvi-target: maybe-dvi-target-libgomp
 dvi-target: maybe-dvi-target-libitm
 dvi-target: maybe-dvi-target-libatomic
 dvi-target: maybe-dvi-target-libgrust
+dvi-target: maybe-dvi-target-libgcobol
 
 .PHONY: do-pdf
 do-pdf:
@@ -1644,6 +1654,7 @@ pdf-target: maybe-pdf-target-libgomp
 pdf-target: maybe-pdf-target-libitm
 pdf-target: maybe-pdf-target-libatomic
 pdf-target: maybe-pdf-target-libgrust
+pdf-target: maybe-pdf-target-libgcobol
 
 .PHONY: do-html
 do-html:
@@ -1737,6 +1748,7 @@ html-target: maybe-html-target-libgomp
 html-target: maybe-html-target-libitm
 html-target: maybe-html-target-libatomic
 html-target: maybe-html-target-libgrust
+html-target: maybe-html-target-libgcobol
 
 .PHONY: do-TAGS
 do-TAGS:
@@ -1830,6 +1842,7 @@ TAGS-target: maybe-TAGS-target-libgomp
 TAGS-target: maybe-TAGS-target-libitm
 TAGS-target: maybe-TAGS-target-libatomic
 TAGS-target: maybe-TAGS-target-libgrust
+TAGS-target: maybe-TAGS-target-libgcobol
 
 .PHONY: do-install-info
 do-install-info:
@@ -1923,6 +1936,7 @@ install-info-target: maybe-install-info-target-libgomp
 install-info-target: maybe-install-info-target-libitm
 install-info-target: maybe-install-info-target-libatomic
 install-info-target: maybe-install-info-target-libgrust
+install-info-target: maybe-install-info-target-libgcobol
 
 .PHONY: do-install-dvi
 do-install-dvi:
@@ -2016,6 +2030,7 @@ install-dvi-target: maybe-install-dvi-target-libgomp
 install-dvi-target: maybe-install-dvi-target-libitm
 install-dvi-target: maybe-install-dvi-target-libatomic
 install-dvi-target: maybe-install-dvi-target-libgrust
+install-dvi-target: maybe-install-dvi-target-libgcobol
 
 .PHONY: do-install-pdf
 do-install-pdf:
@@ -2109,6 +2124,7 @@ install-pdf-target: maybe-install-pdf-target-libgomp
 install-pdf-target: maybe-install-pdf-target-libitm
 install-pdf-target: maybe-install-pdf-target-libatomic
 install-pdf-target: maybe-install-pdf-target-libgrust
+install-pdf-target: maybe-install-pdf-target-libgcobol
 
 .PHONY: do-install-html
 do-install-html:
@@ -2202,6 +2218,7 @@ install-html-target: maybe-install-html-target-libgomp
 install-html-target: maybe-install-html-target-libitm
 install-html-target: maybe-install-html-target-libatomic
 install-html-target: maybe-install-html-target-libgrust
+install-html-target: maybe-install-html-target-libgcobol
 
 .PHONY: do-installcheck
 do-installcheck:
@@ -2295,6 +2312,7 @@ installcheck-target: maybe-installcheck-target-libgomp
 installcheck-target: maybe-installcheck-target-libitm
 installcheck-target: maybe-installcheck-target-libatomic
 installcheck-target: maybe-installcheck-target-libgrust
+installcheck-target: maybe-installcheck-target-libgcobol
 
 .PHONY: do-mostlyclean
 do-mostlyclean:
@@ -2388,6 +2406,7 @@ mostlyclean-target: maybe-mostlyclean-target-libgomp
 mostlyclean-target: maybe-mostlyclean-target-libitm
 mostlyclean-target: maybe-mostlyclean-target-libatomic
 mostlyclean-target: maybe-mostlyclean-target-libgrust
+mostlyclean-target: maybe-mostlyclean-target-libgcobol
 
 .PHONY: do-clean
 do-clean:
@@ -2481,6 +2500,7 @@ clean-target: maybe-clean-target-libgomp
 clean-target: maybe-clean-target-libitm
 clean-target: maybe-clean-target-libatomic
 clean-target: maybe-clean-target-libgrust
+clean-target: maybe-clean-target-libgcobol
 
 .PHONY: do-distclean
 do-distclean:
@@ -2574,6 +2594,7 @@ distclean-target: maybe-distclean-target-libgomp
 distclean-target: maybe-distclean-target-libitm
 distclean-target: maybe-distclean-target-libatomic
 distclean-target: maybe-distclean-target-libgrust
+distclean-target: maybe-distclean-target-libgcobol
 
 .PHONY: do-maintainer-clean
 do-maintainer-clean:
@@ -2667,6 +2688,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
 maintainer-clean-target: maybe-maintainer-clean-target-libitm
 maintainer-clean-target: maybe-maintainer-clean-target-libatomic
 maintainer-clean-target: maybe-maintainer-clean-target-libgrust
+maintainer-clean-target: maybe-maintainer-clean-target-libgcobol
 
 
 # Here are the targets which correspond to the do-X targets.
@@ -2817,7 +2839,8 @@ check-target:  \
     maybe-check-target-libgomp \
     maybe-check-target-libitm \
     maybe-check-target-libatomic \
-    maybe-check-target-libgrust
+    maybe-check-target-libgrust \
+    maybe-check-target-libgcobol
 
 do-check:
 	@: $(MAKE); $(unstage)
@@ -3014,7 +3037,8 @@ install-target:  \
     maybe-install-target-libgomp \
     maybe-install-target-libitm \
     maybe-install-target-libatomic \
-    maybe-install-target-libgrust
+    maybe-install-target-libgrust \
+    maybe-install-target-libgcobol
 
 uninstall:
 	@echo "the uninstall target is not supported in this tree"
@@ -3127,7 +3151,8 @@ install-strip-target:  \
     maybe-install-strip-target-libgomp \
     maybe-install-strip-target-libitm \
     maybe-install-strip-target-libatomic \
-    maybe-install-strip-target-libgrust
+    maybe-install-strip-target-libgrust \
+    maybe-install-strip-target-libgcobol
 
 
 ### other supporting targets
@@ -4245,7 +4270,7 @@ all-stageautoprofile-bfd: configure-stageautoprofile-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -5385,7 +5410,7 @@ all-stageautoprofile-opcodes: configure-stageautoprofile-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -6525,7 +6550,7 @@ all-stageautoprofile-binutils: configure-stageautoprofile-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -10011,7 +10036,7 @@ all-stageautoprofile-fixincludes: configure-stageautoprofile-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -11591,7 +11616,7 @@ all-stageautoprofile-gas: configure-stageautoprofile-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -12740,7 +12765,7 @@ all-stageautoprofile-gcc: configure-stageautoprofile-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -13889,7 +13914,7 @@ all-stageautoprofile-gmp: configure-stageautoprofile-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -15026,7 +15051,7 @@ all-stageautoprofile-mpfr: configure-stageautoprofile-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -16163,7 +16188,7 @@ all-stageautoprofile-mpc: configure-stageautoprofile-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -17300,7 +17325,7 @@ all-stageautoprofile-isl: configure-stageautoprofile-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -18428,7 +18453,7 @@ all-stageautoprofile-gold: configure-stageautoprofile-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -20513,7 +20538,7 @@ all-stageautoprofile-gettext: configure-stageautoprofile-gettext
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gettext && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -22423,7 +22448,7 @@ all-stageautoprofile-ld: configure-stageautoprofile-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -23563,7 +23588,7 @@ all-stageautoprofile-libbacktrace: configure-stageautoprofile-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -24703,7 +24728,7 @@ all-stageautoprofile-libcpp: configure-stageautoprofile-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -25843,7 +25868,7 @@ all-stageautoprofile-libcody: configure-stageautoprofile-libcody
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcody && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -26832,7 +26857,7 @@ all-stageautoprofile-libdecnumber: configure-stageautoprofile-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -28434,7 +28459,7 @@ all-stageautoprofile-libiberty: configure-stageautoprofile-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -29583,7 +29608,7 @@ all-stageautoprofile-libiberty-linker-plugin: configure-stageautoprofile-libiber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -30732,7 +30757,7 @@ all-stageautoprofile-libiconv: configure-stageautoprofile-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -34104,7 +34129,7 @@ all-stageautoprofile-zlib: configure-stageautoprofile-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -40295,7 +40320,7 @@ all-stageautoprofile-lto-plugin: configure-stageautoprofile-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -42371,7 +42396,7 @@ all-stageautoprofile-libctf: configure-stageautoprofile-libctf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libctf && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -43511,7 +43536,7 @@ all-stageautoprofile-libsframe: configure-stageautoprofile-libsframe
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libsframe && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
 		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
@@ -43991,7 +44016,6 @@ configure-libgrust: stage_current
 @if libgrust
 maybe-configure-libgrust: configure-libgrust
 configure-libgrust: 
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
@@ -44015,6 +44039,304 @@ configure-libgrust:
 
 
 
+.PHONY: configure-stage1-libgrust maybe-configure-stage1-libgrust
+maybe-configure-stage1-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stage1-libgrust: configure-stage1-libgrust
+configure-stage1-libgrust:
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage 1 in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	   \
+	  $(STAGE1_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stage2-libgrust maybe-configure-stage2-libgrust
+maybe-configure-stage2-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stage2-libgrust: configure-stage2-libgrust
+configure-stage2-libgrust:
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage 2 in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE2_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stage3-libgrust maybe-configure-stage3-libgrust
+maybe-configure-stage3-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stage3-libgrust: configure-stage3-libgrust
+configure-stage3-libgrust:
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage 3 in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE3_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stage4-libgrust maybe-configure-stage4-libgrust
+maybe-configure-stage4-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stage4-libgrust: configure-stage4-libgrust
+configure-stage4-libgrust:
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage 4 in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE4_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stageprofile-libgrust maybe-configure-stageprofile-libgrust
+maybe-configure-stageprofile-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stageprofile-libgrust: configure-stageprofile-libgrust
+configure-stageprofile-libgrust:
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage profile in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEprofile_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stagetrain-libgrust maybe-configure-stagetrain-libgrust
+maybe-configure-stagetrain-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stagetrain-libgrust: configure-stagetrain-libgrust
+configure-stagetrain-libgrust:
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGEtrain_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGEtrain_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGEtrain_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage train in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEtrain_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stagefeedback-libgrust maybe-configure-stagefeedback-libgrust
+maybe-configure-stagefeedback-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stagefeedback-libgrust: configure-stagefeedback-libgrust
+configure-stagefeedback-libgrust:
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage feedback in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stageautoprofile-libgrust maybe-configure-stageautoprofile-libgrust
+maybe-configure-stageautoprofile-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stageautoprofile-libgrust: configure-stageautoprofile-libgrust
+configure-stageautoprofile-libgrust:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGEautoprofile_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGEautoprofile_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGEautoprofile_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+.PHONY: configure-stageautofeedback-libgrust maybe-configure-stageautofeedback-libgrust
+maybe-configure-stageautofeedback-libgrust:
+@if libgrust-bootstrap
+maybe-configure-stageautofeedback-libgrust: configure-stageautofeedback-libgrust
+configure-stageautofeedback-libgrust:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS) \
+	CFLAGS="$(STAGEautofeedback_CFLAGS)"; export CFLAGS; \
+	CXXFLAGS="$(STAGEautofeedback_CXXFLAGS)"; export CXXFLAGS; \
+	LIBCFLAGS="$(STAGEautofeedback_CFLAGS)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(HOST_SUBDIR)/libgrust; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \
+	cd $(HOST_SUBDIR)/libgrust || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgrust; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif libgrust-bootstrap
+
+
+
 
 
 .PHONY: all-libgrust maybe-all-libgrust
@@ -44026,7 +44348,6 @@ all-libgrust: stage_current
 TARGET-libgrust=all
 maybe-all-libgrust: all-libgrust
 all-libgrust: configure-libgrust
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(HOST_EXPORTS)  \
@@ -44037,6 +44358,396 @@ all-libgrust: configure-libgrust
 
 
 
+.PHONY: all-stage1-libgrust maybe-all-stage1-libgrust
+.PHONY: clean-stage1-libgrust maybe-clean-stage1-libgrust
+maybe-all-stage1-libgrust:
+maybe-clean-stage1-libgrust:
+@if libgrust-bootstrap
+maybe-all-stage1-libgrust: all-stage1-libgrust
+all-stage1: all-stage1-libgrust
+TARGET-stage1-libgrust = $(TARGET-libgrust)
+all-stage1-libgrust: configure-stage1-libgrust
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	$(HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGE1_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGE1_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
+		LIBCFLAGS="$(LIBCFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS)  \
+		$(STAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
+		$(TARGET-stage1-libgrust)
+
+maybe-clean-stage1-libgrust: clean-stage1-libgrust
+clean-stage1: clean-stage1-libgrust
+clean-stage1-libgrust:
+	@if [ $(current_stage) = stage1 ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stage1-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stage1-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS)  \
+	$(STAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stage2-libgrust maybe-all-stage2-libgrust
+.PHONY: clean-stage2-libgrust maybe-clean-stage2-libgrust
+maybe-all-stage2-libgrust:
+maybe-clean-stage2-libgrust:
+@if libgrust-bootstrap
+maybe-all-stage2-libgrust: all-stage2-libgrust
+all-stage2: all-stage2-libgrust
+TARGET-stage2-libgrust = $(TARGET-libgrust)
+all-stage2-libgrust: configure-stage2-libgrust
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGE2_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGE2_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGE2_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
+		$(TARGET-stage2-libgrust)
+
+maybe-clean-stage2-libgrust: clean-stage2-libgrust
+clean-stage2: clean-stage2-libgrust
+clean-stage2-libgrust:
+	@if [ $(current_stage) = stage2 ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stage2-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stage2-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stage3-libgrust maybe-all-stage3-libgrust
+.PHONY: clean-stage3-libgrust maybe-clean-stage3-libgrust
+maybe-all-stage3-libgrust:
+maybe-clean-stage3-libgrust:
+@if libgrust-bootstrap
+maybe-all-stage3-libgrust: all-stage3-libgrust
+all-stage3: all-stage3-libgrust
+TARGET-stage3-libgrust = $(TARGET-libgrust)
+all-stage3-libgrust: configure-stage3-libgrust
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGE3_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGE3_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGE3_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
+		$(TARGET-stage3-libgrust)
+
+maybe-clean-stage3-libgrust: clean-stage3-libgrust
+clean-stage3: clean-stage3-libgrust
+clean-stage3-libgrust:
+	@if [ $(current_stage) = stage3 ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stage3-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stage3-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stage4-libgrust maybe-all-stage4-libgrust
+.PHONY: clean-stage4-libgrust maybe-clean-stage4-libgrust
+maybe-all-stage4-libgrust:
+maybe-clean-stage4-libgrust:
+@if libgrust-bootstrap
+maybe-all-stage4-libgrust: all-stage4-libgrust
+all-stage4: all-stage4-libgrust
+TARGET-stage4-libgrust = $(TARGET-libgrust)
+all-stage4-libgrust: configure-stage4-libgrust
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGE4_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGE4_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGE4_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
+		$(TARGET-stage4-libgrust)
+
+maybe-clean-stage4-libgrust: clean-stage4-libgrust
+clean-stage4: clean-stage4-libgrust
+clean-stage4-libgrust:
+	@if [ $(current_stage) = stage4 ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stage4-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stage4-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stageprofile-libgrust maybe-all-stageprofile-libgrust
+.PHONY: clean-stageprofile-libgrust maybe-clean-stageprofile-libgrust
+maybe-all-stageprofile-libgrust:
+maybe-clean-stageprofile-libgrust:
+@if libgrust-bootstrap
+maybe-all-stageprofile-libgrust: all-stageprofile-libgrust
+all-stageprofile: all-stageprofile-libgrust
+TARGET-stageprofile-libgrust = $(TARGET-libgrust)
+all-stageprofile-libgrust: configure-stageprofile-libgrust
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEprofile_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGEprofile_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGEprofile_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
+		$(TARGET-stageprofile-libgrust)
+
+maybe-clean-stageprofile-libgrust: clean-stageprofile-libgrust
+clean-stageprofile: clean-stageprofile-libgrust
+clean-stageprofile-libgrust:
+	@if [ $(current_stage) = stageprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageprofile-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stageprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stagetrain-libgrust maybe-all-stagetrain-libgrust
+.PHONY: clean-stagetrain-libgrust maybe-clean-stagetrain-libgrust
+maybe-all-stagetrain-libgrust:
+maybe-clean-stagetrain-libgrust:
+@if libgrust-bootstrap
+maybe-all-stagetrain-libgrust: all-stagetrain-libgrust
+all-stagetrain: all-stagetrain-libgrust
+TARGET-stagetrain-libgrust = $(TARGET-libgrust)
+all-stagetrain-libgrust: configure-stagetrain-libgrust
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEtrain_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGEtrain_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGEtrain_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGEtrain_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGEtrain_TFLAGS)"  \
+		$(TARGET-stagetrain-libgrust)
+
+maybe-clean-stagetrain-libgrust: clean-stagetrain-libgrust
+clean-stagetrain: clean-stagetrain-libgrust
+clean-stagetrain-libgrust:
+	@if [ $(current_stage) = stagetrain ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stagetrain-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stagetrain-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stagefeedback-libgrust maybe-all-stagefeedback-libgrust
+.PHONY: clean-stagefeedback-libgrust maybe-clean-stagefeedback-libgrust
+maybe-all-stagefeedback-libgrust:
+maybe-clean-stagefeedback-libgrust:
+@if libgrust-bootstrap
+maybe-all-stagefeedback-libgrust: all-stagefeedback-libgrust
+all-stagefeedback: all-stagefeedback-libgrust
+TARGET-stagefeedback-libgrust = $(TARGET-libgrust)
+all-stagefeedback-libgrust: configure-stagefeedback-libgrust
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEfeedback_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGEfeedback_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGEfeedback_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
+		$(TARGET-stagefeedback-libgrust)
+
+maybe-clean-stagefeedback-libgrust: clean-stagefeedback-libgrust
+clean-stagefeedback: clean-stagefeedback-libgrust
+clean-stagefeedback-libgrust:
+	@if [ $(current_stage) = stagefeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stagefeedback-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stagefeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stageautoprofile-libgrust maybe-all-stageautoprofile-libgrust
+.PHONY: clean-stageautoprofile-libgrust maybe-clean-stageautoprofile-libgrust
+maybe-all-stageautoprofile-libgrust:
+maybe-clean-stageautoprofile-libgrust:
+@if libgrust-bootstrap
+maybe-all-stageautoprofile-libgrust: all-stageautoprofile-libgrust
+all-stageautoprofile: all-stageautoprofile-libgrust
+TARGET-stageautoprofile-libgrust = $(TARGET-libgrust)
+all-stageautoprofile-libgrust: configure-stageautoprofile-libgrust
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGEautoprofile_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGEautoprofile_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGEautoprofile_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-libgrust)
+
+maybe-clean-stageautoprofile-libgrust: clean-stageautoprofile-libgrust
+clean-stageautoprofile: clean-stageautoprofile-libgrust
+clean-stageautoprofile-libgrust:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+.PHONY: all-stageautofeedback-libgrust maybe-all-stageautofeedback-libgrust
+.PHONY: clean-stageautofeedback-libgrust maybe-clean-stageautofeedback-libgrust
+maybe-all-stageautofeedback-libgrust:
+maybe-clean-stageautofeedback-libgrust:
+@if libgrust-bootstrap
+maybe-all-stageautofeedback-libgrust: all-stageautofeedback-libgrust
+all-stageautofeedback: all-stageautofeedback-libgrust
+TARGET-stageautofeedback-libgrust = $(TARGET-libgrust)
+all-stageautofeedback-libgrust: configure-stageautofeedback-libgrust
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(HOST_EXPORTS) \
+	$(POSTSTAGE1_HOST_EXPORTS)  \
+	cd $(HOST_SUBDIR)/libgrust && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_CFLAGS)" \
+		GENERATOR_CFLAGS="$(STAGEautofeedback_GENERATOR_CFLAGS)" \
+		CXXFLAGS="$(STAGEautofeedback_CXXFLAGS)" \
+		LIBCFLAGS="$(STAGEautofeedback_CFLAGS)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-libgrust)
+
+maybe-clean-stageautofeedback-libgrust: clean-stageautofeedback-libgrust
+clean-stageautofeedback: clean-stageautofeedback-libgrust
+clean-stageautofeedback-libgrust:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libgrust/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libgrust && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libgrust-bootstrap
+
+
+
+
 
 .PHONY: check-libgrust maybe-check-libgrust
 maybe-check-libgrust:
@@ -44047,9 +44758,9 @@ check-libgrust:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS)  \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libgrust && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libgrust
 
@@ -44092,7 +44803,6 @@ maybe-info-libgrust: info-libgrust
 
 info-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44118,7 +44828,6 @@ maybe-dvi-libgrust: dvi-libgrust
 
 dvi-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44144,7 +44853,6 @@ maybe-pdf-libgrust: pdf-libgrust
 
 pdf-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44170,7 +44878,6 @@ maybe-html-libgrust: html-libgrust
 
 html-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44196,7 +44903,6 @@ maybe-TAGS-libgrust: TAGS-libgrust
 
 TAGS-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44223,7 +44929,6 @@ maybe-install-info-libgrust: install-info-libgrust
 install-info-libgrust: \
     configure-libgrust \
     info-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44250,7 +44955,6 @@ maybe-install-dvi-libgrust: install-dvi-libgrust
 install-dvi-libgrust: \
     configure-libgrust \
     dvi-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44277,7 +44981,6 @@ maybe-install-pdf-libgrust: install-pdf-libgrust
 install-pdf-libgrust: \
     configure-libgrust \
     pdf-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44304,7 +45007,6 @@ maybe-install-html-libgrust: install-html-libgrust
 install-html-libgrust: \
     configure-libgrust \
     html-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44330,7 +45032,6 @@ maybe-installcheck-libgrust: installcheck-libgrust
 
 installcheck-libgrust: \
     configure-libgrust 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44355,7 +45056,6 @@ maybe-mostlyclean-libgrust:
 maybe-mostlyclean-libgrust: mostlyclean-libgrust
 
 mostlyclean-libgrust: 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44380,7 +45080,6 @@ maybe-clean-libgrust:
 maybe-clean-libgrust: clean-libgrust
 
 clean-libgrust: 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44405,7 +45104,6 @@ maybe-distclean-libgrust:
 maybe-distclean-libgrust: distclean-libgrust
 
 distclean-libgrust: 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -44430,7 +45128,6 @@ maybe-maintainer-clean-libgrust:
 maybe-maintainer-clean-libgrust: maintainer-clean-libgrust
 
 maintainer-clean-libgrust: 
-	@: $(MAKE); $(unstage)
 	@[ -f ./libgrust/Makefile ] || exit 0; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -45241,7 +45938,7 @@ all-stageautoprofile-target-libstdc++-v3: configure-stageautoprofile-target-libs
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46511,7 +47208,7 @@ all-stageautoprofile-target-libsanitizer: configure-stageautoprofile-target-libs
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -47781,7 +48478,7 @@ all-stageautoprofile-target-libvtv: configure-stageautoprofile-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -50021,7 +50718,7 @@ all-stageautoprofile-target-libgcc: configure-stageautoprofile-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -51253,7 +51950,7 @@ all-stageautoprofile-target-libbacktrace: configure-stageautoprofile-target-libb
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libbacktrace && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -54430,7 +55127,7 @@ all-stageautoprofile-target-libphobos: configure-stageautoprofile-target-libphob
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libphobos && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -57560,7 +58257,7 @@ all-stageautoprofile-target-zlib: configure-stageautoprofile-target-zlib
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/zlib && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -60285,7 +60982,7 @@ all-stageautoprofile-target-libgomp: configure-stageautoprofile-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -62040,7 +62737,7 @@ all-stageautoprofile-target-libatomic: configure-stageautoprofile-target-libatom
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libatomic && \
-	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$$s/gcc/config/$(cpu_type)/$(AUTO_PROFILE) \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -63010,6 +63707,491 @@ maintainer-clean-target-libgrust:
 
 
 
+
+
+.PHONY: configure-target-libgcobol maybe-configure-target-libgcobol
+maybe-configure-target-libgcobol:
+@if gcc-bootstrap
+configure-target-libgcobol: stage_current
+@endif gcc-bootstrap
+@if target-libgcobol
+maybe-configure-target-libgcobol: configure-target-libgcobol
+configure-target-libgcobol: 
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	echo "Checking multilib configuration for libgcobol..."; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcobol; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcobol/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libgcobol/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libgcobol/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libgcobol/Makefile; \
+	    mv $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libgcobol/Makefile || exit 0; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcobol; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	echo Configuring in $(TARGET_SUBDIR)/libgcobol; \
+	cd "$(TARGET_SUBDIR)/libgcobol" || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libgcobol/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgcobol; \
+	rm -f no-such-file || : ; \
+	CONFIG_SITE=no-such-file $(SHELL) \
+	  $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias}  \
+	  || exit 1
+@endif target-libgcobol
+
+
+
+
+
+.PHONY: all-target-libgcobol maybe-all-target-libgcobol
+maybe-all-target-libgcobol:
+@if gcc-bootstrap
+all-target-libgcobol: stage_current
+@endif gcc-bootstrap
+@if target-libgcobol
+TARGET-target-libgcobol=all
+maybe-all-target-libgcobol: all-target-libgcobol
+all-target-libgcobol: configure-target-libgcobol
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
+		$(TARGET-target-libgcobol))
+@endif target-libgcobol
+
+
+
+
+
+.PHONY: check-target-libgcobol maybe-check-target-libgcobol
+maybe-check-target-libgcobol:
+@if target-libgcobol
+maybe-check-target-libgcobol: check-target-libgcobol
+
+check-target-libgcobol:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+
+@endif target-libgcobol
+
+.PHONY: install-target-libgcobol maybe-install-target-libgcobol
+maybe-install-target-libgcobol:
+@if target-libgcobol
+maybe-install-target-libgcobol: install-target-libgcobol
+
+install-target-libgcobol: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+
+@endif target-libgcobol
+
+.PHONY: install-strip-target-libgcobol maybe-install-strip-target-libgcobol
+maybe-install-strip-target-libgcobol:
+@if target-libgcobol
+maybe-install-strip-target-libgcobol: install-strip-target-libgcobol
+
+install-strip-target-libgcobol: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
+
+@endif target-libgcobol
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libgcobol info-target-libgcobol
+maybe-info-target-libgcobol:
+@if target-libgcobol
+maybe-info-target-libgcobol: info-target-libgcobol
+
+info-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing info in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-dvi-target-libgcobol dvi-target-libgcobol
+maybe-dvi-target-libgcobol:
+@if target-libgcobol
+maybe-dvi-target-libgcobol: dvi-target-libgcobol
+
+dvi-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing dvi in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-pdf-target-libgcobol pdf-target-libgcobol
+maybe-pdf-target-libgcobol:
+@if target-libgcobol
+maybe-pdf-target-libgcobol: pdf-target-libgcobol
+
+pdf-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing pdf in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-html-target-libgcobol html-target-libgcobol
+maybe-html-target-libgcobol:
+@if target-libgcobol
+maybe-html-target-libgcobol: html-target-libgcobol
+
+html-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing html in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-TAGS-target-libgcobol TAGS-target-libgcobol
+maybe-TAGS-target-libgcobol:
+@if target-libgcobol
+maybe-TAGS-target-libgcobol: TAGS-target-libgcobol
+
+TAGS-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing TAGS in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-install-info-target-libgcobol install-info-target-libgcobol
+maybe-install-info-target-libgcobol:
+@if target-libgcobol
+maybe-install-info-target-libgcobol: install-info-target-libgcobol
+
+install-info-target-libgcobol: \
+    configure-target-libgcobol \
+    info-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/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)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-install-dvi-target-libgcobol install-dvi-target-libgcobol
+maybe-install-dvi-target-libgcobol:
+@if target-libgcobol
+maybe-install-dvi-target-libgcobol: install-dvi-target-libgcobol
+
+install-dvi-target-libgcobol: \
+    configure-target-libgcobol \
+    dvi-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing install-dvi in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-dvi) \
+	  || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-install-pdf-target-libgcobol install-pdf-target-libgcobol
+maybe-install-pdf-target-libgcobol:
+@if target-libgcobol
+maybe-install-pdf-target-libgcobol: install-pdf-target-libgcobol
+
+install-pdf-target-libgcobol: \
+    configure-target-libgcobol \
+    pdf-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/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)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-install-html-target-libgcobol install-html-target-libgcobol
+maybe-install-html-target-libgcobol:
+@if target-libgcobol
+maybe-install-html-target-libgcobol: install-html-target-libgcobol
+
+install-html-target-libgcobol: \
+    configure-target-libgcobol \
+    html-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/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)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-installcheck-target-libgcobol installcheck-target-libgcobol
+maybe-installcheck-target-libgcobol:
+@if target-libgcobol
+maybe-installcheck-target-libgcobol: installcheck-target-libgcobol
+
+installcheck-target-libgcobol: \
+    configure-target-libgcobol 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing installcheck in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-mostlyclean-target-libgcobol mostlyclean-target-libgcobol
+maybe-mostlyclean-target-libgcobol:
+@if target-libgcobol
+maybe-mostlyclean-target-libgcobol: mostlyclean-target-libgcobol
+
+mostlyclean-target-libgcobol: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-clean-target-libgcobol clean-target-libgcobol
+maybe-clean-target-libgcobol:
+@if target-libgcobol
+maybe-clean-target-libgcobol: clean-target-libgcobol
+
+clean-target-libgcobol: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing clean in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-distclean-target-libgcobol distclean-target-libgcobol
+maybe-distclean-target-libgcobol:
+@if target-libgcobol
+maybe-distclean-target-libgcobol: distclean-target-libgcobol
+
+distclean-target-libgcobol: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing distclean in $(TARGET_SUBDIR)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+.PHONY: maybe-maintainer-clean-target-libgcobol maintainer-clean-target-libgcobol
+maybe-maintainer-clean-target-libgcobol:
+@if target-libgcobol
+maybe-maintainer-clean-target-libgcobol: maintainer-clean-target-libgcobol
+
+maintainer-clean-target-libgcobol: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcobol/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)/libgcobol"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcobol && \
+	  $(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-libgcobol
+
+
+
 @if target-libgomp
 .PHONY: check-target-libgomp-c++
 check-target-libgomp-c++:
@@ -63144,6 +64326,14 @@ check-gcc-rust: gcc-site.exp
 	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-rust);
 check-rust: check-gcc-rust
 
+.PHONY: check-gcc-cobol check-cobol
+check-gcc-cobol: gcc-site.exp
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-cobol);
+check-cobol: check-gcc-cobol check-target-libgcobol
+
 
 # The gcc part of install-no-fixedincludes, which relies on an intimate
 # knowledge of how a number of gcc internal targets (inter)operate.  Delegate.
@@ -63336,6 +64526,11 @@ stage1-start::
 	  mkdir stage1-libsframe; \
 	mv stage1-libsframe libsframe
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stage1-libgrust ] || \
+	  mkdir stage1-libgrust; \
+	mv stage1-libgrust libgrust
+@endif libgrust
 	@[ -d stage1-$(TARGET_SUBDIR) ] || \
 	  mkdir stage1-$(TARGET_SUBDIR); \
 	mv stage1-$(TARGET_SUBDIR) $(TARGET_SUBDIR)
@@ -63461,6 +64656,11 @@ stage1-end::
 	  cd $(HOST_SUBDIR); mv libsframe stage1-libsframe; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stage1-libgrust; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); \
 	fi
@@ -63653,6 +64853,12 @@ stage2-start::
 	mv stage2-libsframe libsframe; \
 	mv stage1-libsframe prev-libsframe || test -f stage1-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stage2-libgrust ] || \
+	  mkdir stage2-libgrust; \
+	mv stage2-libgrust libgrust; \
+	mv stage1-libgrust prev-libgrust || test -f stage1-lean 
+@endif libgrust
 	@[ -d stage2-$(TARGET_SUBDIR) ] || \
 	  mkdir stage2-$(TARGET_SUBDIR); \
 	mv stage2-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -63803,6 +65009,12 @@ stage2-end::
 	  mv prev-libsframe stage1-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stage2-libgrust; \
+	  mv prev-libgrust stage1-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \
@@ -64019,6 +65231,12 @@ stage3-start::
 	mv stage3-libsframe libsframe; \
 	mv stage2-libsframe prev-libsframe || test -f stage2-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stage3-libgrust ] || \
+	  mkdir stage3-libgrust; \
+	mv stage3-libgrust libgrust; \
+	mv stage2-libgrust prev-libgrust || test -f stage2-lean 
+@endif libgrust
 	@[ -d stage3-$(TARGET_SUBDIR) ] || \
 	  mkdir stage3-$(TARGET_SUBDIR); \
 	mv stage3-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -64169,6 +65387,12 @@ stage3-end::
 	  mv prev-libsframe stage2-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stage3-libgrust; \
+	  mv prev-libgrust stage2-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR); : ; \
@@ -64441,6 +65665,12 @@ stage4-start::
 	mv stage4-libsframe libsframe; \
 	mv stage3-libsframe prev-libsframe || test -f stage3-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stage4-libgrust ] || \
+	  mkdir stage4-libgrust; \
+	mv stage4-libgrust libgrust; \
+	mv stage3-libgrust prev-libgrust || test -f stage3-lean 
+@endif libgrust
 	@[ -d stage4-$(TARGET_SUBDIR) ] || \
 	  mkdir stage4-$(TARGET_SUBDIR); \
 	mv stage4-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -64591,6 +65821,12 @@ stage4-end::
 	  mv prev-libsframe stage3-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stage4-libgrust; \
+	  mv prev-libgrust stage3-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stage4-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR); : ; \
@@ -64851,6 +66087,12 @@ stageprofile-start::
 	mv stageprofile-libsframe libsframe; \
 	mv stage1-libsframe prev-libsframe || test -f stage1-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stageprofile-libgrust ] || \
+	  mkdir stageprofile-libgrust; \
+	mv stageprofile-libgrust libgrust; \
+	mv stage1-libgrust prev-libgrust || test -f stage1-lean 
+@endif libgrust
 	@[ -d stageprofile-$(TARGET_SUBDIR) ] || \
 	  mkdir stageprofile-$(TARGET_SUBDIR); \
 	mv stageprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -65001,6 +66243,12 @@ stageprofile-end::
 	  mv prev-libsframe stage1-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stageprofile-libgrust; \
+	  mv prev-libgrust stage1-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \
@@ -65194,6 +66442,12 @@ stagetrain-start::
 	mv stagetrain-libsframe libsframe; \
 	mv stageprofile-libsframe prev-libsframe || test -f stageprofile-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stagetrain-libgrust ] || \
+	  mkdir stagetrain-libgrust; \
+	mv stagetrain-libgrust libgrust; \
+	mv stageprofile-libgrust prev-libgrust || test -f stageprofile-lean 
+@endif libgrust
 	@[ -d stagetrain-$(TARGET_SUBDIR) ] || \
 	  mkdir stagetrain-$(TARGET_SUBDIR); \
 	mv stagetrain-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -65344,6 +66598,12 @@ stagetrain-end::
 	  mv prev-libsframe stageprofile-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stagetrain-libgrust; \
+	  mv prev-libgrust stageprofile-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stagetrain-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR); : ; \
@@ -65537,6 +66797,12 @@ stagefeedback-start::
 	mv stagefeedback-libsframe libsframe; \
 	mv stagetrain-libsframe prev-libsframe || test -f stagetrain-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stagefeedback-libgrust ] || \
+	  mkdir stagefeedback-libgrust; \
+	mv stagefeedback-libgrust libgrust; \
+	mv stagetrain-libgrust prev-libgrust || test -f stagetrain-lean 
+@endif libgrust
 	@[ -d stagefeedback-$(TARGET_SUBDIR) ] || \
 	  mkdir stagefeedback-$(TARGET_SUBDIR); \
 	mv stagefeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -65687,6 +66953,12 @@ stagefeedback-end::
 	  mv prev-libsframe stagetrain-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stagefeedback-libgrust; \
+	  mv prev-libgrust stagetrain-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stagefeedback-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stagetrain-$(TARGET_SUBDIR); : ; \
@@ -65903,6 +67175,12 @@ stageautoprofile-start::
 	mv stageautoprofile-libsframe libsframe; \
 	mv stage1-libsframe prev-libsframe || test -f stage1-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libgrust ] || \
+	  mkdir stageautoprofile-libgrust; \
+	mv stageautoprofile-libgrust libgrust; \
+	mv stage1-libgrust prev-libgrust || test -f stage1-lean 
+@endif libgrust
 	@[ -d stageautoprofile-$(TARGET_SUBDIR) ] || \
 	  mkdir stageautoprofile-$(TARGET_SUBDIR); \
 	mv stageautoprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -66053,6 +67331,12 @@ stageautoprofile-end::
 	  mv prev-libsframe stage1-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stageautoprofile-libgrust; \
+	  mv prev-libgrust stage1-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \
@@ -66246,6 +67530,12 @@ stageautofeedback-start::
 	mv stageautofeedback-libsframe libsframe; \
 	mv stageautoprofile-libsframe prev-libsframe || test -f stageautoprofile-lean 
 @endif libsframe
+@if libgrust
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libgrust ] || \
+	  mkdir stageautofeedback-libgrust; \
+	mv stageautofeedback-libgrust libgrust; \
+	mv stageautoprofile-libgrust prev-libgrust || test -f stageautoprofile-lean 
+@endif libgrust
 	@[ -d stageautofeedback-$(TARGET_SUBDIR) ] || \
 	  mkdir stageautofeedback-$(TARGET_SUBDIR); \
 	mv stageautofeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
@@ -66396,6 +67686,12 @@ stageautofeedback-end::
 	  mv prev-libsframe stageautoprofile-libsframe; : ; \
 	fi
 @endif libsframe
+@if libgrust
+	@if test -d $(HOST_SUBDIR)/libgrust; then \
+	  cd $(HOST_SUBDIR); mv libgrust stageautofeedback-libgrust; \
+	  mv prev-libgrust stageautoprofile-libgrust; : ; \
+	fi
+@endif libgrust
 	@if test -d $(TARGET_SUBDIR); then \
 	  mv $(TARGET_SUBDIR) stageautofeedback-$(TARGET_SUBDIR); \
 	  mv prev-$(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); : ; \
@@ -66599,6 +67895,7 @@ configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-gcc
 configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-gcc
 configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-gcc
 configure-target-libgrust: stage_last
+configure-target-libgcobol: stage_last
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
@@ -66626,6 +67923,7 @@ configure-target-libgomp: maybe-all-gcc
 configure-target-libitm: maybe-all-gcc
 configure-target-libatomic: maybe-all-gcc
 configure-target-libgrust: maybe-all-gcc
+configure-target-libgcobol: maybe-all-gcc
 @endif gcc-no-bootstrap
 
 
@@ -66774,6 +68072,16 @@ all-stagetrain-gcc: all-stagetrain-libiberty
 all-stagefeedback-gcc: all-stagefeedback-libiberty
 all-stageautoprofile-gcc: all-stageautoprofile-libiberty
 all-stageautofeedback-gcc: all-stageautofeedback-libiberty
+all-gcc: maybe-all-libgrust
+all-stage1-gcc: maybe-all-stage1-libgrust
+all-stage2-gcc: maybe-all-stage2-libgrust
+all-stage3-gcc: maybe-all-stage3-libgrust
+all-stage4-gcc: maybe-all-stage4-libgrust
+all-stageprofile-gcc: maybe-all-stageprofile-libgrust
+all-stagetrain-gcc: maybe-all-stagetrain-libgrust
+all-stagefeedback-gcc: maybe-all-stagefeedback-libgrust
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-libgrust
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-libgrust
 all-gcc: maybe-all-gettext
 all-stage1-gcc: maybe-all-stage1-gettext
 all-stage2-gcc: maybe-all-stage2-gettext
@@ -67860,9 +69168,12 @@ install-target-libvtv: maybe-install-target-libgcc
 install-target-libitm: maybe-install-target-libgcc
 install-target-libobjc: maybe-install-target-libgcc
 install-target-libstdc++-v3: maybe-install-target-libgcc
+install-target-libgcobol: maybe-install-target-libstdc++-v3
+install-target-libgcobol: maybe-install-target-libquadmath
 all-target-libgloss: maybe-all-target-newlib
 all-target-winsup: maybe-all-target-libtermcap
 configure-target-libgfortran: maybe-all-target-libquadmath
+configure-target-libgcobol: maybe-all-target-libquadmath
 
 
 @if gcc-bootstrap
@@ -68048,6 +69359,7 @@ configure-target-libgomp: maybe-all-target-libgcc
 configure-target-libitm: maybe-all-target-libgcc
 configure-target-libatomic: maybe-all-target-libgcc
 configure-target-libgrust: maybe-all-target-libgcc
+configure-target-libgcobol: maybe-all-target-libgcc
 @endif gcc-no-bootstrap
 
 
@@ -68098,6 +69410,9 @@ configure-target-libatomic: maybe-all-target-newlib maybe-all-target-libgloss
 
 configure-target-libgrust: maybe-all-target-newlib maybe-all-target-libgloss
 
+configure-target-libgcobol: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libgcobol: maybe-all-target-libstdc++-v3
+
 
 CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
 GDB_TK = @GDB_TK@
diff --git a/Makefile.tpl b/Makefile.tpl
index c6428366621..bb30adcd522 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -207,6 +207,7 @@ HOST_EXPORTS = \
 	GOC="$(GOC)"; export GOC; \
 	GDC="$(GDC)"; export GDC; \
 	GM2="$(GM2)"; export GM2; \
+	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
 	AR="$(AR)"; export AR; \
 	AS="$(AS)"; export AS; \
 	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
@@ -312,6 +313,7 @@ BASE_TARGET_EXPORTS = \
 	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
 	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
 	GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
+	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
 	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
 	DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
@@ -340,6 +342,7 @@ RAW_CXX_TARGET_EXPORTS = \
 
 NORMAL_TARGET_EXPORTS = \
 	$(BASE_TARGET_EXPORTS) \
+	CXX_FOR_TARGET="$(CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
 	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
 
 # Where to find GMP
@@ -380,6 +383,7 @@ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
 GOC_FOR_BUILD = @GOC_FOR_BUILD@
 GDC_FOR_BUILD = @GDC_FOR_BUILD@
 GM2_FOR_BUILD = @GM2_FOR_BUILD@
+GNATMAKE_FOR_BUILD = @GNATMAKE_FOR_BUILD@
 LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
 LD_FOR_BUILD = @LD_FOR_BUILD@
 NM_FOR_BUILD = @NM_FOR_BUILD@
diff --git a/configure b/configure
index 55fe00e8a30..90f99cdef7b 100755
--- a/configure
+++ b/configure
@@ -662,6 +662,7 @@ RANLIB_FOR_BUILD
 NM_FOR_BUILD
 LD_FOR_BUILD
 LDFLAGS_FOR_BUILD
+GNATMAKE_FOR_BUILD
 GDC_FOR_BUILD
 GOC_FOR_BUILD
 GFORTRAN_FOR_BUILD
@@ -700,7 +701,7 @@ extra_host_libiberty_configure_flags
 stage1_languages
 host_libs_picflag
 CRAB1_LIBS
-enable_libdiagnostics
+enable_libgdiagnostics
 PICFLAG
 host_shared
 gcc_host_pie
@@ -739,6 +740,7 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
+cpu_type
 target_subdir
 host_subdir
 build_subdir
@@ -854,7 +856,7 @@ enable_linker_plugin_configure_flags
 enable_linker_plugin_flags
 enable_host_pie
 enable_host_shared
-enable_libdiagnostics
+enable_libgdiagnostics
 enable_stage1_languages
 enable_objc_gc
 with_target_bdw_gc
@@ -1590,7 +1592,8 @@ Optional Features:
                           plugins [none]
   --enable-host-pie       build position independent host executables
   --enable-host-shared    build host code as shared libraries
-  --enable-libdiagnostics build libdiagnostics shared library
+  --enable-libgdiagnostics
+                          build libgdiagnostics shared library
   --enable-stage1-languages[=all]
                           choose additional languages to build during stage1.
                           Mostly useful for compiler development
@@ -2910,6 +2913,7 @@ target_libraries="target-libgcc \
 		target-libgfortran \
 		target-libffi \
 		target-libobjc \
+		target-libgcobol \
 		target-libada \
 		target-libgm2 \
 		target-libgo \
@@ -3441,6 +3445,13 @@ case "${target}" in
     ;;
 esac
 
+cpu_type=`echo ${host} | sed 's/-.*$//'`
+# Special case cpu_type for x86_64 as it shares AUTO_PROFILE from i386.
+if test "${cpu_type}" = "x86_64" ; then
+  cpu_type="i386"
+fi
+
+
 # Disable libssp for some systems.
 case "${target}" in
   avr-*-*)
@@ -3477,10 +3488,6 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then
       # VxWorks uses the Dinkumware C++ library.
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
       ;;
-    amdgcn*-*-*)
-      # Not ported/fails to build when using newlib.
-      noconfigdirs="$noconfigdirs target-libstdc++-v3"
-      ;;
     arm*-wince-pe*)
       # the C++ libraries don't build on top of CE's C libraries
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
@@ -3497,6 +3504,21 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then
   esac
 fi
 
+# Disable Ada/GNAT on systems where it is known to not work.
+# For testing, you can override this with --enable-languages=ada.
+case ,${enable_languages}, in
+  *,ada,*)
+    ;;
+  *)
+      case "${target}" in
+        amdgcn*-*-* \
+        | nvptx*-*-* )
+          unsupported_languages="$unsupported_languages ada"
+          ;;
+      esac
+      ;;
+esac
+
 # Disable C++ on systems where it is known to not work.
 # For testing, you can override this with --enable-languages=c++.
 case ,${enable_languages}, in
@@ -3525,6 +3547,16 @@ case ,${enable_languages}, in
       ;;
 esac
 
+# Disable libobjc for some systems where it is known to not work.
+case "${target}" in
+  amdgcn*-*-*)
+    noconfigdirs="$noconfigdirs target-libobjc"
+    ;;
+  nvptx*-*-*)
+    noconfigdirs="$noconfigdirs target-libobjc"
+    ;;
+esac
+
 # Disable D on systems where it is known to not work.
 # For testing, you can override this with --enable-languages=d.
 case ,${enable_languages}, in
@@ -3559,6 +3591,26 @@ $as_echo "yes" >&6; }
     fi
 fi
 
+# Disable libgcobol on unsupported systems.
+# For testing, you can override this with --enable-libgcobol.
+if test -d ${srcdir}/libgcobol; then
+    if test x$enable_libgcobol = x; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcobol support" >&5
+$as_echo_n "checking for libgcobol support... " >&6; }
+	if (srcdir=${srcdir}/libgcobol; \
+		. ${srcdir}/configure.tgt; \
+		test -n "$UNSUPPORTED")
+	then
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	    noconfigdirs="$noconfigdirs target-libgcobol"
+	else
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	fi
+    fi
+fi
+
 # Disable Fortran for some systems.
 case "${target}" in
   mmix-*-*)
@@ -3570,6 +3622,38 @@ case "${target}" in
     ;;
 esac
 
+# Always enable COBOL for --enable-languages=*cobol*
+# Otherwise, enable COBOL only for known architectures
+case ,${enable_languages}, in
+  *,cobol,*)
+    case ,${enable_languages}, in
+      *,c++,*)
+        ;;
+      *)
+        # We have an explicit cobol, but no c++.  We need c++, because cobol
+        # requires libstdc++
+        enable_languages="$enable_languages,c++"
+        ;;
+    esac
+    ;;
+  *)
+    case "${target}" in
+      aarch64-*-linux*|x86_64-*-linux*)
+        ;;
+      *-*-*)
+        unsupported_languages="$unsupported_languages cobol"
+        ;;
+    esac
+    case "${host}" in
+      aarch64-*-linux*|x86_64-*-linux*)
+        ;;
+      *-*-*)
+        unsupported_languages="$unsupported_languages cobol"
+        ;;
+    esac
+    ;;
+esac
+
 # Disable libffi for some systems.
 case "${target}" in
   powerpc-*-darwin*)
@@ -3605,6 +3689,9 @@ case "${target}" in
   alpha*-*-*vms*)
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
+  amdgcn*-*-*)
+    noconfigdirs="$noconfigdirs target-libffi"
+    ;;
   arm*-*-freebsd*)
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
@@ -3648,6 +3735,9 @@ case "${target}" in
   mmix-*-*)
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
+  nvptx*-*-*)
+    noconfigdirs="$noconfigdirs target-libffi"
+    ;;
   powerpc-*-aix*)
     ;;
   rs6000-*-aix*)
@@ -3698,9 +3788,15 @@ if test x$enable_libgo = x; then
     *-*-cygwin* | *-*-mingw*)
 	noconfigdirs="$noconfigdirs target-libgo"
 	;;
+    amdgcn*-*-*)
+	noconfigdirs="$noconfigdirs target-libgo"
+	;;
     bpf-*-*)
         noconfigdirs="$noconfigdirs target-libgo"
         ;;
+    nvptx*-*-*)
+	noconfigdirs="$noconfigdirs target-libgo"
+	;;
     esac
 fi
 
@@ -4098,7 +4194,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs gprof"
     ;;
   nvptx*-*-*)
-    noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
+    noconfigdirs="$noconfigdirs target-libssp"
     ;;
   sh-*-*)
     case "${target}" in
@@ -4202,11 +4298,12 @@ if test "${build}" != "${host}" ; then
   CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
   CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CC_FOR_BUILD) -E}"
   CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
+  DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
   DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
   GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
   GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
-  DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
+  GNATMAKE_FOR_BUILD=${GNATMAKE_FOR_BUILD-gnatmake}
   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
   RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
@@ -4217,11 +4314,12 @@ else
   AS_FOR_BUILD="\$(AS)"
   CC_FOR_BUILD="\$(CC)"
   CXX_FOR_BUILD="\$(CXX)"
+  DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
   DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
   GOC_FOR_BUILD="\$(GOC)"
   GDC_FOR_BUILD="\$(GDC)"
-  DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
+  GNATMAKE_FOR_BUILD="\$(GNATMAKE)"
   LD_FOR_BUILD="\$(LD)"
   NM_FOR_BUILD="\$(NM)"
   RANLIB_FOR_BUILD="\$(RANLIB)"
@@ -9665,19 +9763,19 @@ fi
 
 
 
-# Check for libdiagnostics support.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable libdiagnostics" >&5
-$as_echo_n "checking whether to enable libdiagnostics... " >&6; }
-# Check whether --enable-libdiagnostics was given.
-if test "${enable_libdiagnostics+set}" = set; then :
-  enableval=$enable_libdiagnostics; enable_libdiagnostics=$enableval
+# Check for libgdiagnostics support.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable libgdiagnostics" >&5
+$as_echo_n "checking whether to enable libgdiagnostics... " >&6; }
+# Check whether --enable-libgdiagnostics was given.
+if test "${enable_libgdiagnostics+set}" = set; then :
+  enableval=$enable_libgdiagnostics; enable_libgdiagnostics=$enableval
 else
-  enable_libdiagnostics=no
+  enable_libgdiagnostics=no
 fi
 
 
-if test x$enable_libdiagnostics = xyes; then
-  # Disable libdiagnostics if -enable-host-shared not specified
+if test x$enable_libgdiagnostics = xyes; then
+  # Disable libgdiagnostics if -enable-host-shared not specified
   # but not if building for Mingw. All code in Windows
   # is position independent code (PIC).
   case $target in
@@ -9685,12 +9783,12 @@ if test x$enable_libdiagnostics = xyes; then
      *)
        if test x$host_shared != xyes; then
 	 as_fn_error $? "
-Enabling libdiagnostics requires --enable-host-shared.
+Enabling libgdiagnostics requires --enable-host-shared.
 
 --enable-host-shared typically slows the rest of the compiler down by
 a few %, so you must explicitly enable it.
 
-If you want to build both libdiagnostics and the regular compiler, it is often
+If you want to build both libgdiagnostics and the regular compiler, it is often
 best to do this via two separate configure/builds, in separate
 directories, to avoid imposing the performance cost of
 --enable-host-shared on the regular compiler." "$LINENO" 5
@@ -9698,8 +9796,8 @@ directories, to avoid imposing the performance cost of
        ;;
    esac
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libdiagnostics" >&5
-$as_echo "$enable_libdiagnostics" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libgdiagnostics" >&5
+$as_echo "$enable_libgdiagnostics" >&6; }
 
 
 
@@ -10345,6 +10443,16 @@ case ,${enable_languages}, in
         # Disable target libgrust if we're not building target libstdc++.
         noconfigdirs="$noconfigdirs target-libgrust"
         ;;
+      *)
+	case "${target}" in
+	  amdgcn*-*-* \
+	  | nvptx*-*-* )
+	    # Build fails in 'libgrust/libproc_macro_internal/':
+	    #     sorry, unimplemented: exception handling not supported
+	    noconfigdirs="$noconfigdirs target-libgrust"
+	    ;;
+	esac
+	;;
     esac
     ;;
 esac
@@ -11542,13 +11650,17 @@ if test x"${build}" = x"${host}" ; then
   LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
 fi
 
-# On Canadian crosses, we'll be searching the right directories for
-# the previously-installed cross compiler, so don't bother to add
-# flags for directories within the install tree of the compiler
-# being built; programs in there won't even run.
-if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
+if test -d ${srcdir}/gcc; then
+  # On Canadian crosses, we'll be searching the right directories for the
+  # previously-installed cross compiler, so don't bother to add flags for
+  # executable directories within the install tree of the compiler being built;
+  # programs in there won't even run.
+  if test "${bui[...]

[diff truncated at 100000 bytes]


More information about the Binutils-cvs mailing list