public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking
  2016-03-28  9:16 [PATCH 1/4] Add gcc-auto-profile script Andi Kleen
@ 2016-03-28  4:48 ` Andi Kleen
  2016-03-28  4:49   ` [PATCH 3/4] Run profile feedback tests with autofdo Andi Kleen
  2016-03-30 18:48 ` [PATCH 1/4] Add gcc-auto-profile script Joseph Myers
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Andi Kleen @ 2016-03-28  4:48 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

Currently, on a checking enabled compiler when -fauto-profile does
not find the profile feedback file it errors out with assertation
failures. Add proper errors for this case.

gcc/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* auto-profile.c (read_profile): Replace asserts with errors
	when file does not exist.
	* gcov-io.c (gcov_read_words): Dito.
---
 gcc/auto-profile.c | 32 +++++++++++++++++++++++++-------
 gcc/gcov-io.c      |  4 +++-
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 5c0640a..5cb94a6 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -887,16 +887,25 @@ static void
 read_profile (void)
 {
   if (gcov_open (auto_profile_file, 1) == 0)
-    error ("Cannot open profile file %s.", auto_profile_file);
+    {
+      error ("Cannot open profile file %s.", auto_profile_file);
+      return;
+    }
 
   if (gcov_read_unsigned () != GCOV_DATA_MAGIC)
-    error ("AutoFDO profile magic number does not mathch.");
+    {
+      error ("AutoFDO profile magic number does not mathch.");
+      return;
+    }
 
   /* Skip the version number.  */
   unsigned version = gcov_read_unsigned ();
   if (version != AUTO_PROFILE_VERSION)
-    error ("AutoFDO profile version %u does match %u.",
-           version, AUTO_PROFILE_VERSION);
+    {
+      error ("AutoFDO profile version %u does match %u.",
+	     version, AUTO_PROFILE_VERSION);
+      return;
+    }
 
   /* Skip the empty integer.  */
   gcov_read_unsigned ();
@@ -904,19 +913,28 @@ read_profile (void)
   /* string_table.  */
   afdo_string_table = new string_table ();
   if (!afdo_string_table->read())
-    error ("Cannot read string table from %s.", auto_profile_file);
+    {
+      error ("Cannot read string table from %s.", auto_profile_file);
+      return;
+    }
 
   /* autofdo_source_profile.  */
   afdo_source_profile = autofdo_source_profile::create ();
   if (afdo_source_profile == NULL)
-    error ("Cannot read function profile from %s.", auto_profile_file);
+    {
+      error ("Cannot read function profile from %s.", auto_profile_file);
+      return;
+    }
 
   /* autofdo_module_profile.  */
   fake_read_autofdo_module_profile ();
 
   /* Read in the working set.  */
   if (gcov_read_unsigned () != GCOV_TAG_AFDO_WORKING_SET)
-    error ("Cannot read working set from %s.", auto_profile_file);
+    {
+      error ("Cannot read working set from %s.", auto_profile_file);
+      return;
+    }
 
   /* Skip the length of the section.  */
   gcov_read_unsigned ();
diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c
index 17fcae0..95ead22 100644
--- a/gcc/gcov-io.c
+++ b/gcc/gcov-io.c
@@ -493,7 +493,9 @@ gcov_read_words (unsigned words)
   const gcov_unsigned_t *result;
   unsigned excess = gcov_var.length - gcov_var.offset;
 
-  gcov_nonruntime_assert (gcov_var.mode > 0);
+  if (gcov_var.mode <= 0)
+    return NULL;
+
   if (excess < words)
     {
       gcov_var.start += gcov_var.offset;
-- 
2.7.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 3/4] Run profile feedback tests with autofdo
  2016-03-28  4:48 ` [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking Andi Kleen
@ 2016-03-28  4:49   ` Andi Kleen
  2016-03-28  9:45     ` [PATCH 4/4] Add make autoprofiledbootstrap Andi Kleen
  2016-04-27 15:27     ` [PATCH 3/4] Run profile feedback tests with autofdo Bernd Schmidt
  0 siblings, 2 replies; 15+ messages in thread
From: Andi Kleen @ 2016-03-28  4:49 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

Extend the existing bprob and tree-prof tests to also run with autofdo.
The test runtimes are really a bit too short for autofdo, but it's
a reasonable sanity check.

This only works natively for now.

dejagnu doesn't seem to support a wrapper for unix tests, so I had
to open code running these tests.  That should be ok due to the
native run restrictions.

gcc/testsuite/:
2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* g++.dg/bprob/bprob.exp: Support autofdo.
	* g++.dg/tree-prof/tree-prof.exp: dito.
	* gcc.dg/tree-prof/tree-prof.exp: dito.
	* gcc.misc-tests/bprob.exp: dito.
	* gfortran.dg/prof/prof.exp: dito.
	* lib/profopt.exp: dito.
	* lib/target-supports.exp: Check for autofdo.
---
 gcc/testsuite/g++.dg/bprob/bprob.exp         | 19 +++++++++
 gcc/testsuite/g++.dg/tree-prof/tree-prof.exp | 19 +++++++++
 gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp | 19 +++++++++
 gcc/testsuite/gcc.misc-tests/bprob.exp       | 23 +++++++++++
 gcc/testsuite/gfortran.dg/prof/prof.exp      | 18 +++++++++
 gcc/testsuite/lib/profopt.exp                | 58 ++++++++++++++++++++++++++--
 gcc/testsuite/lib/target-supports.exp        | 23 +++++++++++
 7 files changed, 176 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp b/gcc/testsuite/g++.dg/bprob/bprob.exp
index d555507..92a1e94 100644
--- a/gcc/testsuite/g++.dg/bprob/bprob.exp
+++ b/gcc/testsuite/g++.dg/bprob/bprob.exp
@@ -53,6 +53,7 @@ if $tracelevel then {
 
 set profile_options "-fprofile-arcs"
 set feedback_options "-fbranch-probabilities"
+set profile_wrapper ""
 
 # Main loop.
 foreach profile_option $profile_options feedback_option $feedback_options {
@@ -65,4 +66,22 @@ foreach profile_option $profile_options feedback_option $feedback_options {
     }
 }
 
+set profile_wrapper [profopt-perf-wrapper]
+set profile_options "-g"
+set feedback_options "-fauto-profile"
+set run_autofdo 1
+
+foreach profile_option $profile_options feedback_option $feedback_options {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
+        if ![runtest_file_p $runtests $src] then {
+            continue
+        }
+	set base [file tail $srco
+        profopt-execute $src
+    }
+}
+
+set run_autofdo ""
+set profile_wrapper ""
+
 set PROFOPT_OPTIONS $bprob_save_profopt_options
diff --git a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
index 7a4b5cb..7220217 100644
--- a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
@@ -44,6 +44,7 @@ set PROFOPT_OPTIONS [list {}]
 # profile data.
 set profile_option "-fprofile-generate -D_PROFILE_GENERATE"
 set feedback_option "-fprofile-use -D_PROFILE_USE"
+set profile_wrapper ""
 
 foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] {
     # If we're only testing specific files and this isn't one of them, skip it.
@@ -53,4 +54,22 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] {
     profopt-execute $src
 }
 
+set profile_wrapper [profopt-perf-wrapper]
+set profile_options "-g"
+set feedback_options "-fauto-profile"
+set run_autofdo 1
+
+foreach profile_option $profile_options feedback_option $feedback_options {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
+        if ![runtest_file_p $runtests $src] then {
+            continue
+        }
+	set base [file tail $srco
+        profopt-execute $src
+    }
+}
+
+set run_autofdo ""
+set profile_wrapper ""
+
 set PROFOPT_OPTIONS $treeprof_save_profopt_options
diff --git a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
index 650ad8d..7fff52c 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
@@ -44,6 +44,7 @@ set PROFOPT_OPTIONS [list {}]
 # profile data.
 set profile_option "-fprofile-generate -D_PROFILE_GENERATE"
 set feedback_option "-fprofile-use -D_PROFILE_USE"
+set profile_wrapper ""
 
 foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
     # If we're only testing specific files and this isn't one of them, skip it.
@@ -53,4 +54,22 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
     profopt-execute $src
 }
 
+set profile_wrapper [profopt-perf-wrapper]
+set profile_options "-g"
+set feedback_options "-fauto-profile"
+set run_autofdo 1
+
+foreach profile_option $profile_options feedback_option $feedback_options {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
+        if ![runtest_file_p $runtests $src] then {
+            continue
+        }
+	set base [file tail $srco
+        profopt-execute $src
+    }
+}
+
+set run_autofdo ""
+set profile_wrapper ""
+
 set PROFOPT_OPTIONS $treeprof_save_profopt_options
diff --git a/gcc/testsuite/gcc.misc-tests/bprob.exp b/gcc/testsuite/gcc.misc-tests/bprob.exp
index 52dcb1f..cc12f1f 100644
--- a/gcc/testsuite/gcc.misc-tests/bprob.exp
+++ b/gcc/testsuite/gcc.misc-tests/bprob.exp
@@ -41,6 +41,7 @@ load_lib profopt.exp
 set bprob_save_profopt_options $PROFOPT_OPTIONS
 set PROFOPT_OPTIONS [list { -O2 } { -O3  }]
 
+set profile_wrapper ""
 set profile_options "-fprofile-arcs"
 set feedback_options "-fbranch-probabilities"
 
@@ -54,4 +55,26 @@ foreach profile_option $profile_options feedback_option $feedback_options {
     }
 }
 
+if { ! [check_profiling_available "-fauto-profile"] } {
+    set PROFOPT_OPTIONS $bprob_save_profopt_options
+    return
+}
+
+set ext autogcov
+set profile_wrapper [profopt-perf-wrapper]
+set profile_options "-g"
+set feedback_options "-fauto-profile"
+set run_autofdo 1
+
+foreach profile_option $profile_options feedback_option $feedback_options {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
+        if ![runtest_file_p $runtests $src] then {
+            continue
+        }
+        profopt-execute $src
+    }
+}
+
+set run_autofdo ""
+set profile_wrapper ""
 set PROFOPT_OPTIONS $bprob_save_profopt_options
diff --git a/gcc/testsuite/gfortran.dg/prof/prof.exp b/gcc/testsuite/gfortran.dg/prof/prof.exp
index 0bad01d..24c3472 100644
--- a/gcc/testsuite/gfortran.dg/prof/prof.exp
+++ b/gcc/testsuite/gfortran.dg/prof/prof.exp
@@ -53,4 +53,22 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.f*]] {
     profopt-execute $src
 }
 
+set profile_wrapper [profopt-perf-wrapper]
+set profile_options "-g"
+set feedback_options "-fauto-profile"
+set run_autofdo 1
+
+foreach profile_option $profile_options feedback_option $feedback_options {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
+        if ![runtest_file_p $runtests $src] then {
+            continue
+        }
+	set base [file tail $srco
+        profopt-execute $src
+    }
+}
+
+set run_autofdo ""
+set profile_wrapper ""
+
 set PROFOPT_OPTIONS $treeprof_save_profopt_options
diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp
index 0aea6c4..3502b3e 100644
--- a/gcc/testsuite/lib/profopt.exp
+++ b/gcc/testsuite/lib/profopt.exp
@@ -36,7 +36,7 @@ load_lib gcc-dg.exp
 global PROFOPT_OPTIONS perf_delta
 
 # The including .exp file must define these.
-global tool profile_option feedback_option prof_ext
+global tool profile_option feedback_option prof_ext profile_wrapper
 if ![info exists tool] {
     error "Tools is not specified."
 }
@@ -238,6 +238,7 @@ proc profopt-execute { src } {
     global srcdir tmpdir
     global PROFOPT_OPTIONS
     global tool profile_option feedback_option prof_ext perf_ext perf_delta
+    global profile_wrapper run_autofdo ld_library_path
     global generate_final_code use_final_code
     global verbose
     global testname_with_flags
@@ -248,6 +249,12 @@ proc profopt-execute { src } {
     if ![info exists feedback_option] {
         error "No feedback option specified for second compile."
     }
+    if ![info exists profile_wrapper] {
+	set profile_wrapper ""
+    }
+    if ![info exists run_autofdo] {
+	set run_autofdo ""
+    }
 
     # Use the default option list or one defined for a set of tests.
     if ![info exists PROFOPT_OPTIONS] {
@@ -313,6 +320,7 @@ proc profopt-execute { src } {
 	# valid, by running it after dg-additional-files-options.
 	foreach ext $prof_ext {
 	    profopt-target-cleanup $tmpdir $base $ext
+	    profopt-target-cleanup $tmpdir perf data
 	}
 
 	# Tree profiling requires TLS runtime support, which may need
@@ -335,12 +343,51 @@ proc profopt-execute { src } {
 	}
 
 	# Run the profiled test.
+	if { $run_autofdo == 1 } {
+	    # unix_load does not support wrappers in $PATH, so implement
+	    # it manually here
+	    if { ![info exists ld_library_path]} {
+		set ld_library_path ""
+	    }
+	    set orig_ld_library_path "[getenv LD_LIBRARY_PATH]"
+	    setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path"
+	    verbose "Running $profile_wrapper $execname1"
+	    set id [remote_spawn "" "$profile_wrapper $execname1" "readonly"]
+	    setenv LD_LIBRARY_PATH $orig_ld_library_path
+	    if { $id < 0 } {
+		warning "Failed to run profiler"
+		set status "fail"
+	    } else {
+		set result [remote_wait "" 300]
+		set status [lindex $result 0]
+		verbose "perf result $result"
+		if { $status == 0 } {
+		    set status "pass"
+		} else {
+		    set status "fail"
+		}
+	    }
+	} else {
+	    set result [${tool}_load $execname1 "" ""]
+	    set status [lindex $result 0]
+	}
 
-	set result [${tool}_load $execname1 "" ""]
-	set status [lindex $result 0]
 	set missing_file 0
 	# Make sure the profile data was generated, and fail if not.
 	if { $status == "pass" } {
+	    # convert profile
+	    if { $run_autofdo == 1 } {
+		set cmd "create_gcov --binary $execname1 --profile=perf.data -gcov_version=1 --gcov=$tmpdir/$base.$ext"
+		verbose "Running $cmd"
+		set id [remote_spawn "" $cmd]
+		if { $id < 0 } {
+		    set status "fail"
+		    fail "$testcase: Cannot run $cmd"
+		}
+		set status [remote_wait "" 300]
+		set status "pass"
+	    }
+
 	    foreach ext $prof_ext {
 		remote_upload target $tmpdir/$base.$ext
 		set files [glob -nocomplain $base.$ext]
@@ -375,6 +422,10 @@ proc profopt-execute { src } {
 	set options "$extra_options"
 	lappend options "additional_flags=$option $extra_flags $feedback_option"
 	set optstr "$option $feedback_option"
+	if { [string first "-fauto-profile" $options] >= 0} {
+	    set options [regsub -- "-fauto-profile" $options "-fauto-profile=$tmpdir/$base.$ext"]
+	}
+
 	set comp_output [${tool}_target_compile "$src" "$execname2" "executable" $options]
 
 	# Prune warnings we know are unwanted.
@@ -400,6 +451,7 @@ proc profopt-execute { src } {
 	foreach ext $prof_ext {
 	    profopt-target-cleanup $tmpdir $base $ext
 	}
+	# XXX remove perf.data
 
 	if { $status != "pass" } {
 	    continue
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 777bff8..07d0fee 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -508,6 +508,11 @@ proc check_effective_target_keeps_null_pointer_checks { } {
     return 0
 }
 
+proc profopt-perf-wrapper { } {
+    global srcdir
+    return "$srcdir/../gcc-auto-profile -o perf.data "
+}
+
 # Return true if profiling is supported on the target.
 
 proc check_profiling_available { test_what } {
@@ -525,6 +530,24 @@ proc check_profiling_available { test_what } {
 	}
     }
 
+    if { $test_what == "-fauto-profile" &&
+	 ! ([istarget x86_64-*-linux*] || [istarget i?86-*-linux*]) } {
+	# not cross compiling?
+	if { ![isnative] } {
+	    return 0
+	}
+	set event [profopt-perf-wrapper]
+	if {$event == "" } {
+	    return 0
+	}
+	set status [remote_exec host "gcc-auto-profile" "true -v /dev/null"]
+	if { [lindex $status 0] != 0 } {
+	    return 0
+	}
+	warning "autofdo not supported"
+	# Should check if create_gcov exists
+    }
+
     # Support for -p on solaris2 relies on mcrt1.o which comes with the
     # vendor compiler.  We cannot reliably predict the directory where the
     # vendor compiler (and thus mcrt1.o) is installed so we can't
-- 
2.7.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/4] Add gcc-auto-profile script
@ 2016-03-28  9:16 Andi Kleen
  2016-03-28  4:48 ` [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking Andi Kleen
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Andi Kleen @ 2016-03-28  9:16 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

Using autofdo is currently something difficult. It requires using the
model specific branches taken event, which differs on different CPUs.
The example shown in the manual requires a special patched version of
perf that is non standard, and also will likely not work everywhere.

This patch adds a new gcc-auto-profile script that figures out the
correct event and runs perf. The script is installed with on Linux systems.

Since maintaining the script would be somewhat tedious (needs changes
every time a new CPU comes out) I auto generated it from the online
Intel event database. The script to do that is in contrib and can be
rerun.

Right now there is no test if perf works in configure. This
would vary depending on the build and target system, and since
it currently doesn't work in virtualization and needs uptodate
kernel it may often fail in common distribution build setups.

So Linux just hardcodes installing the script, but it may fail at runtime.

This is needed to actually make use of autofdo in a generic way
in the build system and in the test suite.

So far the script is not installed.

gcc/:
2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* doc/invoke.texi: Document gcc-auto-profile
	* gcc-auto-profile: Create.

contrib/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* gen_autofdo_event.py: New file to regenerate
	gcc-auto-profile.
---
 contrib/gen_autofdo_event.py | 155 +++++++++++++++++++++++++++++++++++++++++++
 gcc/doc/invoke.texi          |  31 +++++++--
 gcc/gcc-auto-profile         |  70 +++++++++++++++++++
 3 files changed, 251 insertions(+), 5 deletions(-)
 create mode 100755 contrib/gen_autofdo_event.py
 create mode 100755 gcc/gcc-auto-profile

diff --git a/contrib/gen_autofdo_event.py b/contrib/gen_autofdo_event.py
new file mode 100755
index 0000000..db4db33
--- /dev/null
+++ b/contrib/gen_autofdo_event.py
@@ -0,0 +1,155 @@
+#!/usr/bin/python
+# generate Intel taken branches Linux perf event script for autofdo profiling
+
+# Copyright (C) 2016 Free Software Foundation, Inc.
+#
+# GCC is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3, or (at your option) any later
+# version.
+#
+# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.  */
+
+# run it with perf record -b -e EVENT program ...
+# The Linux Kernel needs to support the PMU of the current CPU, and
+# it will likely not work in VMs.
+# add --all to print for all cpus, otherwise for current cpu
+# add --script to generate shell script to run correct event
+#
+# requires internet (https) access. this may require setting up a proxy
+# with export https_proxy=...
+#
+import urllib2
+import sys
+import json
+import argparse
+import collections
+
+baseurl = "https://download.01.org/perfmon"
+
+target_events = (u'BR_INST_RETIRED.NEAR_TAKEN',
+                 u'BR_INST_EXEC.TAKEN',
+                 u'BR_INST_RETIRED.TAKEN_JCC',
+                 u'BR_INST_TYPE_RETIRED.COND_TAKEN')
+
+ap = argparse.ArgumentParser()
+ap.add_argument('--all', '-a', help='Print for all CPUs', action='store_true')
+ap.add_argument('--script', help='Generate shell script', action='store_true')
+args = ap.parse_args()
+
+eventmap = collections.defaultdict(list)
+
+def get_cpu_str():
+    with open('/proc/cpuinfo', 'r') as c:
+        vendor, fam, model = None, None, None
+        for j in c:
+            n = j.split()
+            if n[0] == 'vendor_id':
+                vendor = n[2]
+            elif n[0] == 'model' and n[1] == ':':
+                model = int(n[2])
+            elif n[0] == 'cpu' and n[1] == 'family':
+                fam = int(n[3])
+            if vendor and fam and model:
+                return "%s-%d-%X" % (vendor, fam, model), model
+    return None, None
+
+def find_event(eventurl, model):
+    print >>sys.stderr, "Downloading", eventurl
+    u = urllib2.urlopen(eventurl)
+    events = json.loads(u.read())
+    u.close()
+
+    found = 0
+    for j in events:
+        if j[u'EventName'] in target_events:
+            event = "cpu/event=%s,umask=%s/" % (j[u'EventCode'], j[u'UMask'])
+            if u'PEBS' in j and j[u'PEBS'] > 0:
+                event += "p"
+            if args.script:
+                eventmap[event].append(model)
+            else:
+                print j[u'EventName'], "event for model", model, "is", event
+            found += 1
+    return found
+
+if not args.all:
+    cpu, model = get_cpu_str()
+    if not cpu:
+        sys.exit("Unknown CPU type")
+
+url = baseurl + "/mapfile.csv"
+print >>sys.stderr, "Downloading", url
+u = urllib2.urlopen(url)
+found = 0
+cpufound = 0
+for j in u:
+    n = j.rstrip().split(',')
+    if len(n) >= 4 and (args.all or n[0] == cpu) and n[3] == "core":
+        if args.all:
+            vendor, fam, model = n[0].split("-")
+            model = int(model, 16)
+        cpufound += 1
+        found += find_event(baseurl + n[2], model)
+u.close()
+
+if args.script:
+    print '''#!/bin/sh
+# profile workload for gcc profile feedback (autofdo) using Linux perf
+# auto generated. to regenerate for new CPUs run
+# contrib/gen_autofdo_event.py --shell --all in gcc source
+
+# usages:
+# gcc-auto-profile program             (profile program and children)
+# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
+# gcc-auto-profile -p PID sleep X      (profile PID)
+# gcc-auto-profile --kernel -a sleep X (profile kernel)
+# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
+
+# identify branches taken event for CPU
+#
+
+FLAGS=u
+
+if [ "$1" = "--kernel" ] ; then
+  FLAGS=k
+  shift
+fi
+if [ "$1" == "--all" ] ; then
+  FLAGS=uk
+  shift
+fi
+
+if ! grep -q Intel /proc/cpuinfo ] ; then
+  echo >&2 "Only Intel CPUs supported"
+  exit 1
+fi
+
+if grep -q hypervisor /proc/cpuinfo ; then
+  echo >&2 "Warning: branch profiling may not be functional in VMs"
+fi
+
+case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
+  egrep "^model\s*:" /proc/cpuinfo | head -1` in'''
+    for event, mod in eventmap.iteritems():
+        for m in mod[:-1]:
+            print "model*:\ %s|\\" % m
+        print 'model*:\ %s) E="%s$FLAGS" ;;' % (mod[-1], event)
+    print '''*)
+echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
+	exit 1 ;;'''
+    print "esac"
+    print 'exec perf record -e $E -b "$@"'
+
+if cpufound == 0 and not args.all:
+    sys.exit('CPU %s not found' % cpu)
+
+if found == 0:
+    sys.exit('Branch event not found')
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 9e54bb7..427d89a 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -8249,13 +8249,34 @@ which are generally profitable only with profile feedback available:
 If omitted, it defaults to @file{fbdata.afdo} in the current directory.
 
 Producing an AutoFDO profile data file requires running your program
-with the @command{perf} utility on a supported GNU/Linux target system.
+with the @command{gcc-auto-profile} utility on a supported GNU/Linux target system. @command{gcc-auto-profile} calls the @command{perf} utility.
+It also requires Last-Branch-Record support, which typically requires
+a new enough kernel not running virtualized.
+@command{gcc-auto-profile} accepts the same arguments as @command{perf record}.
 For more information, see @uref{https://perf.wiki.kernel.org/}.
 
-E.g.
 @smallexample
-perf record -e br_inst_retired:near_taken -b -o perf.data \
-    -- your_program
+gcc-auto-profile your_program
+@end smallexample
+
+On larger programs the resulting perf.data file may be very large.
+In this case it can be better to reduce the sampling rate.
+Collect samples every million taken branches:
+
+@smallexample
+gcc-auto-profile -c 1000000 program
+@end smallexample
+
+Or only profile representative run intervals of the program:
+
+@smallexample
+gcc-auto-profile -p PID-OF-PROGRAM sleep 5
+@end smallexample
+
+Profile complete system for 10 seconds (may require root)
+
+@smallexample
+gcc-auto-profile -a sleep 10
 @end smallexample
 
 Then use the @command{create_gcov} tool to convert the raw profile data
@@ -8266,7 +8287,7 @@ See @uref{https://github.com/google/autofdo}.
 E.g.
 @smallexample
 create_gcov --binary=your_program.unstripped --profile=perf.data \
-    --gcov=profile.afdo
+    --gcov=profile.afdo -gcov_version 1
 @end smallexample
 @end table
 
diff --git a/gcc/gcc-auto-profile b/gcc/gcc-auto-profile
new file mode 100755
index 0000000..c6712b2
--- /dev/null
+++ b/gcc/gcc-auto-profile
@@ -0,0 +1,70 @@
+#!/bin/sh
+# profile workload for gcc profile feedback (autofdo) using Linux perf
+# auto generated. to regenerate for new CPUs run
+# contrib/gen_autofdo_event.py --shell --all in gcc source
+
+# usages:
+# gcc-auto-profile program             (profile program and children)
+# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
+# gcc-auto-profile -p PID sleep X      (profile PID)
+# gcc-auto-profile --kernel -a sleep X (profile kernel)
+# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
+
+# identify branches taken event for CPU
+#
+
+FLAGS=u
+
+if [ "$1" = "--kernel" ] ; then
+  FLAGS=k
+  shift
+fi
+if [ "$1" == "--all" ] ; then
+  FLAGS=uk
+  shift
+fi
+
+if ! grep -q Intel /proc/cpuinfo ] ; then
+  echo >&2 "Only Intel CPUs supported"
+  exit 1
+fi
+
+if grep -q hypervisor /proc/cpuinfo ; then
+  echo >&2 "Warning: branch profiling may not be functional in VMs"
+fi
+
+case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
+  egrep "^model\s*:" /proc/cpuinfo | head -1` in
+model*:\ 55|\
+model*:\ 77|\
+model*:\ 76) E="cpu/event=0xC4,umask=0xFE/p$FLAGS" ;;
+model*:\ 42|\
+model*:\ 45|\
+model*:\ 58|\
+model*:\ 62|\
+model*:\ 60|\
+model*:\ 69|\
+model*:\ 70|\
+model*:\ 63|\
+model*:\ 61|\
+model*:\ 71|\
+model*:\ 86|\
+model*:\ 78|\
+model*:\ 94) E="cpu/event=0xC4,umask=0x20/p$FLAGS" ;;
+model*:\ 46|\
+model*:\ 30|\
+model*:\ 31|\
+model*:\ 26|\
+model*:\ 47|\
+model*:\ 37|\
+model*:\ 44) E="cpu/event=0x88,umask=0x40/p$FLAGS" ;;
+model*:\ 28|\
+model*:\ 38|\
+model*:\ 39|\
+model*:\ 54|\
+model*:\ 53) E="cpu/event=0x88,umask=0x41/p$FLAGS" ;;
+*)
+echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
+	exit 1 ;;
+esac
+exec perf record -e $E -b "$@"
-- 
2.7.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 4/4] Add make autoprofiledbootstrap
  2016-03-28  4:49   ` [PATCH 3/4] Run profile feedback tests with autofdo Andi Kleen
@ 2016-03-28  9:45     ` Andi Kleen
  2016-04-27 15:36       ` Bernd Schmidt
  2016-04-27 15:27     ` [PATCH 3/4] Run profile feedback tests with autofdo Bernd Schmidt
  1 sibling, 1 reply; 15+ messages in thread
From: Andi Kleen @ 2016-03-28  9:45 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

Add support for profiledbootstrap with autofdo. Will be useful
to get better testing coverage of autofdo.

This requires Linux perf and autofdo to be installed, only
really for x86_64 linux on Intel so far.

Profile the whole build process with perf, then convert the file,
and pass it back to the compiler in the feedback stage.

The conversion has to be done per language, as only that knows
the name of the binary. Currently we only do it for C and C++,
as the other languages don't have enough coverage during a normal
bootstrap.

For lto1 it is also disabled, because it would only be useful during a LTO
bootstrap, but right now autofdo and LTO are not working together due to
PR66229

For common backend files always the profile output of the C++ compiler
is used. In theory multiple inputs could be merged here, but so far
that is not implemented.

The method is not friendly to partial rebuilds, as only the profile
information from the current rebuild is used. So if an error
occurs it is best to clean and restart, otherwise the code
quality may be worse.

This patch is fairly large, but most of it is auto generated from
autogen in Makefile.in. for the new stage targets.

Passes profiledbootstrap and normal bootstrap on x86_64-linux.
autoprofiledbootstrap is currently not working due to
PR70427 (but it finishes with that worked around)

The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for
profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for
profiledfeedback)

Ok for stage1?

gcc/lto/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* Make-lang.in: Add support for autofdo (disabled for now)

gcc/cp/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* Make-lang.in: Add support for autofdo.

gcc/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* Makefile.in: Regenerate.
	* doc/install.texi: Document autoprofiledbootstrap.

/:
2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* Makefile.def: Add autoprofiledbootstrap.
	* Makefile.tpl: Dito.
	* Makefile.in: Regenerate.

gcc/c/:

2016-03-27  Andi Kleen  <ak@linux.intel.com>

	* Make-lang.in: Add support for autofdo.
---
 Makefile.def         |    7 +
 Makefile.in          | 5781 ++++++++++++++++++++++++++++++++++++++++++++++++--
 Makefile.tpl         |   17 +-
 gcc/Makefile.in      |    9 +-
 gcc/c/Make-lang.in   |   14 +
 gcc/cp/Make-lang.in  |   14 +-
 gcc/doc/install.texi |   11 +
 gcc/lto/Make-lang.in |   14 +-
 8 files changed, 5692 insertions(+), 175 deletions(-)

diff --git a/Makefile.def b/Makefile.def
index ea8453e..8a36963 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -638,3 +638,10 @@ bootstrap_stage = {
 bootstrap_stage = {
 	id=feedback ; prev=profile ;
 	bootstrap_target=profiledbootstrap ; };
+bootstrap_stage = {
+	id=autoprofile ; prev=1 ;
+        autoprofile="$$s/gcc/$(AUTO_PROFILE)" ; };
+bootstrap_stage = {
+	id=autofeedback ; prev=autoprofile ;
+	bootstrap_target=autoprofiledbootstrap ;
+	profile_data="PERF_DATA=perf.data" ; };
diff --git a/Makefile.in b/Makefile.in
index a519a54..b17b4b2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -379,6 +379,8 @@ MAKEINFO = @MAKEINFO@
 EXPECT = @EXPECT@
 RUNTEST = @RUNTEST@
 
+AUTO_PROFILE = gcc-auto-profile -c 1000000
+
 # This just becomes part of the MAKEINFO definition passed down to
 # sub-makes.  It lets flags be given on the command line while still
 # using the makeinfo from the object tree.
@@ -415,6 +417,9 @@ CXXFLAGS = @CXXFLAGS@
 LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
 GOCFLAGS = $(CFLAGS)
 
+# get from configure?
+CREATE_GCOV = create_gcov
+
 TFLAGS =
 
 # Defaults for all stages; some are overridden below.
@@ -484,6 +489,26 @@ STAGEfeedback_CXXFLAGS = $(STAGEfeedback_CFLAGS)
 STAGEfeedback_TFLAGS = $(STAGE_TFLAGS)
 STAGEfeedback_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
 
+# Defaults for stage autoprofile; some are overridden below.
+STAGEautoprofile_CFLAGS = $(STAGE_CFLAGS)
+STAGEautoprofile_CXXFLAGS = $(CXXFLAGS)
+@if target-libstdc++-v3-bootstrap
+# Override the above if we're bootstrapping C++.
+STAGEautoprofile_CXXFLAGS = $(STAGEautoprofile_CFLAGS)
+@endif target-libstdc++-v3-bootstrap
+STAGEautoprofile_TFLAGS = $(STAGE_TFLAGS)
+STAGEautoprofile_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
+# Defaults for stage autofeedback; some are overridden below.
+STAGEautofeedback_CFLAGS = $(STAGE_CFLAGS)
+STAGEautofeedback_CXXFLAGS = $(CXXFLAGS)
+@if target-libstdc++-v3-bootstrap
+# Override the above if we're bootstrapping C++.
+STAGEautofeedback_CXXFLAGS = $(STAGEautofeedback_CFLAGS)
+@endif target-libstdc++-v3-bootstrap
+STAGEautofeedback_TFLAGS = $(STAGE_TFLAGS)
+STAGEautofeedback_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
+
 
 # By default, C and C++ are the only stage1 languages, because they are the
 # only ones we require to build with the bootstrap compiler, and also the
@@ -509,6 +534,12 @@ STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
 STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
 STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
 
+STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
+STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)
+
+STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
+STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)
+
 do-compare = @do_compare@
 do-compare3 = $(do-compare)
 
@@ -788,6 +819,12 @@ BASE_FLAGS_TO_PASS = \
 	"STAGEfeedback_CFLAGS=$(STAGEfeedback_CFLAGS)" \
 	"STAGEfeedback_CXXFLAGS=$(STAGEfeedback_CXXFLAGS)" \
 	"STAGEfeedback_TFLAGS=$(STAGEfeedback_TFLAGS)" \
+	"STAGEautoprofile_CFLAGS=$(STAGEautoprofile_CFLAGS)" \
+	"STAGEautoprofile_CXXFLAGS=$(STAGEautoprofile_CXXFLAGS)" \
+	"STAGEautoprofile_TFLAGS=$(STAGEautoprofile_TFLAGS)" \
+	"STAGEautofeedback_CFLAGS=$(STAGEautofeedback_CFLAGS)" \
+	"STAGEautofeedback_CXXFLAGS=$(STAGEautofeedback_CXXFLAGS)" \
+	"STAGEautofeedback_TFLAGS=$(STAGEautofeedback_TFLAGS)" \
 	$(CXX_FOR_TARGET_FLAG_TO_PASS) \
 	"TFLAGS=$(TFLAGS)" \
 	"CONFIG_SHELL=$(SHELL)" \
@@ -816,7 +853,8 @@ EXTRA_HOST_FLAGS = \
 	'READELF=$(READELF)' \
 	'STRIP=$(STRIP)' \
 	'WINDRES=$(WINDRES)' \
-	'WINDMC=$(WINDMC)'
+	'WINDMC=$(WINDMC)' \
+	'CREATE_GCOV=$(CREATE_GCOV)'
 
 FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
 
@@ -3392,6 +3430,72 @@ configure-stagefeedback-bfd:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif bfd-bootstrap
 
+.PHONY: configure-stageautoprofile-bfd maybe-configure-stageautoprofile-bfd
+maybe-configure-stageautoprofile-bfd:
+@if bfd-bootstrap
+maybe-configure-stageautoprofile-bfd: configure-stageautoprofile-bfd
+configure-stageautoprofile-bfd:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/bfd/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)/bfd; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd; \
+	cd $(HOST_SUBDIR)/bfd || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=bfd; \
+	$(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 bfd-bootstrap
+
+.PHONY: configure-stageautofeedback-bfd maybe-configure-stageautofeedback-bfd
+maybe-configure-stageautofeedback-bfd:
+@if bfd-bootstrap
+maybe-configure-stageautofeedback-bfd: configure-stageautofeedback-bfd
+configure-stageautofeedback-bfd:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/bfd/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)/bfd; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd; \
+	cd $(HOST_SUBDIR)/bfd || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=bfd; \
+	$(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 bfd-bootstrap
+
 
 
 
@@ -3430,6 +3534,7 @@ all-stage1-bfd: configure-stage1-bfd
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -3439,7 +3544,7 @@ all-stage1-bfd: configure-stage1-bfd
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-bfd)
 
 maybe-clean-stage1-bfd: clean-stage1-bfd
@@ -3473,6 +3578,7 @@ all-stage2-bfd: configure-stage2-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -3481,7 +3587,7 @@ all-stage2-bfd: configure-stage2-bfd
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-bfd)
 
 maybe-clean-stage2-bfd: clean-stage2-bfd
@@ -3514,6 +3620,7 @@ all-stage3-bfd: configure-stage3-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -3522,7 +3629,7 @@ all-stage3-bfd: configure-stage3-bfd
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-bfd)
 
 maybe-clean-stage3-bfd: clean-stage3-bfd
@@ -3555,6 +3662,7 @@ all-stage4-bfd: configure-stage4-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -3563,7 +3671,7 @@ all-stage4-bfd: configure-stage4-bfd
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-bfd)
 
 maybe-clean-stage4-bfd: clean-stage4-bfd
@@ -3596,6 +3704,7 @@ all-stageprofile-bfd: configure-stageprofile-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -3604,7 +3713,7 @@ all-stageprofile-bfd: configure-stageprofile-bfd
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-bfd)
 
 maybe-clean-stageprofile-bfd: clean-stageprofile-bfd
@@ -3637,6 +3746,7 @@ all-stagefeedback-bfd: configure-stagefeedback-bfd
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/bfd && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -3645,7 +3755,7 @@ all-stagefeedback-bfd: configure-stagefeedback-bfd
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-bfd)
 
 maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd
@@ -3662,6 +3772,90 @@ clean-stagefeedback-bfd:
 @endif bfd-bootstrap
 
 
+.PHONY: all-stageautoprofile-bfd maybe-all-stageautoprofile-bfd
+.PHONY: clean-stageautoprofile-bfd maybe-clean-stageautoprofile-bfd
+maybe-all-stageautoprofile-bfd:
+maybe-clean-stageautoprofile-bfd:
+@if bfd-bootstrap
+maybe-all-stageautoprofile-bfd: all-stageautoprofile-bfd
+all-stageautoprofile: all-stageautoprofile-bfd
+TARGET-stageautoprofile-bfd = $(TARGET-bfd)
+all-stageautoprofile-bfd: configure-stageautoprofile-bfd
+	@[ $(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)/bfd && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-bfd)
+
+maybe-clean-stageautoprofile-bfd: clean-stageautoprofile-bfd
+clean-stageautoprofile: clean-stageautoprofile-bfd
+clean-stageautoprofile-bfd:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/bfd/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-bfd/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/bfd && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif bfd-bootstrap
+
+
+.PHONY: all-stageautofeedback-bfd maybe-all-stageautofeedback-bfd
+.PHONY: clean-stageautofeedback-bfd maybe-clean-stageautofeedback-bfd
+maybe-all-stageautofeedback-bfd:
+maybe-clean-stageautofeedback-bfd:
+@if bfd-bootstrap
+maybe-all-stageautofeedback-bfd: all-stageautofeedback-bfd
+all-stageautofeedback: all-stageautofeedback-bfd
+TARGET-stageautofeedback-bfd = $(TARGET-bfd)
+all-stageautofeedback-bfd: configure-stageautofeedback-bfd
+	@[ $(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)/bfd && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-bfd)
+
+maybe-clean-stageautofeedback-bfd: clean-stageautofeedback-bfd
+clean-stageautofeedback: clean-stageautofeedback-bfd
+clean-stageautofeedback-bfd:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/bfd/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-bfd/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/bfd && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif bfd-bootstrap
+
+
 
 
 
@@ -4266,6 +4460,72 @@ configure-stagefeedback-opcodes:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif opcodes-bootstrap
 
+.PHONY: configure-stageautoprofile-opcodes maybe-configure-stageautoprofile-opcodes
+maybe-configure-stageautoprofile-opcodes:
+@if opcodes-bootstrap
+maybe-configure-stageautoprofile-opcodes: configure-stageautoprofile-opcodes
+configure-stageautoprofile-opcodes:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/opcodes/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)/opcodes; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes; \
+	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=opcodes; \
+	$(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 opcodes-bootstrap
+
+.PHONY: configure-stageautofeedback-opcodes maybe-configure-stageautofeedback-opcodes
+maybe-configure-stageautofeedback-opcodes:
+@if opcodes-bootstrap
+maybe-configure-stageautofeedback-opcodes: configure-stageautofeedback-opcodes
+configure-stageautofeedback-opcodes:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/opcodes/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)/opcodes; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes; \
+	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=opcodes; \
+	$(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 opcodes-bootstrap
+
 
 
 
@@ -4304,6 +4564,7 @@ all-stage1-opcodes: configure-stage1-opcodes
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -4313,7 +4574,7 @@ all-stage1-opcodes: configure-stage1-opcodes
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-opcodes)
 
 maybe-clean-stage1-opcodes: clean-stage1-opcodes
@@ -4347,6 +4608,7 @@ all-stage2-opcodes: configure-stage2-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -4355,7 +4617,7 @@ all-stage2-opcodes: configure-stage2-opcodes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-opcodes)
 
 maybe-clean-stage2-opcodes: clean-stage2-opcodes
@@ -4388,6 +4650,7 @@ all-stage3-opcodes: configure-stage3-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -4396,7 +4659,7 @@ all-stage3-opcodes: configure-stage3-opcodes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-opcodes)
 
 maybe-clean-stage3-opcodes: clean-stage3-opcodes
@@ -4429,6 +4692,7 @@ all-stage4-opcodes: configure-stage4-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -4437,7 +4701,7 @@ all-stage4-opcodes: configure-stage4-opcodes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-opcodes)
 
 maybe-clean-stage4-opcodes: clean-stage4-opcodes
@@ -4470,6 +4734,7 @@ all-stageprofile-opcodes: configure-stageprofile-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -4478,7 +4743,7 @@ all-stageprofile-opcodes: configure-stageprofile-opcodes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-opcodes)
 
 maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes
@@ -4511,6 +4776,7 @@ all-stagefeedback-opcodes: configure-stagefeedback-opcodes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/opcodes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -4519,7 +4785,7 @@ all-stagefeedback-opcodes: configure-stagefeedback-opcodes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-opcodes)
 
 maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes
@@ -4536,6 +4802,90 @@ clean-stagefeedback-opcodes:
 @endif opcodes-bootstrap
 
 
+.PHONY: all-stageautoprofile-opcodes maybe-all-stageautoprofile-opcodes
+.PHONY: clean-stageautoprofile-opcodes maybe-clean-stageautoprofile-opcodes
+maybe-all-stageautoprofile-opcodes:
+maybe-clean-stageautoprofile-opcodes:
+@if opcodes-bootstrap
+maybe-all-stageautoprofile-opcodes: all-stageautoprofile-opcodes
+all-stageautoprofile: all-stageautoprofile-opcodes
+TARGET-stageautoprofile-opcodes = $(TARGET-opcodes)
+all-stageautoprofile-opcodes: configure-stageautoprofile-opcodes
+	@[ $(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)/opcodes && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-opcodes)
+
+maybe-clean-stageautoprofile-opcodes: clean-stageautoprofile-opcodes
+clean-stageautoprofile: clean-stageautoprofile-opcodes
+clean-stageautoprofile-opcodes:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/opcodes/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-opcodes/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/opcodes && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif opcodes-bootstrap
+
+
+.PHONY: all-stageautofeedback-opcodes maybe-all-stageautofeedback-opcodes
+.PHONY: clean-stageautofeedback-opcodes maybe-clean-stageautofeedback-opcodes
+maybe-all-stageautofeedback-opcodes:
+maybe-clean-stageautofeedback-opcodes:
+@if opcodes-bootstrap
+maybe-all-stageautofeedback-opcodes: all-stageautofeedback-opcodes
+all-stageautofeedback: all-stageautofeedback-opcodes
+TARGET-stageautofeedback-opcodes = $(TARGET-opcodes)
+all-stageautofeedback-opcodes: configure-stageautofeedback-opcodes
+	@[ $(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)/opcodes && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-opcodes)
+
+maybe-clean-stageautofeedback-opcodes: clean-stageautofeedback-opcodes
+clean-stageautofeedback: clean-stageautofeedback-opcodes
+clean-stageautofeedback-opcodes:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/opcodes/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-opcodes/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/opcodes && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif opcodes-bootstrap
+
+
 
 
 
@@ -5140,6 +5490,72 @@ configure-stagefeedback-binutils:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif binutils-bootstrap
 
+.PHONY: configure-stageautoprofile-binutils maybe-configure-stageautoprofile-binutils
+maybe-configure-stageautoprofile-binutils:
+@if binutils-bootstrap
+maybe-configure-stageautoprofile-binutils: configure-stageautoprofile-binutils
+configure-stageautoprofile-binutils:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/binutils/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)/binutils; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils; \
+	cd $(HOST_SUBDIR)/binutils || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=binutils; \
+	$(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 binutils-bootstrap
+
+.PHONY: configure-stageautofeedback-binutils maybe-configure-stageautofeedback-binutils
+maybe-configure-stageautofeedback-binutils:
+@if binutils-bootstrap
+maybe-configure-stageautofeedback-binutils: configure-stageautofeedback-binutils
+configure-stageautofeedback-binutils:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/binutils/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)/binutils; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils; \
+	cd $(HOST_SUBDIR)/binutils || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=binutils; \
+	$(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 binutils-bootstrap
+
 
 
 
@@ -5178,6 +5594,7 @@ all-stage1-binutils: configure-stage1-binutils
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -5187,7 +5604,7 @@ all-stage1-binutils: configure-stage1-binutils
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-binutils)
 
 maybe-clean-stage1-binutils: clean-stage1-binutils
@@ -5221,6 +5638,7 @@ all-stage2-binutils: configure-stage2-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -5229,7 +5647,7 @@ all-stage2-binutils: configure-stage2-binutils
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-binutils)
 
 maybe-clean-stage2-binutils: clean-stage2-binutils
@@ -5262,6 +5680,7 @@ all-stage3-binutils: configure-stage3-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -5270,7 +5689,7 @@ all-stage3-binutils: configure-stage3-binutils
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-binutils)
 
 maybe-clean-stage3-binutils: clean-stage3-binutils
@@ -5303,6 +5722,7 @@ all-stage4-binutils: configure-stage4-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -5311,7 +5731,7 @@ all-stage4-binutils: configure-stage4-binutils
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-binutils)
 
 maybe-clean-stage4-binutils: clean-stage4-binutils
@@ -5344,6 +5764,7 @@ all-stageprofile-binutils: configure-stageprofile-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -5352,7 +5773,7 @@ all-stageprofile-binutils: configure-stageprofile-binutils
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-binutils)
 
 maybe-clean-stageprofile-binutils: clean-stageprofile-binutils
@@ -5385,6 +5806,7 @@ all-stagefeedback-binutils: configure-stagefeedback-binutils
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/binutils && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -5393,7 +5815,7 @@ all-stagefeedback-binutils: configure-stagefeedback-binutils
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-binutils)
 
 maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils
@@ -5410,6 +5832,90 @@ clean-stagefeedback-binutils:
 @endif binutils-bootstrap
 
 
+.PHONY: all-stageautoprofile-binutils maybe-all-stageautoprofile-binutils
+.PHONY: clean-stageautoprofile-binutils maybe-clean-stageautoprofile-binutils
+maybe-all-stageautoprofile-binutils:
+maybe-clean-stageautoprofile-binutils:
+@if binutils-bootstrap
+maybe-all-stageautoprofile-binutils: all-stageautoprofile-binutils
+all-stageautoprofile: all-stageautoprofile-binutils
+TARGET-stageautoprofile-binutils = $(TARGET-binutils)
+all-stageautoprofile-binutils: configure-stageautoprofile-binutils
+	@[ $(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)/binutils && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-binutils)
+
+maybe-clean-stageautoprofile-binutils: clean-stageautoprofile-binutils
+clean-stageautoprofile: clean-stageautoprofile-binutils
+clean-stageautoprofile-binutils:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/binutils/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-binutils/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/binutils && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif binutils-bootstrap
+
+
+.PHONY: all-stageautofeedback-binutils maybe-all-stageautofeedback-binutils
+.PHONY: clean-stageautofeedback-binutils maybe-clean-stageautofeedback-binutils
+maybe-all-stageautofeedback-binutils:
+maybe-clean-stageautofeedback-binutils:
+@if binutils-bootstrap
+maybe-all-stageautofeedback-binutils: all-stageautofeedback-binutils
+all-stageautofeedback: all-stageautofeedback-binutils
+TARGET-stageautofeedback-binutils = $(TARGET-binutils)
+all-stageautofeedback-binutils: configure-stageautofeedback-binutils
+	@[ $(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)/binutils && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-binutils)
+
+maybe-clean-stageautofeedback-binutils: clean-stageautofeedback-binutils
+clean-stageautofeedback: clean-stageautofeedback-binutils
+clean-stageautofeedback-binutils:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/binutils/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-binutils/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/binutils && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif binutils-bootstrap
+
+
 
 
 
@@ -8225,6 +8731,72 @@ configure-stagefeedback-fixincludes:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif fixincludes-bootstrap
 
+.PHONY: configure-stageautoprofile-fixincludes maybe-configure-stageautoprofile-fixincludes
+maybe-configure-stageautoprofile-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stageautoprofile-fixincludes: configure-stageautoprofile-fixincludes
+configure-stageautoprofile-fixincludes:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/fixincludes/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)/fixincludes; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes; \
+	cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=fixincludes; \
+	$(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 fixincludes-bootstrap
+
+.PHONY: configure-stageautofeedback-fixincludes maybe-configure-stageautofeedback-fixincludes
+maybe-configure-stageautofeedback-fixincludes:
+@if fixincludes-bootstrap
+maybe-configure-stageautofeedback-fixincludes: configure-stageautofeedback-fixincludes
+configure-stageautofeedback-fixincludes:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/fixincludes/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)/fixincludes; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes; \
+	cd $(HOST_SUBDIR)/fixincludes || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=fixincludes; \
+	$(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 fixincludes-bootstrap
+
 
 
 
@@ -8263,6 +8835,7 @@ all-stage1-fixincludes: configure-stage1-fixincludes
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -8272,7 +8845,7 @@ all-stage1-fixincludes: configure-stage1-fixincludes
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-fixincludes)
 
 maybe-clean-stage1-fixincludes: clean-stage1-fixincludes
@@ -8306,6 +8879,7 @@ all-stage2-fixincludes: configure-stage2-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -8314,7 +8888,7 @@ all-stage2-fixincludes: configure-stage2-fixincludes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-fixincludes)
 
 maybe-clean-stage2-fixincludes: clean-stage2-fixincludes
@@ -8347,6 +8921,7 @@ all-stage3-fixincludes: configure-stage3-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -8355,7 +8930,7 @@ all-stage3-fixincludes: configure-stage3-fixincludes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-fixincludes)
 
 maybe-clean-stage3-fixincludes: clean-stage3-fixincludes
@@ -8388,6 +8963,7 @@ all-stage4-fixincludes: configure-stage4-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -8396,7 +8972,7 @@ all-stage4-fixincludes: configure-stage4-fixincludes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-fixincludes)
 
 maybe-clean-stage4-fixincludes: clean-stage4-fixincludes
@@ -8429,6 +9005,7 @@ all-stageprofile-fixincludes: configure-stageprofile-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -8437,7 +9014,7 @@ all-stageprofile-fixincludes: configure-stageprofile-fixincludes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-fixincludes)
 
 maybe-clean-stageprofile-fixincludes: clean-stageprofile-fixincludes
@@ -8470,6 +9047,7 @@ all-stagefeedback-fixincludes: configure-stagefeedback-fixincludes
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/fixincludes && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -8478,7 +9056,7 @@ all-stagefeedback-fixincludes: configure-stagefeedback-fixincludes
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-fixincludes)
 
 maybe-clean-stagefeedback-fixincludes: clean-stagefeedback-fixincludes
@@ -8495,6 +9073,90 @@ clean-stagefeedback-fixincludes:
 @endif fixincludes-bootstrap
 
 
+.PHONY: all-stageautoprofile-fixincludes maybe-all-stageautoprofile-fixincludes
+.PHONY: clean-stageautoprofile-fixincludes maybe-clean-stageautoprofile-fixincludes
+maybe-all-stageautoprofile-fixincludes:
+maybe-clean-stageautoprofile-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stageautoprofile-fixincludes: all-stageautoprofile-fixincludes
+all-stageautoprofile: all-stageautoprofile-fixincludes
+TARGET-stageautoprofile-fixincludes = $(TARGET-fixincludes)
+all-stageautoprofile-fixincludes: configure-stageautoprofile-fixincludes
+	@[ $(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)/fixincludes && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-fixincludes)
+
+maybe-clean-stageautoprofile-fixincludes: clean-stageautoprofile-fixincludes
+clean-stageautoprofile: clean-stageautoprofile-fixincludes
+clean-stageautoprofile-fixincludes:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-fixincludes/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/fixincludes && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif fixincludes-bootstrap
+
+
+.PHONY: all-stageautofeedback-fixincludes maybe-all-stageautofeedback-fixincludes
+.PHONY: clean-stageautofeedback-fixincludes maybe-clean-stageautofeedback-fixincludes
+maybe-all-stageautofeedback-fixincludes:
+maybe-clean-stageautofeedback-fixincludes:
+@if fixincludes-bootstrap
+maybe-all-stageautofeedback-fixincludes: all-stageautofeedback-fixincludes
+all-stageautofeedback: all-stageautofeedback-fixincludes
+TARGET-stageautofeedback-fixincludes = $(TARGET-fixincludes)
+all-stageautofeedback-fixincludes: configure-stageautofeedback-fixincludes
+	@[ $(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)/fixincludes && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-fixincludes)
+
+maybe-clean-stageautofeedback-fixincludes: clean-stageautofeedback-fixincludes
+clean-stageautofeedback: clean-stageautofeedback-fixincludes
+clean-stageautofeedback-fixincludes:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-fixincludes/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/fixincludes && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif fixincludes-bootstrap
+
+
 
 
 
@@ -9528,6 +10190,72 @@ configure-stagefeedback-gas:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif gas-bootstrap
 
+.PHONY: configure-stageautoprofile-gas maybe-configure-stageautoprofile-gas
+maybe-configure-stageautoprofile-gas:
+@if gas-bootstrap
+maybe-configure-stageautoprofile-gas: configure-stageautoprofile-gas
+configure-stageautoprofile-gas:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gas/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)/gas; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas; \
+	cd $(HOST_SUBDIR)/gas || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gas; \
+	$(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 gas-bootstrap
+
+.PHONY: configure-stageautofeedback-gas maybe-configure-stageautofeedback-gas
+maybe-configure-stageautofeedback-gas:
+@if gas-bootstrap
+maybe-configure-stageautofeedback-gas: configure-stageautofeedback-gas
+configure-stageautofeedback-gas:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gas/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)/gas; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas; \
+	cd $(HOST_SUBDIR)/gas || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gas; \
+	$(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 gas-bootstrap
+
 
 
 
@@ -9566,6 +10294,7 @@ all-stage1-gas: configure-stage1-gas
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -9575,7 +10304,7 @@ all-stage1-gas: configure-stage1-gas
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-gas)
 
 maybe-clean-stage1-gas: clean-stage1-gas
@@ -9609,6 +10338,7 @@ all-stage2-gas: configure-stage2-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -9617,7 +10347,7 @@ all-stage2-gas: configure-stage2-gas
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-gas)
 
 maybe-clean-stage2-gas: clean-stage2-gas
@@ -9650,6 +10380,7 @@ all-stage3-gas: configure-stage3-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -9658,7 +10389,7 @@ all-stage3-gas: configure-stage3-gas
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-gas)
 
 maybe-clean-stage3-gas: clean-stage3-gas
@@ -9691,6 +10422,7 @@ all-stage4-gas: configure-stage4-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -9699,7 +10431,7 @@ all-stage4-gas: configure-stage4-gas
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-gas)
 
 maybe-clean-stage4-gas: clean-stage4-gas
@@ -9732,6 +10464,7 @@ all-stageprofile-gas: configure-stageprofile-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -9740,7 +10473,7 @@ all-stageprofile-gas: configure-stageprofile-gas
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-gas)
 
 maybe-clean-stageprofile-gas: clean-stageprofile-gas
@@ -9773,6 +10506,7 @@ all-stagefeedback-gas: configure-stagefeedback-gas
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gas && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -9781,7 +10515,7 @@ all-stagefeedback-gas: configure-stagefeedback-gas
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-gas)
 
 maybe-clean-stagefeedback-gas: clean-stagefeedback-gas
@@ -9798,6 +10532,90 @@ clean-stagefeedback-gas:
 @endif gas-bootstrap
 
 
+.PHONY: all-stageautoprofile-gas maybe-all-stageautoprofile-gas
+.PHONY: clean-stageautoprofile-gas maybe-clean-stageautoprofile-gas
+maybe-all-stageautoprofile-gas:
+maybe-clean-stageautoprofile-gas:
+@if gas-bootstrap
+maybe-all-stageautoprofile-gas: all-stageautoprofile-gas
+all-stageautoprofile: all-stageautoprofile-gas
+TARGET-stageautoprofile-gas = $(TARGET-gas)
+all-stageautoprofile-gas: configure-stageautoprofile-gas
+	@[ $(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)/gas && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-gas)
+
+maybe-clean-stageautoprofile-gas: clean-stageautoprofile-gas
+clean-stageautoprofile: clean-stageautoprofile-gas
+clean-stageautoprofile-gas:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/gas/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-gas/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gas && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gas-bootstrap
+
+
+.PHONY: all-stageautofeedback-gas maybe-all-stageautofeedback-gas
+.PHONY: clean-stageautofeedback-gas maybe-clean-stageautofeedback-gas
+maybe-all-stageautofeedback-gas:
+maybe-clean-stageautofeedback-gas:
+@if gas-bootstrap
+maybe-all-stageautofeedback-gas: all-stageautofeedback-gas
+all-stageautofeedback: all-stageautofeedback-gas
+TARGET-stageautofeedback-gas = $(TARGET-gas)
+all-stageautofeedback-gas: configure-stageautofeedback-gas
+	@[ $(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)/gas && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-gas)
+
+maybe-clean-stageautofeedback-gas: clean-stageautofeedback-gas
+clean-stageautofeedback: clean-stageautofeedback-gas
+clean-stageautofeedback-gas:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/gas/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-gas/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gas && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gas-bootstrap
+
+
 
 
 
@@ -10402,6 +11220,72 @@ configure-stagefeedback-gcc:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif gcc-bootstrap
 
+.PHONY: configure-stageautoprofile-gcc maybe-configure-stageautoprofile-gcc
+maybe-configure-stageautoprofile-gcc:
+@if gcc-bootstrap
+maybe-configure-stageautoprofile-gcc: configure-stageautoprofile-gcc
+configure-stageautoprofile-gcc:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gcc/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)/gcc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc; \
+	cd $(HOST_SUBDIR)/gcc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gcc; \
+	$(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 gcc-bootstrap
+
+.PHONY: configure-stageautofeedback-gcc maybe-configure-stageautofeedback-gcc
+maybe-configure-stageautofeedback-gcc:
+@if gcc-bootstrap
+maybe-configure-stageautofeedback-gcc: configure-stageautofeedback-gcc
+configure-stageautofeedback-gcc:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gcc/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)/gcc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc; \
+	cd $(HOST_SUBDIR)/gcc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gcc; \
+	$(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 gcc-bootstrap
+
 
 
 
@@ -10440,6 +11324,7 @@ all-stage1-gcc: configure-stage1-gcc
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -10449,7 +11334,7 @@ all-stage1-gcc: configure-stage1-gcc
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-gcc)
 
 maybe-clean-stage1-gcc: clean-stage1-gcc
@@ -10483,6 +11368,7 @@ all-stage2-gcc: configure-stage2-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -10491,7 +11377,7 @@ all-stage2-gcc: configure-stage2-gcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-gcc)
 
 maybe-clean-stage2-gcc: clean-stage2-gcc
@@ -10524,6 +11410,7 @@ all-stage3-gcc: configure-stage3-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -10532,7 +11419,7 @@ all-stage3-gcc: configure-stage3-gcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-gcc)
 
 maybe-clean-stage3-gcc: clean-stage3-gcc
@@ -10565,6 +11452,7 @@ all-stage4-gcc: configure-stage4-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -10573,7 +11461,7 @@ all-stage4-gcc: configure-stage4-gcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-gcc)
 
 maybe-clean-stage4-gcc: clean-stage4-gcc
@@ -10606,6 +11494,7 @@ all-stageprofile-gcc: configure-stageprofile-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -10614,7 +11503,7 @@ all-stageprofile-gcc: configure-stageprofile-gcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-gcc)
 
 maybe-clean-stageprofile-gcc: clean-stageprofile-gcc
@@ -10647,6 +11536,7 @@ all-stagefeedback-gcc: configure-stagefeedback-gcc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -10655,7 +11545,7 @@ all-stagefeedback-gcc: configure-stagefeedback-gcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-gcc)
 
 maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc
@@ -10672,6 +11562,90 @@ clean-stagefeedback-gcc:
 @endif gcc-bootstrap
 
 
+.PHONY: all-stageautoprofile-gcc maybe-all-stageautoprofile-gcc
+.PHONY: clean-stageautoprofile-gcc maybe-clean-stageautoprofile-gcc
+maybe-all-stageautoprofile-gcc:
+maybe-clean-stageautoprofile-gcc:
+@if gcc-bootstrap
+maybe-all-stageautoprofile-gcc: all-stageautoprofile-gcc
+all-stageautoprofile: all-stageautoprofile-gcc
+TARGET-stageautoprofile-gcc = $(TARGET-gcc)
+all-stageautoprofile-gcc: configure-stageautoprofile-gcc
+	@[ $(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)/gcc && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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) $(EXTRA_GCC_FLAGS) \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-gcc)
+
+maybe-clean-stageautoprofile-gcc: clean-stageautoprofile-gcc
+clean-stageautoprofile: clean-stageautoprofile-gcc
+clean-stageautoprofile-gcc:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/gcc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-gcc/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gcc && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) clean
+@endif gcc-bootstrap
+
+
+.PHONY: all-stageautofeedback-gcc maybe-all-stageautofeedback-gcc
+.PHONY: clean-stageautofeedback-gcc maybe-clean-stageautofeedback-gcc
+maybe-all-stageautofeedback-gcc:
+maybe-clean-stageautofeedback-gcc:
+@if gcc-bootstrap
+maybe-all-stageautofeedback-gcc: all-stageautofeedback-gcc
+all-stageautofeedback: all-stageautofeedback-gcc
+TARGET-stageautofeedback-gcc = $(TARGET-gcc)
+all-stageautofeedback-gcc: configure-stageautofeedback-gcc
+	@[ $(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)/gcc && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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) $(EXTRA_GCC_FLAGS) \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-gcc)
+
+maybe-clean-stageautofeedback-gcc: clean-stageautofeedback-gcc
+clean-stageautofeedback: clean-stageautofeedback-gcc
+clean-stageautofeedback-gcc:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/gcc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-gcc/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gcc && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) clean
+@endif gcc-bootstrap
+
+
 
 
 
@@ -11282,6 +12256,74 @@ configure-stagefeedback-gmp:
 	  --disable-shared LEX="touch lex.yy.c"
 @endif gmp-bootstrap
 
+.PHONY: configure-stageautoprofile-gmp maybe-configure-stageautoprofile-gmp
+maybe-configure-stageautoprofile-gmp:
+@if gmp-bootstrap
+maybe-configure-stageautoprofile-gmp: configure-stageautoprofile-gmp
+configure-stageautoprofile-gmp:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gmp/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)/gmp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp; \
+	cd $(HOST_SUBDIR)/gmp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gmp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gmp; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+	  --target=none-${host_vendor}-${host_os} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS) \
+	  --disable-shared LEX="touch lex.yy.c"
+@endif gmp-bootstrap
+
+.PHONY: configure-stageautofeedback-gmp maybe-configure-stageautofeedback-gmp
+maybe-configure-stageautofeedback-gmp:
+@if gmp-bootstrap
+maybe-configure-stageautofeedback-gmp: configure-stageautofeedback-gmp
+configure-stageautofeedback-gmp:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gmp/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)/gmp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp; \
+	cd $(HOST_SUBDIR)/gmp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gmp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gmp; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
+	  --target=none-${host_vendor}-${host_os} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS) \
+	  --disable-shared LEX="touch lex.yy.c"
+@endif gmp-bootstrap
+
 
 
 
@@ -11320,6 +12362,7 @@ all-stage1-gmp: configure-stage1-gmp
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -11329,7 +12372,7 @@ all-stage1-gmp: configure-stage1-gmp
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-gmp)
 
 maybe-clean-stage1-gmp: clean-stage1-gmp
@@ -11363,6 +12406,7 @@ all-stage2-gmp: configure-stage2-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -11371,7 +12415,7 @@ all-stage2-gmp: configure-stage2-gmp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-gmp)
 
 maybe-clean-stage2-gmp: clean-stage2-gmp
@@ -11404,6 +12448,7 @@ all-stage3-gmp: configure-stage3-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -11412,7 +12457,7 @@ all-stage3-gmp: configure-stage3-gmp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-gmp)
 
 maybe-clean-stage3-gmp: clean-stage3-gmp
@@ -11445,6 +12490,7 @@ all-stage4-gmp: configure-stage4-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -11453,7 +12499,7 @@ all-stage4-gmp: configure-stage4-gmp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-gmp)
 
 maybe-clean-stage4-gmp: clean-stage4-gmp
@@ -11486,6 +12532,7 @@ all-stageprofile-gmp: configure-stageprofile-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -11494,7 +12541,7 @@ all-stageprofile-gmp: configure-stageprofile-gmp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-gmp)
 
 maybe-clean-stageprofile-gmp: clean-stageprofile-gmp
@@ -11527,6 +12574,7 @@ all-stagefeedback-gmp: configure-stagefeedback-gmp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gmp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -11535,7 +12583,7 @@ all-stagefeedback-gmp: configure-stagefeedback-gmp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-gmp)
 
 maybe-clean-stagefeedback-gmp: clean-stagefeedback-gmp
@@ -11552,6 +12600,90 @@ clean-stagefeedback-gmp:
 @endif gmp-bootstrap
 
 
+.PHONY: all-stageautoprofile-gmp maybe-all-stageautoprofile-gmp
+.PHONY: clean-stageautoprofile-gmp maybe-clean-stageautoprofile-gmp
+maybe-all-stageautoprofile-gmp:
+maybe-clean-stageautoprofile-gmp:
+@if gmp-bootstrap
+maybe-all-stageautoprofile-gmp: all-stageautoprofile-gmp
+all-stageautoprofile: all-stageautoprofile-gmp
+TARGET-stageautoprofile-gmp = $(TARGET-gmp)
+all-stageautoprofile-gmp: configure-stageautoprofile-gmp
+	@[ $(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)/gmp && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-gmp)
+
+maybe-clean-stageautoprofile-gmp: clean-stageautoprofile-gmp
+clean-stageautoprofile: clean-stageautoprofile-gmp
+clean-stageautoprofile-gmp:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/gmp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-gmp/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gmp && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gmp-bootstrap
+
+
+.PHONY: all-stageautofeedback-gmp maybe-all-stageautofeedback-gmp
+.PHONY: clean-stageautofeedback-gmp maybe-clean-stageautofeedback-gmp
+maybe-all-stageautofeedback-gmp:
+maybe-clean-stageautofeedback-gmp:
+@if gmp-bootstrap
+maybe-all-stageautofeedback-gmp: all-stageautofeedback-gmp
+all-stageautofeedback: all-stageautofeedback-gmp
+TARGET-stageautofeedback-gmp = $(TARGET-gmp)
+all-stageautofeedback-gmp: configure-stageautofeedback-gmp
+	@[ $(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)/gmp && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-gmp)
+
+maybe-clean-stageautofeedback-gmp: clean-stageautofeedback-gmp
+clean-stageautofeedback: clean-stageautofeedback-gmp
+clean-stageautofeedback-gmp:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/gmp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-gmp/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gmp && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gmp-bootstrap
+
+
 
 
 
@@ -12150,6 +13282,74 @@ configure-stagefeedback-mpfr:
 	  --disable-shared @extra_mpfr_configure_flags@
 @endif mpfr-bootstrap
 
+.PHONY: configure-stageautoprofile-mpfr maybe-configure-stageautoprofile-mpfr
+maybe-configure-stageautoprofile-mpfr:
+@if mpfr-bootstrap
+maybe-configure-stageautoprofile-mpfr: configure-stageautoprofile-mpfr
+configure-stageautoprofile-mpfr:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/mpfr/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)/mpfr; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr; \
+	cd $(HOST_SUBDIR)/mpfr || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/mpfr/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=mpfr; \
+	$(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) \
+	  --disable-shared @extra_mpfr_configure_flags@
+@endif mpfr-bootstrap
+
+.PHONY: configure-stageautofeedback-mpfr maybe-configure-stageautofeedback-mpfr
+maybe-configure-stageautofeedback-mpfr:
+@if mpfr-bootstrap
+maybe-configure-stageautofeedback-mpfr: configure-stageautofeedback-mpfr
+configure-stageautofeedback-mpfr:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/mpfr/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)/mpfr; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr; \
+	cd $(HOST_SUBDIR)/mpfr || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/mpfr/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=mpfr; \
+	$(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) \
+	  --disable-shared @extra_mpfr_configure_flags@
+@endif mpfr-bootstrap
+
 
 
 
@@ -12188,6 +13388,7 @@ all-stage1-mpfr: configure-stage1-mpfr
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -12197,7 +13398,7 @@ all-stage1-mpfr: configure-stage1-mpfr
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-mpfr)
 
 maybe-clean-stage1-mpfr: clean-stage1-mpfr
@@ -12231,6 +13432,7 @@ all-stage2-mpfr: configure-stage2-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -12239,7 +13441,7 @@ all-stage2-mpfr: configure-stage2-mpfr
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-mpfr)
 
 maybe-clean-stage2-mpfr: clean-stage2-mpfr
@@ -12272,6 +13474,7 @@ all-stage3-mpfr: configure-stage3-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -12280,7 +13483,7 @@ all-stage3-mpfr: configure-stage3-mpfr
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-mpfr)
 
 maybe-clean-stage3-mpfr: clean-stage3-mpfr
@@ -12313,6 +13516,7 @@ all-stage4-mpfr: configure-stage4-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -12321,7 +13525,7 @@ all-stage4-mpfr: configure-stage4-mpfr
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-mpfr)
 
 maybe-clean-stage4-mpfr: clean-stage4-mpfr
@@ -12354,6 +13558,7 @@ all-stageprofile-mpfr: configure-stageprofile-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -12362,7 +13567,7 @@ all-stageprofile-mpfr: configure-stageprofile-mpfr
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-mpfr)
 
 maybe-clean-stageprofile-mpfr: clean-stageprofile-mpfr
@@ -12395,6 +13600,7 @@ all-stagefeedback-mpfr: configure-stagefeedback-mpfr
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpfr && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -12403,7 +13609,7 @@ all-stagefeedback-mpfr: configure-stagefeedback-mpfr
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-mpfr)
 
 maybe-clean-stagefeedback-mpfr: clean-stagefeedback-mpfr
@@ -12420,6 +13626,90 @@ clean-stagefeedback-mpfr:
 @endif mpfr-bootstrap
 
 
+.PHONY: all-stageautoprofile-mpfr maybe-all-stageautoprofile-mpfr
+.PHONY: clean-stageautoprofile-mpfr maybe-clean-stageautoprofile-mpfr
+maybe-all-stageautoprofile-mpfr:
+maybe-clean-stageautoprofile-mpfr:
+@if mpfr-bootstrap
+maybe-all-stageautoprofile-mpfr: all-stageautoprofile-mpfr
+all-stageautoprofile: all-stageautoprofile-mpfr
+TARGET-stageautoprofile-mpfr = $(TARGET-mpfr)
+all-stageautoprofile-mpfr: configure-stageautoprofile-mpfr
+	@[ $(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)/mpfr && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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) AM_CFLAGS="-DNO_ASM" \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-mpfr)
+
+maybe-clean-stageautoprofile-mpfr: clean-stageautoprofile-mpfr
+clean-stageautoprofile: clean-stageautoprofile-mpfr
+clean-stageautoprofile-mpfr:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/mpfr/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-mpfr/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/mpfr && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
+@endif mpfr-bootstrap
+
+
+.PHONY: all-stageautofeedback-mpfr maybe-all-stageautofeedback-mpfr
+.PHONY: clean-stageautofeedback-mpfr maybe-clean-stageautofeedback-mpfr
+maybe-all-stageautofeedback-mpfr:
+maybe-clean-stageautofeedback-mpfr:
+@if mpfr-bootstrap
+maybe-all-stageautofeedback-mpfr: all-stageautofeedback-mpfr
+all-stageautofeedback: all-stageautofeedback-mpfr
+TARGET-stageautofeedback-mpfr = $(TARGET-mpfr)
+all-stageautofeedback-mpfr: configure-stageautofeedback-mpfr
+	@[ $(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)/mpfr && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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) AM_CFLAGS="-DNO_ASM" \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-mpfr)
+
+maybe-clean-stageautofeedback-mpfr: clean-stageautofeedback-mpfr
+clean-stageautofeedback: clean-stageautofeedback-mpfr
+clean-stageautofeedback-mpfr:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/mpfr/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-mpfr/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/mpfr && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
+@endif mpfr-bootstrap
+
+
 
 
 
@@ -13018,6 +14308,74 @@ configure-stagefeedback-mpc:
 	  --disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@
 @endif mpc-bootstrap
 
+.PHONY: configure-stageautoprofile-mpc maybe-configure-stageautoprofile-mpc
+maybe-configure-stageautoprofile-mpc:
+@if mpc-bootstrap
+maybe-configure-stageautoprofile-mpc: configure-stageautoprofile-mpc
+configure-stageautoprofile-mpc:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/mpc/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)/mpc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc; \
+	cd $(HOST_SUBDIR)/mpc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/mpc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=mpc; \
+	$(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) \
+	  --disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@
+@endif mpc-bootstrap
+
+.PHONY: configure-stageautofeedback-mpc maybe-configure-stageautofeedback-mpc
+maybe-configure-stageautofeedback-mpc:
+@if mpc-bootstrap
+maybe-configure-stageautofeedback-mpc: configure-stageautofeedback-mpc
+configure-stageautofeedback-mpc:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/mpc/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)/mpc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpc; \
+	cd $(HOST_SUBDIR)/mpc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/mpc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=mpc; \
+	$(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) \
+	  --disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@
+@endif mpc-bootstrap
+
 
 
 
@@ -13056,6 +14414,7 @@ all-stage1-mpc: configure-stage1-mpc
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -13065,7 +14424,7 @@ all-stage1-mpc: configure-stage1-mpc
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-mpc)
 
 maybe-clean-stage1-mpc: clean-stage1-mpc
@@ -13099,6 +14458,7 @@ all-stage2-mpc: configure-stage2-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -13107,7 +14467,7 @@ all-stage2-mpc: configure-stage2-mpc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-mpc)
 
 maybe-clean-stage2-mpc: clean-stage2-mpc
@@ -13140,6 +14500,7 @@ all-stage3-mpc: configure-stage3-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -13148,7 +14509,7 @@ all-stage3-mpc: configure-stage3-mpc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-mpc)
 
 maybe-clean-stage3-mpc: clean-stage3-mpc
@@ -13181,6 +14542,7 @@ all-stage4-mpc: configure-stage4-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -13189,7 +14551,7 @@ all-stage4-mpc: configure-stage4-mpc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-mpc)
 
 maybe-clean-stage4-mpc: clean-stage4-mpc
@@ -13222,6 +14584,7 @@ all-stageprofile-mpc: configure-stageprofile-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -13230,7 +14593,7 @@ all-stageprofile-mpc: configure-stageprofile-mpc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-mpc)
 
 maybe-clean-stageprofile-mpc: clean-stageprofile-mpc
@@ -13263,6 +14626,7 @@ all-stagefeedback-mpc: configure-stagefeedback-mpc
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/mpc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -13271,7 +14635,7 @@ all-stagefeedback-mpc: configure-stagefeedback-mpc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-mpc)
 
 maybe-clean-stagefeedback-mpc: clean-stagefeedback-mpc
@@ -13288,6 +14652,90 @@ clean-stagefeedback-mpc:
 @endif mpc-bootstrap
 
 
+.PHONY: all-stageautoprofile-mpc maybe-all-stageautoprofile-mpc
+.PHONY: clean-stageautoprofile-mpc maybe-clean-stageautoprofile-mpc
+maybe-all-stageautoprofile-mpc:
+maybe-clean-stageautoprofile-mpc:
+@if mpc-bootstrap
+maybe-all-stageautoprofile-mpc: all-stageautoprofile-mpc
+all-stageautoprofile: all-stageautoprofile-mpc
+TARGET-stageautoprofile-mpc = $(TARGET-mpc)
+all-stageautoprofile-mpc: configure-stageautoprofile-mpc
+	@[ $(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)/mpc && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-mpc)
+
+maybe-clean-stageautoprofile-mpc: clean-stageautoprofile-mpc
+clean-stageautoprofile: clean-stageautoprofile-mpc
+clean-stageautoprofile-mpc:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/mpc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-mpc/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/mpc && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif mpc-bootstrap
+
+
+.PHONY: all-stageautofeedback-mpc maybe-all-stageautofeedback-mpc
+.PHONY: clean-stageautofeedback-mpc maybe-clean-stageautofeedback-mpc
+maybe-all-stageautofeedback-mpc:
+maybe-clean-stageautofeedback-mpc:
+@if mpc-bootstrap
+maybe-all-stageautofeedback-mpc: all-stageautofeedback-mpc
+all-stageautofeedback: all-stageautofeedback-mpc
+TARGET-stageautofeedback-mpc = $(TARGET-mpc)
+all-stageautofeedback-mpc: configure-stageautofeedback-mpc
+	@[ $(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)/mpc && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-mpc)
+
+maybe-clean-stageautofeedback-mpc: clean-stageautofeedback-mpc
+clean-stageautofeedback: clean-stageautofeedback-mpc
+clean-stageautofeedback-mpc:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/mpc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-mpc/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/mpc && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif mpc-bootstrap
+
+
 
 
 
@@ -13886,6 +15334,74 @@ configure-stagefeedback-isl:
 	  --disable-shared @extra_isl_gmp_configure_flags@
 @endif isl-bootstrap
 
+.PHONY: configure-stageautoprofile-isl maybe-configure-stageautoprofile-isl
+maybe-configure-stageautoprofile-isl:
+@if isl-bootstrap
+maybe-configure-stageautoprofile-isl: configure-stageautoprofile-isl
+configure-stageautoprofile-isl:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/isl
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/isl/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)/isl; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/isl; \
+	cd $(HOST_SUBDIR)/isl || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/isl/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=isl; \
+	$(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) \
+	  --disable-shared @extra_isl_gmp_configure_flags@
+@endif isl-bootstrap
+
+.PHONY: configure-stageautofeedback-isl maybe-configure-stageautofeedback-isl
+maybe-configure-stageautofeedback-isl:
+@if isl-bootstrap
+maybe-configure-stageautofeedback-isl: configure-stageautofeedback-isl
+configure-stageautofeedback-isl:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/isl
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/isl/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)/isl; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/isl; \
+	cd $(HOST_SUBDIR)/isl || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/isl/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=isl; \
+	$(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) \
+	  --disable-shared @extra_isl_gmp_configure_flags@
+@endif isl-bootstrap
+
 
 
 
@@ -13924,6 +15440,7 @@ all-stage1-isl: configure-stage1-isl
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -13933,7 +15450,7 @@ all-stage1-isl: configure-stage1-isl
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-isl)
 
 maybe-clean-stage1-isl: clean-stage1-isl
@@ -13967,6 +15484,7 @@ all-stage2-isl: configure-stage2-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -13975,7 +15493,7 @@ all-stage2-isl: configure-stage2-isl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-isl)
 
 maybe-clean-stage2-isl: clean-stage2-isl
@@ -14008,6 +15526,7 @@ all-stage3-isl: configure-stage3-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -14016,7 +15535,7 @@ all-stage3-isl: configure-stage3-isl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-isl)
 
 maybe-clean-stage3-isl: clean-stage3-isl
@@ -14049,6 +15568,7 @@ all-stage4-isl: configure-stage4-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -14057,7 +15577,7 @@ all-stage4-isl: configure-stage4-isl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-isl)
 
 maybe-clean-stage4-isl: clean-stage4-isl
@@ -14090,6 +15610,7 @@ all-stageprofile-isl: configure-stageprofile-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -14098,7 +15619,7 @@ all-stageprofile-isl: configure-stageprofile-isl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-isl)
 
 maybe-clean-stageprofile-isl: clean-stageprofile-isl
@@ -14131,6 +15652,7 @@ all-stagefeedback-isl: configure-stagefeedback-isl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/isl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -14139,7 +15661,7 @@ all-stagefeedback-isl: configure-stagefeedback-isl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-isl)
 
 maybe-clean-stagefeedback-isl: clean-stagefeedback-isl
@@ -14156,6 +15678,90 @@ clean-stagefeedback-isl:
 @endif isl-bootstrap
 
 
+.PHONY: all-stageautoprofile-isl maybe-all-stageautoprofile-isl
+.PHONY: clean-stageautoprofile-isl maybe-clean-stageautoprofile-isl
+maybe-all-stageautoprofile-isl:
+maybe-clean-stageautoprofile-isl:
+@if isl-bootstrap
+maybe-all-stageautoprofile-isl: all-stageautoprofile-isl
+all-stageautoprofile: all-stageautoprofile-isl
+TARGET-stageautoprofile-isl = $(TARGET-isl)
+all-stageautoprofile-isl: configure-stageautoprofile-isl
+	@[ $(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)/isl && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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) V=1 \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-isl)
+
+maybe-clean-stageautoprofile-isl: clean-stageautoprofile-isl
+clean-stageautoprofile: clean-stageautoprofile-isl
+clean-stageautoprofile-isl:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/isl/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-isl/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/isl && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 clean
+@endif isl-bootstrap
+
+
+.PHONY: all-stageautofeedback-isl maybe-all-stageautofeedback-isl
+.PHONY: clean-stageautofeedback-isl maybe-clean-stageautofeedback-isl
+maybe-all-stageautofeedback-isl:
+maybe-clean-stageautofeedback-isl:
+@if isl-bootstrap
+maybe-all-stageautofeedback-isl: all-stageautofeedback-isl
+all-stageautofeedback: all-stageautofeedback-isl
+TARGET-stageautofeedback-isl = $(TARGET-isl)
+all-stageautofeedback-isl: configure-stageautofeedback-isl
+	@[ $(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)/isl && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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) V=1 \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-isl)
+
+maybe-clean-stageautofeedback-isl: clean-stageautofeedback-isl
+clean-stageautofeedback: clean-stageautofeedback-isl
+clean-stageautofeedback-isl:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/isl/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-isl/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/isl && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) V=1 clean
+@endif isl-bootstrap
+
+
 
 
 
@@ -14754,6 +16360,74 @@ configure-stagefeedback-libelf:
 	  --disable-shared
 @endif libelf-bootstrap
 
+.PHONY: configure-stageautoprofile-libelf maybe-configure-stageautoprofile-libelf
+maybe-configure-stageautoprofile-libelf:
+@if libelf-bootstrap
+maybe-configure-stageautoprofile-libelf: configure-stageautoprofile-libelf
+configure-stageautoprofile-libelf:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libelf
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libelf/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)/libelf; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libelf; \
+	cd $(HOST_SUBDIR)/libelf || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libelf/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libelf; \
+	$(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) \
+	  --disable-shared
+@endif libelf-bootstrap
+
+.PHONY: configure-stageautofeedback-libelf maybe-configure-stageautofeedback-libelf
+maybe-configure-stageautofeedback-libelf:
+@if libelf-bootstrap
+maybe-configure-stageautofeedback-libelf: configure-stageautofeedback-libelf
+configure-stageautofeedback-libelf:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libelf
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libelf/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)/libelf; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libelf; \
+	cd $(HOST_SUBDIR)/libelf || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libelf/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libelf; \
+	$(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) \
+	  --disable-shared
+@endif libelf-bootstrap
+
 
 
 
@@ -14792,6 +16466,7 @@ all-stage1-libelf: configure-stage1-libelf
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -14801,7 +16476,7 @@ all-stage1-libelf: configure-stage1-libelf
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libelf)
 
 maybe-clean-stage1-libelf: clean-stage1-libelf
@@ -14835,6 +16510,7 @@ all-stage2-libelf: configure-stage2-libelf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -14843,7 +16519,7 @@ all-stage2-libelf: configure-stage2-libelf
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libelf)
 
 maybe-clean-stage2-libelf: clean-stage2-libelf
@@ -14876,6 +16552,7 @@ all-stage3-libelf: configure-stage3-libelf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -14884,7 +16561,7 @@ all-stage3-libelf: configure-stage3-libelf
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libelf)
 
 maybe-clean-stage3-libelf: clean-stage3-libelf
@@ -14917,6 +16594,7 @@ all-stage4-libelf: configure-stage4-libelf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -14925,7 +16603,7 @@ all-stage4-libelf: configure-stage4-libelf
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libelf)
 
 maybe-clean-stage4-libelf: clean-stage4-libelf
@@ -14958,6 +16636,7 @@ all-stageprofile-libelf: configure-stageprofile-libelf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -14966,7 +16645,7 @@ all-stageprofile-libelf: configure-stageprofile-libelf
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libelf)
 
 maybe-clean-stageprofile-libelf: clean-stageprofile-libelf
@@ -14999,6 +16678,7 @@ all-stagefeedback-libelf: configure-stagefeedback-libelf
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libelf && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -15007,7 +16687,7 @@ all-stagefeedback-libelf: configure-stagefeedback-libelf
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libelf)
 
 maybe-clean-stagefeedback-libelf: clean-stagefeedback-libelf
@@ -15024,6 +16704,90 @@ clean-stagefeedback-libelf:
 @endif libelf-bootstrap
 
 
+.PHONY: all-stageautoprofile-libelf maybe-all-stageautoprofile-libelf
+.PHONY: clean-stageautoprofile-libelf maybe-clean-stageautoprofile-libelf
+maybe-all-stageautoprofile-libelf:
+maybe-clean-stageautoprofile-libelf:
+@if libelf-bootstrap
+maybe-all-stageautoprofile-libelf: all-stageautoprofile-libelf
+all-stageautoprofile: all-stageautoprofile-libelf
+TARGET-stageautoprofile-libelf = $(TARGET-libelf)
+all-stageautoprofile-libelf: configure-stageautoprofile-libelf
+	@[ $(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)/libelf && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libelf)
+
+maybe-clean-stageautoprofile-libelf: clean-stageautoprofile-libelf
+clean-stageautoprofile: clean-stageautoprofile-libelf
+clean-stageautoprofile-libelf:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libelf/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libelf/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libelf && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libelf-bootstrap
+
+
+.PHONY: all-stageautofeedback-libelf maybe-all-stageautofeedback-libelf
+.PHONY: clean-stageautofeedback-libelf maybe-clean-stageautofeedback-libelf
+maybe-all-stageautofeedback-libelf:
+maybe-clean-stageautofeedback-libelf:
+@if libelf-bootstrap
+maybe-all-stageautofeedback-libelf: all-stageautofeedback-libelf
+all-stageautofeedback: all-stageautofeedback-libelf
+TARGET-stageautofeedback-libelf = $(TARGET-libelf)
+all-stageautofeedback-libelf: configure-stageautofeedback-libelf
+	@[ $(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)/libelf && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libelf)
+
+maybe-clean-stageautofeedback-libelf: clean-stageautofeedback-libelf
+clean-stageautofeedback: clean-stageautofeedback-libelf
+clean-stageautofeedback-libelf:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libelf/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libelf/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libelf && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libelf-bootstrap
+
+
 
 
 
@@ -15616,6 +17380,72 @@ configure-stagefeedback-gold:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif gold-bootstrap
 
+.PHONY: configure-stageautoprofile-gold maybe-configure-stageautoprofile-gold
+maybe-configure-stageautoprofile-gold:
+@if gold-bootstrap
+maybe-configure-stageautoprofile-gold: configure-stageautoprofile-gold
+configure-stageautoprofile-gold:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gold
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gold/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)/gold; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gold; \
+	cd $(HOST_SUBDIR)/gold || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gold/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gold; \
+	$(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 gold-bootstrap
+
+.PHONY: configure-stageautofeedback-gold maybe-configure-stageautofeedback-gold
+maybe-configure-stageautofeedback-gold:
+@if gold-bootstrap
+maybe-configure-stageautofeedback-gold: configure-stageautofeedback-gold
+configure-stageautofeedback-gold:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gold
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/gold/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)/gold; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gold; \
+	cd $(HOST_SUBDIR)/gold || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/gold/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gold; \
+	$(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 gold-bootstrap
+
 
 
 
@@ -15654,6 +17484,7 @@ all-stage1-gold: configure-stage1-gold
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -15663,7 +17494,7 @@ all-stage1-gold: configure-stage1-gold
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-gold)
 
 maybe-clean-stage1-gold: clean-stage1-gold
@@ -15697,6 +17528,7 @@ all-stage2-gold: configure-stage2-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -15705,7 +17537,7 @@ all-stage2-gold: configure-stage2-gold
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-gold)
 
 maybe-clean-stage2-gold: clean-stage2-gold
@@ -15738,6 +17570,7 @@ all-stage3-gold: configure-stage3-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -15746,7 +17579,7 @@ all-stage3-gold: configure-stage3-gold
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-gold)
 
 maybe-clean-stage3-gold: clean-stage3-gold
@@ -15779,6 +17612,7 @@ all-stage4-gold: configure-stage4-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -15787,7 +17621,7 @@ all-stage4-gold: configure-stage4-gold
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-gold)
 
 maybe-clean-stage4-gold: clean-stage4-gold
@@ -15820,6 +17654,7 @@ all-stageprofile-gold: configure-stageprofile-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -15828,7 +17663,7 @@ all-stageprofile-gold: configure-stageprofile-gold
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-gold)
 
 maybe-clean-stageprofile-gold: clean-stageprofile-gold
@@ -15861,6 +17696,7 @@ all-stagefeedback-gold: configure-stagefeedback-gold
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/gold && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -15869,7 +17705,7 @@ all-stagefeedback-gold: configure-stagefeedback-gold
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-gold)
 
 maybe-clean-stagefeedback-gold: clean-stagefeedback-gold
@@ -15886,6 +17722,90 @@ clean-stagefeedback-gold:
 @endif gold-bootstrap
 
 
+.PHONY: all-stageautoprofile-gold maybe-all-stageautoprofile-gold
+.PHONY: clean-stageautoprofile-gold maybe-clean-stageautoprofile-gold
+maybe-all-stageautoprofile-gold:
+maybe-clean-stageautoprofile-gold:
+@if gold-bootstrap
+maybe-all-stageautoprofile-gold: all-stageautoprofile-gold
+all-stageautoprofile: all-stageautoprofile-gold
+TARGET-stageautoprofile-gold = $(TARGET-gold)
+all-stageautoprofile-gold: configure-stageautoprofile-gold
+	@[ $(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)/gold && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-gold)
+
+maybe-clean-stageautoprofile-gold: clean-stageautoprofile-gold
+clean-stageautoprofile: clean-stageautoprofile-gold
+clean-stageautoprofile-gold:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/gold/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-gold/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gold && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gold-bootstrap
+
+
+.PHONY: all-stageautofeedback-gold maybe-all-stageautofeedback-gold
+.PHONY: clean-stageautofeedback-gold maybe-clean-stageautofeedback-gold
+maybe-all-stageautofeedback-gold:
+maybe-clean-stageautofeedback-gold:
+@if gold-bootstrap
+maybe-all-stageautofeedback-gold: all-stageautofeedback-gold
+all-stageautofeedback: all-stageautofeedback-gold
+TARGET-stageautofeedback-gold = $(TARGET-gold)
+all-stageautofeedback-gold: configure-stageautofeedback-gold
+	@[ $(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)/gold && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-gold)
+
+maybe-clean-stageautofeedback-gold: clean-stageautofeedback-gold
+clean-stageautofeedback: clean-stageautofeedback-gold
+clean-stageautofeedback-gold:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/gold/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-gold/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/gold && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif gold-bootstrap
+
+
 
 
 
@@ -16931,6 +18851,72 @@ configure-stagefeedback-intl:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif intl-bootstrap
 
+.PHONY: configure-stageautoprofile-intl maybe-configure-stageautoprofile-intl
+maybe-configure-stageautoprofile-intl:
+@if intl-bootstrap
+maybe-configure-stageautoprofile-intl: configure-stageautoprofile-intl
+configure-stageautoprofile-intl:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/intl/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)/intl; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl; \
+	cd $(HOST_SUBDIR)/intl || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=intl; \
+	$(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 intl-bootstrap
+
+.PHONY: configure-stageautofeedback-intl maybe-configure-stageautofeedback-intl
+maybe-configure-stageautofeedback-intl:
+@if intl-bootstrap
+maybe-configure-stageautofeedback-intl: configure-stageautofeedback-intl
+configure-stageautofeedback-intl:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/intl/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)/intl; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl; \
+	cd $(HOST_SUBDIR)/intl || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=intl; \
+	$(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 intl-bootstrap
+
 
 
 
@@ -16969,6 +18955,7 @@ all-stage1-intl: configure-stage1-intl
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -16978,7 +18965,7 @@ all-stage1-intl: configure-stage1-intl
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-intl)
 
 maybe-clean-stage1-intl: clean-stage1-intl
@@ -17012,6 +18999,7 @@ all-stage2-intl: configure-stage2-intl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -17020,7 +19008,7 @@ all-stage2-intl: configure-stage2-intl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-intl)
 
 maybe-clean-stage2-intl: clean-stage2-intl
@@ -17053,6 +19041,7 @@ all-stage3-intl: configure-stage3-intl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -17061,7 +19050,7 @@ all-stage3-intl: configure-stage3-intl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-intl)
 
 maybe-clean-stage3-intl: clean-stage3-intl
@@ -17094,6 +19083,7 @@ all-stage4-intl: configure-stage4-intl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -17102,7 +19092,7 @@ all-stage4-intl: configure-stage4-intl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-intl)
 
 maybe-clean-stage4-intl: clean-stage4-intl
@@ -17135,6 +19125,7 @@ all-stageprofile-intl: configure-stageprofile-intl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -17143,7 +19134,7 @@ all-stageprofile-intl: configure-stageprofile-intl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-intl)
 
 maybe-clean-stageprofile-intl: clean-stageprofile-intl
@@ -17176,6 +19167,7 @@ all-stagefeedback-intl: configure-stagefeedback-intl
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/intl && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -17184,7 +19176,7 @@ all-stagefeedback-intl: configure-stagefeedback-intl
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-intl)
 
 maybe-clean-stagefeedback-intl: clean-stagefeedback-intl
@@ -17201,6 +19193,90 @@ clean-stagefeedback-intl:
 @endif intl-bootstrap
 
 
+.PHONY: all-stageautoprofile-intl maybe-all-stageautoprofile-intl
+.PHONY: clean-stageautoprofile-intl maybe-clean-stageautoprofile-intl
+maybe-all-stageautoprofile-intl:
+maybe-clean-stageautoprofile-intl:
+@if intl-bootstrap
+maybe-all-stageautoprofile-intl: all-stageautoprofile-intl
+all-stageautoprofile: all-stageautoprofile-intl
+TARGET-stageautoprofile-intl = $(TARGET-intl)
+all-stageautoprofile-intl: configure-stageautoprofile-intl
+	@[ $(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)/intl && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-intl)
+
+maybe-clean-stageautoprofile-intl: clean-stageautoprofile-intl
+clean-stageautoprofile: clean-stageautoprofile-intl
+clean-stageautoprofile-intl:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/intl/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-intl/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/intl && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif intl-bootstrap
+
+
+.PHONY: all-stageautofeedback-intl maybe-all-stageautofeedback-intl
+.PHONY: clean-stageautofeedback-intl maybe-clean-stageautofeedback-intl
+maybe-all-stageautofeedback-intl:
+maybe-clean-stageautofeedback-intl:
+@if intl-bootstrap
+maybe-all-stageautofeedback-intl: all-stageautofeedback-intl
+all-stageautofeedback: all-stageautofeedback-intl
+TARGET-stageautofeedback-intl = $(TARGET-intl)
+all-stageautofeedback-intl: configure-stageautofeedback-intl
+	@[ $(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)/intl && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-intl)
+
+maybe-clean-stageautofeedback-intl: clean-stageautofeedback-intl
+clean-stageautofeedback: clean-stageautofeedback-intl
+clean-stageautofeedback-intl:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/intl/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-intl/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/intl && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif intl-bootstrap
+
+
 
 
 
@@ -18672,6 +20748,72 @@ configure-stagefeedback-ld:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif ld-bootstrap
 
+.PHONY: configure-stageautoprofile-ld maybe-configure-stageautoprofile-ld
+maybe-configure-stageautoprofile-ld:
+@if ld-bootstrap
+maybe-configure-stageautoprofile-ld: configure-stageautoprofile-ld
+configure-stageautoprofile-ld:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/ld/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)/ld; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld; \
+	cd $(HOST_SUBDIR)/ld || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=ld; \
+	$(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 ld-bootstrap
+
+.PHONY: configure-stageautofeedback-ld maybe-configure-stageautofeedback-ld
+maybe-configure-stageautofeedback-ld:
+@if ld-bootstrap
+maybe-configure-stageautofeedback-ld: configure-stageautofeedback-ld
+configure-stageautofeedback-ld:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/ld/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)/ld; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld; \
+	cd $(HOST_SUBDIR)/ld || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=ld; \
+	$(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 ld-bootstrap
+
 
 
 
@@ -18710,6 +20852,7 @@ all-stage1-ld: configure-stage1-ld
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -18719,7 +20862,7 @@ all-stage1-ld: configure-stage1-ld
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-ld)
 
 maybe-clean-stage1-ld: clean-stage1-ld
@@ -18753,6 +20896,7 @@ all-stage2-ld: configure-stage2-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -18761,7 +20905,7 @@ all-stage2-ld: configure-stage2-ld
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-ld)
 
 maybe-clean-stage2-ld: clean-stage2-ld
@@ -18794,6 +20938,7 @@ all-stage3-ld: configure-stage3-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -18802,7 +20947,7 @@ all-stage3-ld: configure-stage3-ld
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-ld)
 
 maybe-clean-stage3-ld: clean-stage3-ld
@@ -18835,6 +20980,7 @@ all-stage4-ld: configure-stage4-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -18843,7 +20989,7 @@ all-stage4-ld: configure-stage4-ld
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-ld)
 
 maybe-clean-stage4-ld: clean-stage4-ld
@@ -18876,6 +21022,7 @@ all-stageprofile-ld: configure-stageprofile-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -18884,7 +21031,7 @@ all-stageprofile-ld: configure-stageprofile-ld
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-ld)
 
 maybe-clean-stageprofile-ld: clean-stageprofile-ld
@@ -18917,6 +21064,7 @@ all-stagefeedback-ld: configure-stagefeedback-ld
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/ld && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -18925,7 +21073,7 @@ all-stagefeedback-ld: configure-stagefeedback-ld
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-ld)
 
 maybe-clean-stagefeedback-ld: clean-stagefeedback-ld
@@ -18942,6 +21090,90 @@ clean-stagefeedback-ld:
 @endif ld-bootstrap
 
 
+.PHONY: all-stageautoprofile-ld maybe-all-stageautoprofile-ld
+.PHONY: clean-stageautoprofile-ld maybe-clean-stageautoprofile-ld
+maybe-all-stageautoprofile-ld:
+maybe-clean-stageautoprofile-ld:
+@if ld-bootstrap
+maybe-all-stageautoprofile-ld: all-stageautoprofile-ld
+all-stageautoprofile: all-stageautoprofile-ld
+TARGET-stageautoprofile-ld = $(TARGET-ld)
+all-stageautoprofile-ld: configure-stageautoprofile-ld
+	@[ $(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)/ld && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-ld)
+
+maybe-clean-stageautoprofile-ld: clean-stageautoprofile-ld
+clean-stageautoprofile: clean-stageautoprofile-ld
+clean-stageautoprofile-ld:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/ld/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-ld/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/ld && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif ld-bootstrap
+
+
+.PHONY: all-stageautofeedback-ld maybe-all-stageautofeedback-ld
+.PHONY: clean-stageautofeedback-ld maybe-clean-stageautofeedback-ld
+maybe-all-stageautofeedback-ld:
+maybe-clean-stageautofeedback-ld:
+@if ld-bootstrap
+maybe-all-stageautofeedback-ld: all-stageautofeedback-ld
+all-stageautofeedback: all-stageautofeedback-ld
+TARGET-stageautofeedback-ld = $(TARGET-ld)
+all-stageautofeedback-ld: configure-stageautofeedback-ld
+	@[ $(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)/ld && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-ld)
+
+maybe-clean-stageautofeedback-ld: clean-stageautofeedback-ld
+clean-stageautofeedback: clean-stageautofeedback-ld
+clean-stageautofeedback-ld:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/ld/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-ld/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/ld && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif ld-bootstrap
+
+
 
 
 
@@ -19546,6 +21778,72 @@ configure-stagefeedback-libbacktrace:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif libbacktrace-bootstrap
 
+.PHONY: configure-stageautoprofile-libbacktrace maybe-configure-stageautoprofile-libbacktrace
+maybe-configure-stageautoprofile-libbacktrace:
+@if libbacktrace-bootstrap
+maybe-configure-stageautoprofile-libbacktrace: configure-stageautoprofile-libbacktrace
+configure-stageautoprofile-libbacktrace:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libbacktrace/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)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libbacktrace; \
+	cd $(HOST_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(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 libbacktrace-bootstrap
+
+.PHONY: configure-stageautofeedback-libbacktrace maybe-configure-stageautofeedback-libbacktrace
+maybe-configure-stageautofeedback-libbacktrace:
+@if libbacktrace-bootstrap
+maybe-configure-stageautofeedback-libbacktrace: configure-stageautofeedback-libbacktrace
+configure-stageautofeedback-libbacktrace:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libbacktrace/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)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libbacktrace; \
+	cd $(HOST_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(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 libbacktrace-bootstrap
+
 
 
 
@@ -19584,6 +21882,7 @@ all-stage1-libbacktrace: configure-stage1-libbacktrace
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -19593,7 +21892,7 @@ all-stage1-libbacktrace: configure-stage1-libbacktrace
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libbacktrace)
 
 maybe-clean-stage1-libbacktrace: clean-stage1-libbacktrace
@@ -19627,6 +21926,7 @@ all-stage2-libbacktrace: configure-stage2-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -19635,7 +21935,7 @@ all-stage2-libbacktrace: configure-stage2-libbacktrace
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libbacktrace)
 
 maybe-clean-stage2-libbacktrace: clean-stage2-libbacktrace
@@ -19668,6 +21968,7 @@ all-stage3-libbacktrace: configure-stage3-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -19676,7 +21977,7 @@ all-stage3-libbacktrace: configure-stage3-libbacktrace
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libbacktrace)
 
 maybe-clean-stage3-libbacktrace: clean-stage3-libbacktrace
@@ -19709,6 +22010,7 @@ all-stage4-libbacktrace: configure-stage4-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -19717,7 +22019,7 @@ all-stage4-libbacktrace: configure-stage4-libbacktrace
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libbacktrace)
 
 maybe-clean-stage4-libbacktrace: clean-stage4-libbacktrace
@@ -19750,6 +22052,7 @@ all-stageprofile-libbacktrace: configure-stageprofile-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -19758,7 +22061,7 @@ all-stageprofile-libbacktrace: configure-stageprofile-libbacktrace
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libbacktrace)
 
 maybe-clean-stageprofile-libbacktrace: clean-stageprofile-libbacktrace
@@ -19791,6 +22094,7 @@ all-stagefeedback-libbacktrace: configure-stagefeedback-libbacktrace
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libbacktrace && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -19799,7 +22103,7 @@ all-stagefeedback-libbacktrace: configure-stagefeedback-libbacktrace
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libbacktrace)
 
 maybe-clean-stagefeedback-libbacktrace: clean-stagefeedback-libbacktrace
@@ -19816,6 +22120,90 @@ clean-stagefeedback-libbacktrace:
 @endif libbacktrace-bootstrap
 
 
+.PHONY: all-stageautoprofile-libbacktrace maybe-all-stageautoprofile-libbacktrace
+.PHONY: clean-stageautoprofile-libbacktrace maybe-clean-stageautoprofile-libbacktrace
+maybe-all-stageautoprofile-libbacktrace:
+maybe-clean-stageautoprofile-libbacktrace:
+@if libbacktrace-bootstrap
+maybe-all-stageautoprofile-libbacktrace: all-stageautoprofile-libbacktrace
+all-stageautoprofile: all-stageautoprofile-libbacktrace
+TARGET-stageautoprofile-libbacktrace = $(TARGET-libbacktrace)
+all-stageautoprofile-libbacktrace: configure-stageautoprofile-libbacktrace
+	@[ $(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)/libbacktrace && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libbacktrace)
+
+maybe-clean-stageautoprofile-libbacktrace: clean-stageautoprofile-libbacktrace
+clean-stageautoprofile: clean-stageautoprofile-libbacktrace
+clean-stageautoprofile-libbacktrace:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libbacktrace-bootstrap
+
+
+.PHONY: all-stageautofeedback-libbacktrace maybe-all-stageautofeedback-libbacktrace
+.PHONY: clean-stageautofeedback-libbacktrace maybe-clean-stageautofeedback-libbacktrace
+maybe-all-stageautofeedback-libbacktrace:
+maybe-clean-stageautofeedback-libbacktrace:
+@if libbacktrace-bootstrap
+maybe-all-stageautofeedback-libbacktrace: all-stageautofeedback-libbacktrace
+all-stageautofeedback: all-stageautofeedback-libbacktrace
+TARGET-stageautofeedback-libbacktrace = $(TARGET-libbacktrace)
+all-stageautofeedback-libbacktrace: configure-stageautofeedback-libbacktrace
+	@[ $(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)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libbacktrace)
+
+maybe-clean-stageautofeedback-libbacktrace: clean-stageautofeedback-libbacktrace
+clean-stageautofeedback: clean-stageautofeedback-libbacktrace
+clean-stageautofeedback-libbacktrace:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libbacktrace-bootstrap
+
+
 
 
 
@@ -20420,6 +22808,72 @@ configure-stagefeedback-libcpp:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif libcpp-bootstrap
 
+.PHONY: configure-stageautoprofile-libcpp maybe-configure-stageautoprofile-libcpp
+maybe-configure-stageautoprofile-libcpp:
+@if libcpp-bootstrap
+maybe-configure-stageautoprofile-libcpp: configure-stageautoprofile-libcpp
+configure-stageautoprofile-libcpp:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libcpp/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)/libcpp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp; \
+	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libcpp; \
+	$(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 libcpp-bootstrap
+
+.PHONY: configure-stageautofeedback-libcpp maybe-configure-stageautofeedback-libcpp
+maybe-configure-stageautofeedback-libcpp:
+@if libcpp-bootstrap
+maybe-configure-stageautofeedback-libcpp: configure-stageautofeedback-libcpp
+configure-stageautofeedback-libcpp:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libcpp/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)/libcpp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp; \
+	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libcpp; \
+	$(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 libcpp-bootstrap
+
 
 
 
@@ -20458,6 +22912,7 @@ all-stage1-libcpp: configure-stage1-libcpp
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -20467,7 +22922,7 @@ all-stage1-libcpp: configure-stage1-libcpp
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libcpp)
 
 maybe-clean-stage1-libcpp: clean-stage1-libcpp
@@ -20501,6 +22956,7 @@ all-stage2-libcpp: configure-stage2-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -20509,7 +22965,7 @@ all-stage2-libcpp: configure-stage2-libcpp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libcpp)
 
 maybe-clean-stage2-libcpp: clean-stage2-libcpp
@@ -20542,6 +22998,7 @@ all-stage3-libcpp: configure-stage3-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -20550,7 +23007,7 @@ all-stage3-libcpp: configure-stage3-libcpp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libcpp)
 
 maybe-clean-stage3-libcpp: clean-stage3-libcpp
@@ -20583,6 +23040,7 @@ all-stage4-libcpp: configure-stage4-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -20591,7 +23049,7 @@ all-stage4-libcpp: configure-stage4-libcpp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libcpp)
 
 maybe-clean-stage4-libcpp: clean-stage4-libcpp
@@ -20624,6 +23082,7 @@ all-stageprofile-libcpp: configure-stageprofile-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -20632,7 +23091,7 @@ all-stageprofile-libcpp: configure-stageprofile-libcpp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libcpp)
 
 maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp
@@ -20665,6 +23124,7 @@ all-stagefeedback-libcpp: configure-stagefeedback-libcpp
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libcpp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -20673,7 +23133,7 @@ all-stagefeedback-libcpp: configure-stagefeedback-libcpp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libcpp)
 
 maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp
@@ -20690,6 +23150,90 @@ clean-stagefeedback-libcpp:
 @endif libcpp-bootstrap
 
 
+.PHONY: all-stageautoprofile-libcpp maybe-all-stageautoprofile-libcpp
+.PHONY: clean-stageautoprofile-libcpp maybe-clean-stageautoprofile-libcpp
+maybe-all-stageautoprofile-libcpp:
+maybe-clean-stageautoprofile-libcpp:
+@if libcpp-bootstrap
+maybe-all-stageautoprofile-libcpp: all-stageautoprofile-libcpp
+all-stageautoprofile: all-stageautoprofile-libcpp
+TARGET-stageautoprofile-libcpp = $(TARGET-libcpp)
+all-stageautoprofile-libcpp: configure-stageautoprofile-libcpp
+	@[ $(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)/libcpp && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libcpp)
+
+maybe-clean-stageautoprofile-libcpp: clean-stageautoprofile-libcpp
+clean-stageautoprofile: clean-stageautoprofile-libcpp
+clean-stageautoprofile-libcpp:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libcpp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libcpp/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libcpp && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libcpp-bootstrap
+
+
+.PHONY: all-stageautofeedback-libcpp maybe-all-stageautofeedback-libcpp
+.PHONY: clean-stageautofeedback-libcpp maybe-clean-stageautofeedback-libcpp
+maybe-all-stageautofeedback-libcpp:
+maybe-clean-stageautofeedback-libcpp:
+@if libcpp-bootstrap
+maybe-all-stageautofeedback-libcpp: all-stageautofeedback-libcpp
+all-stageautofeedback: all-stageautofeedback-libcpp
+TARGET-stageautofeedback-libcpp = $(TARGET-libcpp)
+all-stageautofeedback-libcpp: configure-stageautofeedback-libcpp
+	@[ $(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)/libcpp && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libcpp)
+
+maybe-clean-stageautofeedback-libcpp: clean-stageautofeedback-libcpp
+clean-stageautofeedback: clean-stageautofeedback-libcpp
+clean-stageautofeedback-libcpp:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libcpp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libcpp/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libcpp && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libcpp-bootstrap
+
+
 
 
 
@@ -21294,6 +23838,72 @@ configure-stagefeedback-libdecnumber:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif libdecnumber-bootstrap
 
+.PHONY: configure-stageautoprofile-libdecnumber maybe-configure-stageautoprofile-libdecnumber
+maybe-configure-stageautoprofile-libdecnumber:
+@if libdecnumber-bootstrap
+maybe-configure-stageautoprofile-libdecnumber: configure-stageautoprofile-libdecnumber
+configure-stageautoprofile-libdecnumber:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libdecnumber/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)/libdecnumber; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber; \
+	cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libdecnumber/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libdecnumber; \
+	$(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 libdecnumber-bootstrap
+
+.PHONY: configure-stageautofeedback-libdecnumber maybe-configure-stageautofeedback-libdecnumber
+maybe-configure-stageautofeedback-libdecnumber:
+@if libdecnumber-bootstrap
+maybe-configure-stageautofeedback-libdecnumber: configure-stageautofeedback-libdecnumber
+configure-stageautofeedback-libdecnumber:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libdecnumber/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)/libdecnumber; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber; \
+	cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libdecnumber/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libdecnumber; \
+	$(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 libdecnumber-bootstrap
+
 
 
 
@@ -21332,6 +23942,7 @@ all-stage1-libdecnumber: configure-stage1-libdecnumber
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -21341,7 +23952,7 @@ all-stage1-libdecnumber: configure-stage1-libdecnumber
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libdecnumber)
 
 maybe-clean-stage1-libdecnumber: clean-stage1-libdecnumber
@@ -21375,6 +23986,7 @@ all-stage2-libdecnumber: configure-stage2-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -21383,7 +23995,7 @@ all-stage2-libdecnumber: configure-stage2-libdecnumber
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libdecnumber)
 
 maybe-clean-stage2-libdecnumber: clean-stage2-libdecnumber
@@ -21416,6 +24028,7 @@ all-stage3-libdecnumber: configure-stage3-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -21424,7 +24037,7 @@ all-stage3-libdecnumber: configure-stage3-libdecnumber
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libdecnumber)
 
 maybe-clean-stage3-libdecnumber: clean-stage3-libdecnumber
@@ -21457,6 +24070,7 @@ all-stage4-libdecnumber: configure-stage4-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -21465,7 +24079,7 @@ all-stage4-libdecnumber: configure-stage4-libdecnumber
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libdecnumber)
 
 maybe-clean-stage4-libdecnumber: clean-stage4-libdecnumber
@@ -21498,6 +24112,7 @@ all-stageprofile-libdecnumber: configure-stageprofile-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -21506,7 +24121,7 @@ all-stageprofile-libdecnumber: configure-stageprofile-libdecnumber
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libdecnumber)
 
 maybe-clean-stageprofile-libdecnumber: clean-stageprofile-libdecnumber
@@ -21539,6 +24154,7 @@ all-stagefeedback-libdecnumber: configure-stagefeedback-libdecnumber
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libdecnumber && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -21547,7 +24163,7 @@ all-stagefeedback-libdecnumber: configure-stagefeedback-libdecnumber
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libdecnumber)
 
 maybe-clean-stagefeedback-libdecnumber: clean-stagefeedback-libdecnumber
@@ -21564,6 +24180,90 @@ clean-stagefeedback-libdecnumber:
 @endif libdecnumber-bootstrap
 
 
+.PHONY: all-stageautoprofile-libdecnumber maybe-all-stageautoprofile-libdecnumber
+.PHONY: clean-stageautoprofile-libdecnumber maybe-clean-stageautoprofile-libdecnumber
+maybe-all-stageautoprofile-libdecnumber:
+maybe-clean-stageautoprofile-libdecnumber:
+@if libdecnumber-bootstrap
+maybe-all-stageautoprofile-libdecnumber: all-stageautoprofile-libdecnumber
+all-stageautoprofile: all-stageautoprofile-libdecnumber
+TARGET-stageautoprofile-libdecnumber = $(TARGET-libdecnumber)
+all-stageautoprofile-libdecnumber: configure-stageautoprofile-libdecnumber
+	@[ $(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)/libdecnumber && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libdecnumber)
+
+maybe-clean-stageautoprofile-libdecnumber: clean-stageautoprofile-libdecnumber
+clean-stageautoprofile: clean-stageautoprofile-libdecnumber
+clean-stageautoprofile-libdecnumber:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libdecnumber/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libdecnumber/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libdecnumber && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libdecnumber-bootstrap
+
+
+.PHONY: all-stageautofeedback-libdecnumber maybe-all-stageautofeedback-libdecnumber
+.PHONY: clean-stageautofeedback-libdecnumber maybe-clean-stageautofeedback-libdecnumber
+maybe-all-stageautofeedback-libdecnumber:
+maybe-clean-stageautofeedback-libdecnumber:
+@if libdecnumber-bootstrap
+maybe-all-stageautofeedback-libdecnumber: all-stageautofeedback-libdecnumber
+all-stageautofeedback: all-stageautofeedback-libdecnumber
+TARGET-stageautofeedback-libdecnumber = $(TARGET-libdecnumber)
+all-stageautofeedback-libdecnumber: configure-stageautofeedback-libdecnumber
+	@[ $(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)/libdecnumber && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libdecnumber)
+
+maybe-clean-stageautofeedback-libdecnumber: clean-stageautofeedback-libdecnumber
+clean-stageautofeedback: clean-stageautofeedback-libdecnumber
+clean-stageautofeedback-libdecnumber:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libdecnumber/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libdecnumber/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libdecnumber && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libdecnumber-bootstrap
+
+
 
 
 
@@ -22615,6 +25315,74 @@ configure-stagefeedback-libiberty:
 	  @extra_host_libiberty_configure_flags@
 @endif libiberty-bootstrap
 
+.PHONY: configure-stageautoprofile-libiberty maybe-configure-stageautoprofile-libiberty
+maybe-configure-stageautoprofile-libiberty:
+@if libiberty-bootstrap
+maybe-configure-stageautoprofile-libiberty: configure-stageautoprofile-libiberty
+configure-stageautoprofile-libiberty:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiberty/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)/libiberty; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty; \
+	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiberty; \
+	$(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) \
+	  @extra_host_libiberty_configure_flags@
+@endif libiberty-bootstrap
+
+.PHONY: configure-stageautofeedback-libiberty maybe-configure-stageautofeedback-libiberty
+maybe-configure-stageautofeedback-libiberty:
+@if libiberty-bootstrap
+maybe-configure-stageautofeedback-libiberty: configure-stageautofeedback-libiberty
+configure-stageautofeedback-libiberty:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiberty/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)/libiberty; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty; \
+	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiberty; \
+	$(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) \
+	  @extra_host_libiberty_configure_flags@
+@endif libiberty-bootstrap
+
 
 
 
@@ -22653,6 +25421,7 @@ all-stage1-libiberty: configure-stage1-libiberty
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -22662,7 +25431,7 @@ all-stage1-libiberty: configure-stage1-libiberty
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libiberty)
 
 maybe-clean-stage1-libiberty: clean-stage1-libiberty
@@ -22696,6 +25465,7 @@ all-stage2-libiberty: configure-stage2-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -22704,7 +25474,7 @@ all-stage2-libiberty: configure-stage2-libiberty
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libiberty)
 
 maybe-clean-stage2-libiberty: clean-stage2-libiberty
@@ -22737,6 +25507,7 @@ all-stage3-libiberty: configure-stage3-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -22745,7 +25516,7 @@ all-stage3-libiberty: configure-stage3-libiberty
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libiberty)
 
 maybe-clean-stage3-libiberty: clean-stage3-libiberty
@@ -22778,6 +25549,7 @@ all-stage4-libiberty: configure-stage4-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -22786,7 +25558,7 @@ all-stage4-libiberty: configure-stage4-libiberty
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libiberty)
 
 maybe-clean-stage4-libiberty: clean-stage4-libiberty
@@ -22819,6 +25591,7 @@ all-stageprofile-libiberty: configure-stageprofile-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -22827,7 +25600,7 @@ all-stageprofile-libiberty: configure-stageprofile-libiberty
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libiberty)
 
 maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty
@@ -22860,6 +25633,7 @@ all-stagefeedback-libiberty: configure-stagefeedback-libiberty
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -22868,7 +25642,7 @@ all-stagefeedback-libiberty: configure-stagefeedback-libiberty
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libiberty)
 
 maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty
@@ -22885,6 +25659,90 @@ clean-stagefeedback-libiberty:
 @endif libiberty-bootstrap
 
 
+.PHONY: all-stageautoprofile-libiberty maybe-all-stageautoprofile-libiberty
+.PHONY: clean-stageautoprofile-libiberty maybe-clean-stageautoprofile-libiberty
+maybe-all-stageautoprofile-libiberty:
+maybe-clean-stageautoprofile-libiberty:
+@if libiberty-bootstrap
+maybe-all-stageautoprofile-libiberty: all-stageautoprofile-libiberty
+all-stageautoprofile: all-stageautoprofile-libiberty
+TARGET-stageautoprofile-libiberty = $(TARGET-libiberty)
+all-stageautoprofile-libiberty: configure-stageautoprofile-libiberty
+	@[ $(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)/libiberty && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libiberty)
+
+maybe-clean-stageautoprofile-libiberty: clean-stageautoprofile-libiberty
+clean-stageautoprofile: clean-stageautoprofile-libiberty
+clean-stageautoprofile-libiberty:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libiberty/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libiberty/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiberty && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libiberty-bootstrap
+
+
+.PHONY: all-stageautofeedback-libiberty maybe-all-stageautofeedback-libiberty
+.PHONY: clean-stageautofeedback-libiberty maybe-clean-stageautofeedback-libiberty
+maybe-all-stageautofeedback-libiberty:
+maybe-clean-stageautofeedback-libiberty:
+@if libiberty-bootstrap
+maybe-all-stageautofeedback-libiberty: all-stageautofeedback-libiberty
+all-stageautofeedback: all-stageautofeedback-libiberty
+TARGET-stageautofeedback-libiberty = $(TARGET-libiberty)
+all-stageautofeedback-libiberty: configure-stageautofeedback-libiberty
+	@[ $(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)/libiberty && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libiberty)
+
+maybe-clean-stageautofeedback-libiberty: clean-stageautofeedback-libiberty
+clean-stageautofeedback: clean-stageautofeedback-libiberty
+clean-stageautofeedback-libiberty:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libiberty/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libiberty/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiberty && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libiberty-bootstrap
+
+
 
 
 
@@ -23495,6 +26353,74 @@ configure-stagefeedback-libiberty-linker-plugin:
 	  @extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
 @endif libiberty-linker-plugin-bootstrap
 
+.PHONY: configure-stageautoprofile-libiberty-linker-plugin maybe-configure-stageautoprofile-libiberty-linker-plugin
+maybe-configure-stageautoprofile-libiberty-linker-plugin:
+@if libiberty-linker-plugin-bootstrap
+maybe-configure-stageautoprofile-libiberty-linker-plugin: configure-stageautoprofile-libiberty-linker-plugin
+configure-stageautoprofile-libiberty-linker-plugin:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty-linker-plugin
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiberty-linker-plugin/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)/libiberty-linker-plugin; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty-linker-plugin; \
+	cd $(HOST_SUBDIR)/libiberty-linker-plugin || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiberty-linker-plugin/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiberty; \
+	$(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) \
+	  @extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
+@endif libiberty-linker-plugin-bootstrap
+
+.PHONY: configure-stageautofeedback-libiberty-linker-plugin maybe-configure-stageautofeedback-libiberty-linker-plugin
+maybe-configure-stageautofeedback-libiberty-linker-plugin:
+@if libiberty-linker-plugin-bootstrap
+maybe-configure-stageautofeedback-libiberty-linker-plugin: configure-stageautofeedback-libiberty-linker-plugin
+configure-stageautofeedback-libiberty-linker-plugin:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty-linker-plugin
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiberty-linker-plugin/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)/libiberty-linker-plugin; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty-linker-plugin; \
+	cd $(HOST_SUBDIR)/libiberty-linker-plugin || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiberty-linker-plugin/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiberty; \
+	$(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) \
+	  @extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
+@endif libiberty-linker-plugin-bootstrap
+
 
 
 
@@ -23533,6 +26459,7 @@ all-stage1-libiberty-linker-plugin: configure-stage1-libiberty-linker-plugin
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -23542,7 +26469,7 @@ all-stage1-libiberty-linker-plugin: configure-stage1-libiberty-linker-plugin
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libiberty-linker-plugin)
 
 maybe-clean-stage1-libiberty-linker-plugin: clean-stage1-libiberty-linker-plugin
@@ -23576,6 +26503,7 @@ all-stage2-libiberty-linker-plugin: configure-stage2-libiberty-linker-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -23584,7 +26512,7 @@ all-stage2-libiberty-linker-plugin: configure-stage2-libiberty-linker-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libiberty-linker-plugin)
 
 maybe-clean-stage2-libiberty-linker-plugin: clean-stage2-libiberty-linker-plugin
@@ -23617,6 +26545,7 @@ all-stage3-libiberty-linker-plugin: configure-stage3-libiberty-linker-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -23625,7 +26554,7 @@ all-stage3-libiberty-linker-plugin: configure-stage3-libiberty-linker-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libiberty-linker-plugin)
 
 maybe-clean-stage3-libiberty-linker-plugin: clean-stage3-libiberty-linker-plugin
@@ -23658,6 +26587,7 @@ all-stage4-libiberty-linker-plugin: configure-stage4-libiberty-linker-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -23666,7 +26596,7 @@ all-stage4-libiberty-linker-plugin: configure-stage4-libiberty-linker-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libiberty-linker-plugin)
 
 maybe-clean-stage4-libiberty-linker-plugin: clean-stage4-libiberty-linker-plugin
@@ -23699,6 +26629,7 @@ all-stageprofile-libiberty-linker-plugin: configure-stageprofile-libiberty-linke
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -23707,7 +26638,7 @@ all-stageprofile-libiberty-linker-plugin: configure-stageprofile-libiberty-linke
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libiberty-linker-plugin)
 
 maybe-clean-stageprofile-libiberty-linker-plugin: clean-stageprofile-libiberty-linker-plugin
@@ -23740,6 +26671,7 @@ all-stagefeedback-libiberty-linker-plugin: configure-stagefeedback-libiberty-lin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -23748,7 +26680,7 @@ all-stagefeedback-libiberty-linker-plugin: configure-stagefeedback-libiberty-lin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libiberty-linker-plugin)
 
 maybe-clean-stagefeedback-libiberty-linker-plugin: clean-stagefeedback-libiberty-linker-plugin
@@ -23765,6 +26697,90 @@ clean-stagefeedback-libiberty-linker-plugin:
 @endif libiberty-linker-plugin-bootstrap
 
 
+.PHONY: all-stageautoprofile-libiberty-linker-plugin maybe-all-stageautoprofile-libiberty-linker-plugin
+.PHONY: clean-stageautoprofile-libiberty-linker-plugin maybe-clean-stageautoprofile-libiberty-linker-plugin
+maybe-all-stageautoprofile-libiberty-linker-plugin:
+maybe-clean-stageautoprofile-libiberty-linker-plugin:
+@if libiberty-linker-plugin-bootstrap
+maybe-all-stageautoprofile-libiberty-linker-plugin: all-stageautoprofile-libiberty-linker-plugin
+all-stageautoprofile: all-stageautoprofile-libiberty-linker-plugin
+TARGET-stageautoprofile-libiberty-linker-plugin = $(TARGET-libiberty-linker-plugin)
+all-stageautoprofile-libiberty-linker-plugin: configure-stageautoprofile-libiberty-linker-plugin
+	@[ $(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)/libiberty-linker-plugin && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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) @extra_linker_plugin_flags@ \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-libiberty-linker-plugin)
+
+maybe-clean-stageautoprofile-libiberty-linker-plugin: clean-stageautoprofile-libiberty-linker-plugin
+clean-stageautoprofile: clean-stageautoprofile-libiberty-linker-plugin
+clean-stageautoprofile-libiberty-linker-plugin:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libiberty-linker-plugin/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libiberty-linker-plugin/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ clean
+@endif libiberty-linker-plugin-bootstrap
+
+
+.PHONY: all-stageautofeedback-libiberty-linker-plugin maybe-all-stageautofeedback-libiberty-linker-plugin
+.PHONY: clean-stageautofeedback-libiberty-linker-plugin maybe-clean-stageautofeedback-libiberty-linker-plugin
+maybe-all-stageautofeedback-libiberty-linker-plugin:
+maybe-clean-stageautofeedback-libiberty-linker-plugin:
+@if libiberty-linker-plugin-bootstrap
+maybe-all-stageautofeedback-libiberty-linker-plugin: all-stageautofeedback-libiberty-linker-plugin
+all-stageautofeedback: all-stageautofeedback-libiberty-linker-plugin
+TARGET-stageautofeedback-libiberty-linker-plugin = $(TARGET-libiberty-linker-plugin)
+all-stageautofeedback-libiberty-linker-plugin: configure-stageautofeedback-libiberty-linker-plugin
+	@[ $(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)/libiberty-linker-plugin && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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) @extra_linker_plugin_flags@ \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-libiberty-linker-plugin)
+
+maybe-clean-stageautofeedback-libiberty-linker-plugin: clean-stageautofeedback-libiberty-linker-plugin
+clean-stageautofeedback: clean-stageautofeedback-libiberty-linker-plugin
+clean-stageautofeedback-libiberty-linker-plugin:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libiberty-linker-plugin/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libiberty-linker-plugin/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ clean
+@endif libiberty-linker-plugin-bootstrap
+
+
 
 
 
@@ -24375,6 +27391,74 @@ configure-stagefeedback-libiconv:
 	  --disable-shared
 @endif libiconv-bootstrap
 
+.PHONY: configure-stageautoprofile-libiconv maybe-configure-stageautoprofile-libiconv
+maybe-configure-stageautoprofile-libiconv:
+@if libiconv-bootstrap
+maybe-configure-stageautoprofile-libiconv: configure-stageautoprofile-libiconv
+configure-stageautoprofile-libiconv:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiconv/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)/libiconv; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \
+	cd $(HOST_SUBDIR)/libiconv || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiconv; \
+	$(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) \
+	  --disable-shared
+@endif libiconv-bootstrap
+
+.PHONY: configure-stageautofeedback-libiconv maybe-configure-stageautofeedback-libiconv
+maybe-configure-stageautofeedback-libiconv:
+@if libiconv-bootstrap
+maybe-configure-stageautofeedback-libiconv: configure-stageautofeedback-libiconv
+configure-stageautofeedback-libiconv:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/libiconv/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)/libiconv; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \
+	cd $(HOST_SUBDIR)/libiconv || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libiconv; \
+	$(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) \
+	  --disable-shared
+@endif libiconv-bootstrap
+
 
 
 
@@ -24413,6 +27497,7 @@ all-stage1-libiconv: configure-stage1-libiconv
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -24422,7 +27507,7 @@ all-stage1-libiconv: configure-stage1-libiconv
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-libiconv)
 
 maybe-clean-stage1-libiconv: clean-stage1-libiconv
@@ -24456,6 +27541,7 @@ all-stage2-libiconv: configure-stage2-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -24464,7 +27550,7 @@ all-stage2-libiconv: configure-stage2-libiconv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-libiconv)
 
 maybe-clean-stage2-libiconv: clean-stage2-libiconv
@@ -24497,6 +27583,7 @@ all-stage3-libiconv: configure-stage3-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -24505,7 +27592,7 @@ all-stage3-libiconv: configure-stage3-libiconv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-libiconv)
 
 maybe-clean-stage3-libiconv: clean-stage3-libiconv
@@ -24538,6 +27625,7 @@ all-stage4-libiconv: configure-stage4-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -24546,7 +27634,7 @@ all-stage4-libiconv: configure-stage4-libiconv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-libiconv)
 
 maybe-clean-stage4-libiconv: clean-stage4-libiconv
@@ -24579,6 +27667,7 @@ all-stageprofile-libiconv: configure-stageprofile-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -24587,7 +27676,7 @@ all-stageprofile-libiconv: configure-stageprofile-libiconv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-libiconv)
 
 maybe-clean-stageprofile-libiconv: clean-stageprofile-libiconv
@@ -24620,6 +27709,7 @@ all-stagefeedback-libiconv: configure-stagefeedback-libiconv
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/libiconv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -24628,7 +27718,7 @@ all-stagefeedback-libiconv: configure-stagefeedback-libiconv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-libiconv)
 
 maybe-clean-stagefeedback-libiconv: clean-stagefeedback-libiconv
@@ -24645,6 +27735,90 @@ clean-stagefeedback-libiconv:
 @endif libiconv-bootstrap
 
 
+.PHONY: all-stageautoprofile-libiconv maybe-all-stageautoprofile-libiconv
+.PHONY: clean-stageautoprofile-libiconv maybe-clean-stageautoprofile-libiconv
+maybe-all-stageautoprofile-libiconv:
+maybe-clean-stageautoprofile-libiconv:
+@if libiconv-bootstrap
+maybe-all-stageautoprofile-libiconv: all-stageautoprofile-libiconv
+all-stageautoprofile: all-stageautoprofile-libiconv
+TARGET-stageautoprofile-libiconv = $(TARGET-libiconv)
+all-stageautoprofile-libiconv: configure-stageautoprofile-libiconv
+	@[ $(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)/libiconv && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-libiconv)
+
+maybe-clean-stageautoprofile-libiconv: clean-stageautoprofile-libiconv
+clean-stageautoprofile: clean-stageautoprofile-libiconv
+clean-stageautoprofile-libiconv:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-libiconv/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiconv && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libiconv-bootstrap
+
+
+.PHONY: all-stageautofeedback-libiconv maybe-all-stageautofeedback-libiconv
+.PHONY: clean-stageautofeedback-libiconv maybe-clean-stageautofeedback-libiconv
+maybe-all-stageautofeedback-libiconv:
+maybe-clean-stageautofeedback-libiconv:
+@if libiconv-bootstrap
+maybe-all-stageautofeedback-libiconv: all-stageautofeedback-libiconv
+all-stageautofeedback: all-stageautofeedback-libiconv
+TARGET-stageautofeedback-libiconv = $(TARGET-libiconv)
+all-stageautofeedback-libiconv: configure-stageautofeedback-libiconv
+	@[ $(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)/libiconv && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-libiconv)
+
+maybe-clean-stageautofeedback-libiconv: clean-stageautofeedback-libiconv
+clean-stageautofeedback: clean-stageautofeedback-libiconv
+clean-stageautofeedback-libiconv:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-libiconv/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/libiconv && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif libiconv-bootstrap
+
+
 
 
 
@@ -27343,6 +30517,74 @@ configure-stagefeedback-zlib:
 	  @extra_host_zlib_configure_flags@
 @endif zlib-bootstrap
 
+.PHONY: configure-stageautoprofile-zlib maybe-configure-stageautoprofile-zlib
+maybe-configure-stageautoprofile-zlib:
+@if zlib-bootstrap
+maybe-configure-stageautoprofile-zlib: configure-stageautoprofile-zlib
+configure-stageautoprofile-zlib:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/zlib/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)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib; \
+	cd $(HOST_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(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) \
+	  @extra_host_zlib_configure_flags@
+@endif zlib-bootstrap
+
+.PHONY: configure-stageautofeedback-zlib maybe-configure-stageautofeedback-zlib
+maybe-configure-stageautofeedback-zlib:
+@if zlib-bootstrap
+maybe-configure-stageautofeedback-zlib: configure-stageautofeedback-zlib
+configure-stageautofeedback-zlib:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/zlib/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)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib; \
+	cd $(HOST_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(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) \
+	  @extra_host_zlib_configure_flags@
+@endif zlib-bootstrap
+
 
 
 
@@ -27381,6 +30623,7 @@ all-stage1-zlib: configure-stage1-zlib
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -27390,7 +30633,7 @@ all-stage1-zlib: configure-stage1-zlib
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-zlib)
 
 maybe-clean-stage1-zlib: clean-stage1-zlib
@@ -27424,6 +30667,7 @@ all-stage2-zlib: configure-stage2-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -27432,7 +30676,7 @@ all-stage2-zlib: configure-stage2-zlib
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-zlib)
 
 maybe-clean-stage2-zlib: clean-stage2-zlib
@@ -27465,6 +30709,7 @@ all-stage3-zlib: configure-stage3-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -27473,7 +30718,7 @@ all-stage3-zlib: configure-stage3-zlib
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-zlib)
 
 maybe-clean-stage3-zlib: clean-stage3-zlib
@@ -27506,6 +30751,7 @@ all-stage4-zlib: configure-stage4-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -27514,7 +30760,7 @@ all-stage4-zlib: configure-stage4-zlib
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-zlib)
 
 maybe-clean-stage4-zlib: clean-stage4-zlib
@@ -27547,6 +30793,7 @@ all-stageprofile-zlib: configure-stageprofile-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -27555,7 +30802,7 @@ all-stageprofile-zlib: configure-stageprofile-zlib
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-zlib)
 
 maybe-clean-stageprofile-zlib: clean-stageprofile-zlib
@@ -27588,6 +30835,7 @@ all-stagefeedback-zlib: configure-stagefeedback-zlib
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/zlib && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -27596,7 +30844,7 @@ all-stagefeedback-zlib: configure-stagefeedback-zlib
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-zlib)
 
 maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib
@@ -27613,6 +30861,90 @@ clean-stagefeedback-zlib:
 @endif zlib-bootstrap
 
 
+.PHONY: all-stageautoprofile-zlib maybe-all-stageautoprofile-zlib
+.PHONY: clean-stageautoprofile-zlib maybe-clean-stageautoprofile-zlib
+maybe-all-stageautoprofile-zlib:
+maybe-clean-stageautoprofile-zlib:
+@if zlib-bootstrap
+maybe-all-stageautoprofile-zlib: all-stageautoprofile-zlib
+all-stageautoprofile: all-stageautoprofile-zlib
+TARGET-stageautoprofile-zlib = $(TARGET-zlib)
+all-stageautoprofile-zlib: configure-stageautoprofile-zlib
+	@[ $(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)/zlib && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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-zlib)
+
+maybe-clean-stageautoprofile-zlib: clean-stageautoprofile-zlib
+clean-stageautoprofile: clean-stageautoprofile-zlib
+clean-stageautoprofile-zlib:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif zlib-bootstrap
+
+
+.PHONY: all-stageautofeedback-zlib maybe-all-stageautofeedback-zlib
+.PHONY: clean-stageautofeedback-zlib maybe-clean-stageautofeedback-zlib
+maybe-all-stageautofeedback-zlib:
+maybe-clean-stageautofeedback-zlib:
+@if zlib-bootstrap
+maybe-all-stageautofeedback-zlib: all-stageautofeedback-zlib
+all-stageautofeedback: all-stageautofeedback-zlib
+TARGET-stageautofeedback-zlib = $(TARGET-zlib)
+all-stageautofeedback-zlib: configure-stageautofeedback-zlib
+	@[ $(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)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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-zlib)
+
+maybe-clean-stageautofeedback-zlib: clean-stageautofeedback-zlib
+clean-stageautofeedback: clean-stageautofeedback-zlib
+clean-stageautofeedback-zlib:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  clean
+@endif zlib-bootstrap
+
+
 
 
 
@@ -31220,6 +34552,74 @@ configure-stagefeedback-lto-plugin:
 	  --enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
 @endif lto-plugin-bootstrap
 
+.PHONY: configure-stageautoprofile-lto-plugin maybe-configure-stageautoprofile-lto-plugin
+maybe-configure-stageautoprofile-lto-plugin:
+@if lto-plugin-bootstrap
+maybe-configure-stageautoprofile-lto-plugin: configure-stageautoprofile-lto-plugin
+configure-stageautoprofile-lto-plugin:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/lto-plugin
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/lto-plugin/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)/lto-plugin; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/lto-plugin; \
+	cd $(HOST_SUBDIR)/lto-plugin || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/lto-plugin/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=lto-plugin; \
+	$(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) \
+	  --enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
+@endif lto-plugin-bootstrap
+
+.PHONY: configure-stageautofeedback-lto-plugin maybe-configure-stageautofeedback-lto-plugin
+maybe-configure-stageautofeedback-lto-plugin:
+@if lto-plugin-bootstrap
+maybe-configure-stageautofeedback-lto-plugin: configure-stageautofeedback-lto-plugin
+configure-stageautofeedback-lto-plugin:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/lto-plugin
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	test ! -f $(HOST_SUBDIR)/lto-plugin/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)/lto-plugin; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/lto-plugin; \
+	cd $(HOST_SUBDIR)/lto-plugin || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(HOST_SUBDIR)/lto-plugin/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=lto-plugin; \
+	$(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) \
+	  --enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@
+@endif lto-plugin-bootstrap
+
 
 
 
@@ -31258,6 +34658,7 @@ all-stage1-lto-plugin: configure-stage1-lto-plugin
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		CXXFLAGS="$(STAGE1_CXXFLAGS)" \
@@ -31267,7 +34668,7 @@ all-stage1-lto-plugin: configure-stage1-lto-plugin
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS)  \
 		$(STAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-lto-plugin)
 
 maybe-clean-stage1-lto-plugin: clean-stage1-lto-plugin
@@ -31301,6 +34702,7 @@ all-stage2-lto-plugin: configure-stage2-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE2_CFLAGS)" \
 		CXXFLAGS="$(STAGE2_CXXFLAGS)" \
@@ -31309,7 +34711,7 @@ all-stage2-lto-plugin: configure-stage2-lto-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-lto-plugin)
 
 maybe-clean-stage2-lto-plugin: clean-stage2-lto-plugin
@@ -31342,6 +34744,7 @@ all-stage3-lto-plugin: configure-stage3-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE3_CFLAGS)" \
 		CXXFLAGS="$(STAGE3_CXXFLAGS)" \
@@ -31350,7 +34753,7 @@ all-stage3-lto-plugin: configure-stage3-lto-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-lto-plugin)
 
 maybe-clean-stage3-lto-plugin: clean-stage3-lto-plugin
@@ -31383,6 +34786,7 @@ all-stage4-lto-plugin: configure-stage4-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGE4_CFLAGS)" \
 		CXXFLAGS="$(STAGE4_CXXFLAGS)" \
@@ -31391,7 +34795,7 @@ all-stage4-lto-plugin: configure-stage4-lto-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-lto-plugin)
 
 maybe-clean-stage4-lto-plugin: clean-stage4-lto-plugin
@@ -31424,6 +34828,7 @@ all-stageprofile-lto-plugin: configure-stageprofile-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEprofile_CFLAGS)" \
 		CXXFLAGS="$(STAGEprofile_CXXFLAGS)" \
@@ -31432,7 +34837,7 @@ all-stageprofile-lto-plugin: configure-stageprofile-lto-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-lto-plugin)
 
 maybe-clean-stageprofile-lto-plugin: clean-stageprofile-lto-plugin
@@ -31465,6 +34870,7 @@ all-stagefeedback-lto-plugin: configure-stagefeedback-lto-plugin
 	$(HOST_EXPORTS) \
 	$(POSTSTAGE1_HOST_EXPORTS)  \
 	cd $(HOST_SUBDIR)/lto-plugin && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(STAGEfeedback_CFLAGS)" \
 		CXXFLAGS="$(STAGEfeedback_CXXFLAGS)" \
@@ -31473,7 +34879,7 @@ all-stagefeedback-lto-plugin: configure-stagefeedback-lto-plugin
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-lto-plugin)
 
 maybe-clean-stagefeedback-lto-plugin: clean-stagefeedback-lto-plugin
@@ -31490,6 +34896,90 @@ clean-stagefeedback-lto-plugin:
 @endif lto-plugin-bootstrap
 
 
+.PHONY: all-stageautoprofile-lto-plugin maybe-all-stageautoprofile-lto-plugin
+.PHONY: clean-stageautoprofile-lto-plugin maybe-clean-stageautoprofile-lto-plugin
+maybe-all-stageautoprofile-lto-plugin:
+maybe-clean-stageautoprofile-lto-plugin:
+@if lto-plugin-bootstrap
+maybe-all-stageautoprofile-lto-plugin: all-stageautoprofile-lto-plugin
+all-stageautoprofile: all-stageautoprofile-lto-plugin
+TARGET-stageautoprofile-lto-plugin = $(TARGET-lto-plugin)
+all-stageautoprofile-lto-plugin: configure-stageautoprofile-lto-plugin
+	@[ $(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)/lto-plugin && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautoprofile_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) @extra_linker_plugin_flags@ \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-lto-plugin)
+
+maybe-clean-stageautoprofile-lto-plugin: clean-stageautoprofile-lto-plugin
+clean-stageautoprofile: clean-stageautoprofile-lto-plugin
+clean-stageautoprofile-lto-plugin:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(HOST_SUBDIR)/lto-plugin/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautoprofile-lto-plugin/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/lto-plugin && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ clean
+@endif lto-plugin-bootstrap
+
+
+.PHONY: all-stageautofeedback-lto-plugin maybe-all-stageautofeedback-lto-plugin
+.PHONY: clean-stageautofeedback-lto-plugin maybe-clean-stageautofeedback-lto-plugin
+maybe-all-stageautofeedback-lto-plugin:
+maybe-clean-stageautofeedback-lto-plugin:
+@if lto-plugin-bootstrap
+maybe-all-stageautofeedback-lto-plugin: all-stageautofeedback-lto-plugin
+all-stageautofeedback: all-stageautofeedback-lto-plugin
+TARGET-stageautofeedback-lto-plugin = $(TARGET-lto-plugin)
+all-stageautofeedback-lto-plugin: configure-stageautofeedback-lto-plugin
+	@[ $(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)/lto-plugin && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(STAGEautofeedback_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) @extra_linker_plugin_flags@ \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-lto-plugin)
+
+maybe-clean-stageautofeedback-lto-plugin: clean-stageautofeedback-lto-plugin
+clean-stageautofeedback: clean-stageautofeedback-lto-plugin
+clean-stageautofeedback-lto-plugin:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(HOST_SUBDIR)/lto-plugin/Makefile ] || exit 0; \
+	else \
+	  [ -f $(HOST_SUBDIR)/stageautofeedback-lto-plugin/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(HOST_SUBDIR)/lto-plugin && \
+	$(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) @extra_linker_plugin_flags@ clean
+@endif lto-plugin-bootstrap
+
+
 
 
 
@@ -33069,6 +36559,96 @@ configure-stagefeedback-target-libstdc++-v3:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libstdc++-v3-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libstdc++-v3 maybe-configure-stageautoprofile-target-libstdc++-v3
+maybe-configure-stageautoprofile-target-libstdc++-v3:
+@if target-libstdc++-v3-bootstrap
+maybe-configure-stageautoprofile-target-libstdc++-v3: configure-stageautoprofile-target-libstdc++-v3
+configure-stageautoprofile-target-libstdc++-v3:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libstdc++-v3..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile; \
+	    mv $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libstdc++-v3; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3; \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libstdc++-v3/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libstdc++-v3; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libstdc++-v3-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libstdc++-v3 maybe-configure-stageautofeedback-target-libstdc++-v3
+maybe-configure-stageautofeedback-target-libstdc++-v3:
+@if target-libstdc++-v3-bootstrap
+maybe-configure-stageautofeedback-target-libstdc++-v3: configure-stageautofeedback-target-libstdc++-v3
+configure-stageautofeedback-target-libstdc++-v3:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libstdc++-v3..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile; \
+	    mv $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libstdc++-v3/multilib.tmp $(TARGET_SUBDIR)/libstdc++-v3/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libstdc++-v3; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3; \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libstdc++-v3/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libstdc++-v3; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libstdc++-v3-bootstrap
+
 
 
 
@@ -33107,6 +36687,7 @@ all-stage1-target-libstdc++-v3: configure-stage1-target-libstdc++-v3
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(RAW_CXX_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33116,7 +36697,7 @@ all-stage1-target-libstdc++-v3: configure-stage1-target-libstdc++-v3
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libstdc++-v3)
 
 maybe-clean-stage1-target-libstdc++-v3: clean-stage1-target-libstdc++-v3
@@ -33150,6 +36731,7 @@ all-stage2-target-libstdc++-v3: configure-stage2-target-libstdc++-v3
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33158,7 +36740,7 @@ all-stage2-target-libstdc++-v3: configure-stage2-target-libstdc++-v3
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libstdc++-v3)
 
 maybe-clean-stage2-target-libstdc++-v3: clean-stage2-target-libstdc++-v3
@@ -33191,6 +36773,7 @@ all-stage3-target-libstdc++-v3: configure-stage3-target-libstdc++-v3
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33199,7 +36782,7 @@ all-stage3-target-libstdc++-v3: configure-stage3-target-libstdc++-v3
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libstdc++-v3)
 
 maybe-clean-stage3-target-libstdc++-v3: clean-stage3-target-libstdc++-v3
@@ -33232,6 +36815,7 @@ all-stage4-target-libstdc++-v3: configure-stage4-target-libstdc++-v3
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33240,7 +36824,7 @@ all-stage4-target-libstdc++-v3: configure-stage4-target-libstdc++-v3
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libstdc++-v3)
 
 maybe-clean-stage4-target-libstdc++-v3: clean-stage4-target-libstdc++-v3
@@ -33273,6 +36857,7 @@ all-stageprofile-target-libstdc++-v3: configure-stageprofile-target-libstdc++-v3
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33281,7 +36866,7 @@ all-stageprofile-target-libstdc++-v3: configure-stageprofile-target-libstdc++-v3
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libstdc++-v3)
 
 maybe-clean-stageprofile-target-libstdc++-v3: clean-stageprofile-target-libstdc++-v3
@@ -33314,6 +36899,7 @@ all-stagefeedback-target-libstdc++-v3: configure-stagefeedback-target-libstdc++-
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -33322,7 +36908,7 @@ all-stagefeedback-target-libstdc++-v3: configure-stagefeedback-target-libstdc++-
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libstdc++-v3)
 
 maybe-clean-stagefeedback-target-libstdc++-v3: clean-stagefeedback-target-libstdc++-v3
@@ -33339,6 +36925,90 @@ clean-stagefeedback-target-libstdc++-v3:
 @endif target-libstdc++-v3-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libstdc++-v3 maybe-all-stageautoprofile-target-libstdc++-v3
+.PHONY: clean-stageautoprofile-target-libstdc++-v3 maybe-clean-stageautoprofile-target-libstdc++-v3
+maybe-all-stageautoprofile-target-libstdc++-v3:
+maybe-clean-stageautoprofile-target-libstdc++-v3:
+@if target-libstdc++-v3-bootstrap
+maybe-all-stageautoprofile-target-libstdc++-v3: all-stageautoprofile-target-libstdc++-v3
+all-stageautoprofile: all-stageautoprofile-target-libstdc++-v3
+TARGET-stageautoprofile-target-libstdc++-v3 = $(TARGET-target-libstdc++-v3)
+all-stageautoprofile-target-libstdc++-v3: configure-stageautoprofile-target-libstdc++-v3
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libstdc++-v3)
+
+maybe-clean-stageautoprofile-target-libstdc++-v3: clean-stageautoprofile-target-libstdc++-v3
+clean-stageautoprofile: clean-stageautoprofile-target-libstdc++-v3
+clean-stageautoprofile-target-libstdc++-v3:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libstdc++-v3/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libstdc++-v3-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libstdc++-v3 maybe-all-stageautofeedback-target-libstdc++-v3
+.PHONY: clean-stageautofeedback-target-libstdc++-v3 maybe-clean-stageautofeedback-target-libstdc++-v3
+maybe-all-stageautofeedback-target-libstdc++-v3:
+maybe-clean-stageautofeedback-target-libstdc++-v3:
+@if target-libstdc++-v3-bootstrap
+maybe-all-stageautofeedback-target-libstdc++-v3: all-stageautofeedback-target-libstdc++-v3
+all-stageautofeedback: all-stageautofeedback-target-libstdc++-v3
+TARGET-stageautofeedback-target-libstdc++-v3 = $(TARGET-target-libstdc++-v3)
+all-stageautofeedback-target-libstdc++-v3: configure-stageautofeedback-target-libstdc++-v3
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libstdc++-v3)
+
+maybe-clean-stageautofeedback-target-libstdc++-v3: clean-stageautofeedback-target-libstdc++-v3
+clean-stageautofeedback: clean-stageautofeedback-target-libstdc++-v3
+clean-stageautofeedback-target-libstdc++-v3:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libstdc++-v3/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libstdc++-v3-bootstrap
+
+
 
 
 
@@ -34045,6 +37715,96 @@ configure-stagefeedback-target-libsanitizer:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libsanitizer-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libsanitizer maybe-configure-stageautoprofile-target-libsanitizer
+maybe-configure-stageautoprofile-target-libsanitizer:
+@if target-libsanitizer-bootstrap
+maybe-configure-stageautoprofile-target-libsanitizer: configure-stageautoprofile-target-libsanitizer
+configure-stageautoprofile-target-libsanitizer:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libsanitizer..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libsanitizer/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libsanitizer/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libsanitizer/Makefile; \
+	    mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libsanitizer/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libsanitizer; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer; \
+	cd $(TARGET_SUBDIR)/libsanitizer || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libsanitizer/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libsanitizer; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libsanitizer-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libsanitizer maybe-configure-stageautofeedback-target-libsanitizer
+maybe-configure-stageautofeedback-target-libsanitizer:
+@if target-libsanitizer-bootstrap
+maybe-configure-stageautofeedback-target-libsanitizer: configure-stageautofeedback-target-libsanitizer
+configure-stageautofeedback-target-libsanitizer:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libsanitizer..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libsanitizer/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libsanitizer/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libsanitizer/Makefile; \
+	    mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libsanitizer/multilib.tmp $(TARGET_SUBDIR)/libsanitizer/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libsanitizer/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libsanitizer; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libsanitizer; \
+	cd $(TARGET_SUBDIR)/libsanitizer || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libsanitizer/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libsanitizer; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libsanitizer-bootstrap
+
 
 
 
@@ -34083,6 +37843,7 @@ all-stage1-target-libsanitizer: configure-stage1-target-libsanitizer
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(RAW_CXX_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34092,7 +37853,7 @@ all-stage1-target-libsanitizer: configure-stage1-target-libsanitizer
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libsanitizer)
 
 maybe-clean-stage1-target-libsanitizer: clean-stage1-target-libsanitizer
@@ -34126,6 +37887,7 @@ all-stage2-target-libsanitizer: configure-stage2-target-libsanitizer
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34134,7 +37896,7 @@ all-stage2-target-libsanitizer: configure-stage2-target-libsanitizer
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libsanitizer)
 
 maybe-clean-stage2-target-libsanitizer: clean-stage2-target-libsanitizer
@@ -34167,6 +37929,7 @@ all-stage3-target-libsanitizer: configure-stage3-target-libsanitizer
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34175,7 +37938,7 @@ all-stage3-target-libsanitizer: configure-stage3-target-libsanitizer
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libsanitizer)
 
 maybe-clean-stage3-target-libsanitizer: clean-stage3-target-libsanitizer
@@ -34208,6 +37971,7 @@ all-stage4-target-libsanitizer: configure-stage4-target-libsanitizer
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34216,7 +37980,7 @@ all-stage4-target-libsanitizer: configure-stage4-target-libsanitizer
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libsanitizer)
 
 maybe-clean-stage4-target-libsanitizer: clean-stage4-target-libsanitizer
@@ -34249,6 +38013,7 @@ all-stageprofile-target-libsanitizer: configure-stageprofile-target-libsanitizer
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34257,7 +38022,7 @@ all-stageprofile-target-libsanitizer: configure-stageprofile-target-libsanitizer
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libsanitizer)
 
 maybe-clean-stageprofile-target-libsanitizer: clean-stageprofile-target-libsanitizer
@@ -34290,6 +38055,7 @@ all-stagefeedback-target-libsanitizer: configure-stagefeedback-target-libsanitiz
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -34298,7 +38064,7 @@ all-stagefeedback-target-libsanitizer: configure-stagefeedback-target-libsanitiz
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libsanitizer)
 
 maybe-clean-stagefeedback-target-libsanitizer: clean-stagefeedback-target-libsanitizer
@@ -34315,6 +38081,90 @@ clean-stagefeedback-target-libsanitizer:
 @endif target-libsanitizer-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libsanitizer maybe-all-stageautoprofile-target-libsanitizer
+.PHONY: clean-stageautoprofile-target-libsanitizer maybe-clean-stageautoprofile-target-libsanitizer
+maybe-all-stageautoprofile-target-libsanitizer:
+maybe-clean-stageautoprofile-target-libsanitizer:
+@if target-libsanitizer-bootstrap
+maybe-all-stageautoprofile-target-libsanitizer: all-stageautoprofile-target-libsanitizer
+all-stageautoprofile: all-stageautoprofile-target-libsanitizer
+TARGET-stageautoprofile-target-libsanitizer = $(TARGET-target-libsanitizer)
+all-stageautoprofile-target-libsanitizer: configure-stageautoprofile-target-libsanitizer
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libsanitizer && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libsanitizer)
+
+maybe-clean-stageautoprofile-target-libsanitizer: clean-stageautoprofile-target-libsanitizer
+clean-stageautoprofile: clean-stageautoprofile-target-libsanitizer
+clean-stageautoprofile-target-libsanitizer:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libsanitizer/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libsanitizer && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libsanitizer-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libsanitizer maybe-all-stageautofeedback-target-libsanitizer
+.PHONY: clean-stageautofeedback-target-libsanitizer maybe-clean-stageautofeedback-target-libsanitizer
+maybe-all-stageautofeedback-target-libsanitizer:
+maybe-clean-stageautofeedback-target-libsanitizer:
+@if target-libsanitizer-bootstrap
+maybe-all-stageautofeedback-target-libsanitizer: all-stageautofeedback-target-libsanitizer
+all-stageautofeedback: all-stageautofeedback-target-libsanitizer
+TARGET-stageautofeedback-target-libsanitizer = $(TARGET-target-libsanitizer)
+all-stageautofeedback-target-libsanitizer: configure-stageautofeedback-target-libsanitizer
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libsanitizer && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libsanitizer)
+
+maybe-clean-stageautofeedback-target-libsanitizer: clean-stageautofeedback-target-libsanitizer
+clean-stageautofeedback: clean-stageautofeedback-target-libsanitizer
+clean-stageautofeedback-target-libsanitizer:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libsanitizer/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libsanitizer && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libsanitizer-bootstrap
+
+
 
 
 
@@ -35021,6 +38871,96 @@ configure-stagefeedback-target-libmpx:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libmpx-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libmpx maybe-configure-stageautoprofile-target-libmpx
+maybe-configure-stageautoprofile-target-libmpx:
+@if target-libmpx-bootstrap
+maybe-configure-stageautoprofile-target-libmpx: configure-stageautoprofile-target-libmpx
+configure-stageautoprofile-target-libmpx:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmpx
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libmpx..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libmpx/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libmpx/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libmpx/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libmpx/Makefile; \
+	    mv $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libmpx/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libmpx; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmpx; \
+	cd $(TARGET_SUBDIR)/libmpx || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libmpx/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libmpx; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libmpx-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libmpx maybe-configure-stageautofeedback-target-libmpx
+maybe-configure-stageautofeedback-target-libmpx:
+@if target-libmpx-bootstrap
+maybe-configure-stageautofeedback-target-libmpx: configure-stageautofeedback-target-libmpx
+configure-stageautofeedback-target-libmpx:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmpx
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libmpx..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libmpx/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libmpx/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libmpx/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libmpx/Makefile; \
+	    mv $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libmpx/multilib.tmp $(TARGET_SUBDIR)/libmpx/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libmpx/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libmpx; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmpx; \
+	cd $(TARGET_SUBDIR)/libmpx || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libmpx/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libmpx; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libmpx-bootstrap
+
 
 
 
@@ -35059,6 +38999,7 @@ all-stage1-target-libmpx: configure-stage1-target-libmpx
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35068,7 +39009,7 @@ all-stage1-target-libmpx: configure-stage1-target-libmpx
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libmpx)
 
 maybe-clean-stage1-target-libmpx: clean-stage1-target-libmpx
@@ -35102,6 +39043,7 @@ all-stage2-target-libmpx: configure-stage2-target-libmpx
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35110,7 +39052,7 @@ all-stage2-target-libmpx: configure-stage2-target-libmpx
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libmpx)
 
 maybe-clean-stage2-target-libmpx: clean-stage2-target-libmpx
@@ -35143,6 +39085,7 @@ all-stage3-target-libmpx: configure-stage3-target-libmpx
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35151,7 +39094,7 @@ all-stage3-target-libmpx: configure-stage3-target-libmpx
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libmpx)
 
 maybe-clean-stage3-target-libmpx: clean-stage3-target-libmpx
@@ -35184,6 +39127,7 @@ all-stage4-target-libmpx: configure-stage4-target-libmpx
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35192,7 +39136,7 @@ all-stage4-target-libmpx: configure-stage4-target-libmpx
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libmpx)
 
 maybe-clean-stage4-target-libmpx: clean-stage4-target-libmpx
@@ -35225,6 +39169,7 @@ all-stageprofile-target-libmpx: configure-stageprofile-target-libmpx
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35233,7 +39178,7 @@ all-stageprofile-target-libmpx: configure-stageprofile-target-libmpx
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libmpx)
 
 maybe-clean-stageprofile-target-libmpx: clean-stageprofile-target-libmpx
@@ -35266,6 +39211,7 @@ all-stagefeedback-target-libmpx: configure-stagefeedback-target-libmpx
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -35274,7 +39220,7 @@ all-stagefeedback-target-libmpx: configure-stagefeedback-target-libmpx
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libmpx)
 
 maybe-clean-stagefeedback-target-libmpx: clean-stagefeedback-target-libmpx
@@ -35291,6 +39237,90 @@ clean-stagefeedback-target-libmpx:
 @endif target-libmpx-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libmpx maybe-all-stageautoprofile-target-libmpx
+.PHONY: clean-stageautoprofile-target-libmpx maybe-clean-stageautoprofile-target-libmpx
+maybe-all-stageautoprofile-target-libmpx:
+maybe-clean-stageautoprofile-target-libmpx:
+@if target-libmpx-bootstrap
+maybe-all-stageautoprofile-target-libmpx: all-stageautoprofile-target-libmpx
+all-stageautoprofile: all-stageautoprofile-target-libmpx
+TARGET-stageautoprofile-target-libmpx = $(TARGET-target-libmpx)
+all-stageautoprofile-target-libmpx: configure-stageautoprofile-target-libmpx
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libmpx && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libmpx)
+
+maybe-clean-stageautoprofile-target-libmpx: clean-stageautoprofile-target-libmpx
+clean-stageautoprofile: clean-stageautoprofile-target-libmpx
+clean-stageautoprofile-target-libmpx:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libmpx/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libmpx/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libmpx && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libmpx-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libmpx maybe-all-stageautofeedback-target-libmpx
+.PHONY: clean-stageautofeedback-target-libmpx maybe-clean-stageautofeedback-target-libmpx
+maybe-all-stageautofeedback-target-libmpx:
+maybe-clean-stageautofeedback-target-libmpx:
+@if target-libmpx-bootstrap
+maybe-all-stageautofeedback-target-libmpx: all-stageautofeedback-target-libmpx
+all-stageautofeedback: all-stageautofeedback-target-libmpx
+TARGET-stageautofeedback-target-libmpx = $(TARGET-target-libmpx)
+all-stageautofeedback-target-libmpx: configure-stageautofeedback-target-libmpx
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libmpx && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libmpx)
+
+maybe-clean-stageautofeedback-target-libmpx: clean-stageautofeedback-target-libmpx
+clean-stageautofeedback: clean-stageautofeedback-target-libmpx
+clean-stageautofeedback-target-libmpx:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libmpx/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libmpx/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libmpx && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libmpx-bootstrap
+
+
 
 
 
@@ -35997,6 +40027,96 @@ configure-stagefeedback-target-libvtv:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libvtv-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libvtv maybe-configure-stageautoprofile-target-libvtv
+maybe-configure-stageautoprofile-target-libvtv:
+@if target-libvtv-bootstrap
+maybe-configure-stageautoprofile-target-libvtv: configure-stageautoprofile-target-libvtv
+configure-stageautoprofile-target-libvtv:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libvtv
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libvtv..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libvtv/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libvtv/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libvtv/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libvtv/Makefile; \
+	    mv $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libvtv/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libvtv; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libvtv; \
+	cd $(TARGET_SUBDIR)/libvtv || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libvtv/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libvtv; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libvtv-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libvtv maybe-configure-stageautofeedback-target-libvtv
+maybe-configure-stageautofeedback-target-libvtv:
+@if target-libvtv-bootstrap
+maybe-configure-stageautofeedback-target-libvtv: configure-stageautofeedback-target-libvtv
+configure-stageautofeedback-target-libvtv:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libvtv
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libvtv..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libvtv/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libvtv/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libvtv/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libvtv/Makefile; \
+	    mv $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libvtv/multilib.tmp $(TARGET_SUBDIR)/libvtv/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libvtv/Makefile || exit 0; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libvtv; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libvtv; \
+	cd $(TARGET_SUBDIR)/libvtv || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libvtv/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libvtv; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libvtv-bootstrap
+
 
 
 
@@ -36035,6 +40155,7 @@ all-stage1-target-libvtv: configure-stage1-target-libvtv
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(RAW_CXX_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36044,7 +40165,7 @@ all-stage1-target-libvtv: configure-stage1-target-libvtv
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libvtv)
 
 maybe-clean-stage1-target-libvtv: clean-stage1-target-libvtv
@@ -36078,6 +40199,7 @@ all-stage2-target-libvtv: configure-stage2-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36086,7 +40208,7 @@ all-stage2-target-libvtv: configure-stage2-target-libvtv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libvtv)
 
 maybe-clean-stage2-target-libvtv: clean-stage2-target-libvtv
@@ -36119,6 +40241,7 @@ all-stage3-target-libvtv: configure-stage3-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36127,7 +40250,7 @@ all-stage3-target-libvtv: configure-stage3-target-libvtv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libvtv)
 
 maybe-clean-stage3-target-libvtv: clean-stage3-target-libvtv
@@ -36160,6 +40283,7 @@ all-stage4-target-libvtv: configure-stage4-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36168,7 +40292,7 @@ all-stage4-target-libvtv: configure-stage4-target-libvtv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libvtv)
 
 maybe-clean-stage4-target-libvtv: clean-stage4-target-libvtv
@@ -36201,6 +40325,7 @@ all-stageprofile-target-libvtv: configure-stageprofile-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36209,7 +40334,7 @@ all-stageprofile-target-libvtv: configure-stageprofile-target-libvtv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libvtv)
 
 maybe-clean-stageprofile-target-libvtv: clean-stageprofile-target-libvtv
@@ -36242,6 +40367,7 @@ all-stagefeedback-target-libvtv: configure-stagefeedback-target-libvtv
 	$(RAW_CXX_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -36250,7 +40376,7 @@ all-stagefeedback-target-libvtv: configure-stagefeedback-target-libvtv
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libvtv)
 
 maybe-clean-stagefeedback-target-libvtv: clean-stagefeedback-target-libvtv
@@ -36267,6 +40393,90 @@ clean-stagefeedback-target-libvtv:
 @endif target-libvtv-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libvtv maybe-all-stageautoprofile-target-libvtv
+.PHONY: clean-stageautoprofile-target-libvtv maybe-clean-stageautoprofile-target-libvtv
+maybe-all-stageautoprofile-target-libvtv:
+maybe-clean-stageautoprofile-target-libvtv:
+@if target-libvtv-bootstrap
+maybe-all-stageautoprofile-target-libvtv: all-stageautoprofile-target-libvtv
+all-stageautoprofile: all-stageautoprofile-target-libvtv
+TARGET-stageautoprofile-target-libvtv = $(TARGET-target-libvtv)
+all-stageautoprofile-target-libvtv: configure-stageautoprofile-target-libvtv
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libvtv && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libvtv)
+
+maybe-clean-stageautoprofile-target-libvtv: clean-stageautoprofile-target-libvtv
+clean-stageautoprofile: clean-stageautoprofile-target-libvtv
+clean-stageautoprofile-target-libvtv:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libvtv/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libvtv/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libvtv && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libvtv-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libvtv maybe-all-stageautofeedback-target-libvtv
+.PHONY: clean-stageautofeedback-target-libvtv maybe-clean-stageautofeedback-target-libvtv
+maybe-all-stageautofeedback-target-libvtv:
+maybe-clean-stageautofeedback-target-libvtv:
+@if target-libvtv-bootstrap
+maybe-all-stageautofeedback-target-libvtv: all-stageautofeedback-target-libvtv
+all-stageautofeedback: all-stageautofeedback-target-libvtv
+TARGET-stageautofeedback-target-libvtv = $(TARGET-target-libvtv)
+all-stageautofeedback-target-libvtv: configure-stageautofeedback-target-libvtv
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libvtv && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libvtv)
+
+maybe-clean-stageautofeedback-target-libvtv: clean-stageautofeedback-target-libvtv
+clean-stageautofeedback: clean-stageautofeedback-target-libvtv
+clean-stageautofeedback-target-libvtv:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libvtv/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libvtv/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libvtv && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   clean
+@endif target-libvtv-bootstrap
+
+
 
 
 
@@ -38805,6 +43015,96 @@ configure-stagefeedback-target-libgcc:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libgcc-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libgcc maybe-configure-stageautoprofile-target-libgcc
+maybe-configure-stageautoprofile-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stageautoprofile-target-libgcc: configure-stageautoprofile-target-libgcc
+configure-stageautoprofile-target-libgcc:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libgcc..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+	    mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libgcc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc; \
+	cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgcc; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libgcc maybe-configure-stageautofeedback-target-libgcc
+maybe-configure-stageautofeedback-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stageautofeedback-target-libgcc: configure-stageautofeedback-target-libgcc
+configure-stageautofeedback-target-libgcc:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libgcc..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+	    mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libgcc; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc; \
+	cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgcc; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libgcc-bootstrap
+
 
 
 
@@ -38843,6 +43143,7 @@ all-stage1-target-libgcc: configure-stage1-target-libgcc
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -38852,7 +43153,7 @@ all-stage1-target-libgcc: configure-stage1-target-libgcc
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libgcc)
 
 maybe-clean-stage1-target-libgcc: clean-stage1-target-libgcc
@@ -38886,6 +43187,7 @@ all-stage2-target-libgcc: configure-stage2-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -38894,7 +43196,7 @@ all-stage2-target-libgcc: configure-stage2-target-libgcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libgcc)
 
 maybe-clean-stage2-target-libgcc: clean-stage2-target-libgcc
@@ -38927,6 +43229,7 @@ all-stage3-target-libgcc: configure-stage3-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -38935,7 +43238,7 @@ all-stage3-target-libgcc: configure-stage3-target-libgcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libgcc)
 
 maybe-clean-stage3-target-libgcc: clean-stage3-target-libgcc
@@ -38968,6 +43271,7 @@ all-stage4-target-libgcc: configure-stage4-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -38976,7 +43280,7 @@ all-stage4-target-libgcc: configure-stage4-target-libgcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libgcc)
 
 maybe-clean-stage4-target-libgcc: clean-stage4-target-libgcc
@@ -39009,6 +43313,7 @@ all-stageprofile-target-libgcc: configure-stageprofile-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -39017,7 +43322,7 @@ all-stageprofile-target-libgcc: configure-stageprofile-target-libgcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libgcc)
 
 maybe-clean-stageprofile-target-libgcc: clean-stageprofile-target-libgcc
@@ -39050,6 +43355,7 @@ all-stagefeedback-target-libgcc: configure-stagefeedback-target-libgcc
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -39058,7 +43364,7 @@ all-stagefeedback-target-libgcc: configure-stagefeedback-target-libgcc
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libgcc)
 
 maybe-clean-stagefeedback-target-libgcc: clean-stagefeedback-target-libgcc
@@ -39075,6 +43381,90 @@ clean-stagefeedback-target-libgcc:
 @endif target-libgcc-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libgcc maybe-all-stageautoprofile-target-libgcc
+.PHONY: clean-stageautoprofile-target-libgcc maybe-clean-stageautoprofile-target-libgcc
+maybe-all-stageautoprofile-target-libgcc:
+maybe-clean-stageautoprofile-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stageautoprofile-target-libgcc: all-stageautoprofile-target-libgcc
+all-stageautoprofile: all-stageautoprofile-target-libgcc
+TARGET-stageautoprofile-target-libgcc = $(TARGET-target-libgcc)
+all-stageautoprofile-target-libgcc: configure-stageautoprofile-target-libgcc
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libgcc && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libgcc)
+
+maybe-clean-stageautoprofile-target-libgcc: clean-stageautoprofile-target-libgcc
+clean-stageautoprofile: clean-stageautoprofile-target-libgcc
+clean-stageautoprofile-target-libgcc:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libgcc/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libgcc && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libgcc maybe-all-stageautofeedback-target-libgcc
+.PHONY: clean-stageautofeedback-target-libgcc maybe-clean-stageautofeedback-target-libgcc
+maybe-all-stageautofeedback-target-libgcc:
+maybe-clean-stageautofeedback-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stageautofeedback-target-libgcc: all-stageautofeedback-target-libgcc
+all-stageautofeedback: all-stageautofeedback-target-libgcc
+TARGET-stageautofeedback-target-libgcc = $(TARGET-target-libgcc)
+all-stageautofeedback-target-libgcc: configure-stageautofeedback-target-libgcc
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libgcc && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libgcc)
+
+maybe-clean-stageautofeedback-target-libgcc: clean-stageautofeedback-target-libgcc
+clean-stageautofeedback: clean-stageautofeedback-target-libgcc
+clean-stageautofeedback-target-libgcc:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libgcc/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libgcc && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libgcc-bootstrap
+
+
 
 
 
@@ -46108,6 +50498,96 @@ configure-stagefeedback-target-libgomp:
 	  $(STAGEfeedback_CONFIGURE_FLAGS)
 @endif target-libgomp-bootstrap
 
+.PHONY: configure-stageautoprofile-target-libgomp maybe-configure-stageautoprofile-target-libgomp
+maybe-configure-stageautoprofile-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stageautoprofile-target-libgomp: configure-stageautoprofile-target-libgomp
+configure-stageautoprofile-target-libgomp:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libgomp..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+	    mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libgomp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp; \
+	cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgomp; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libgomp maybe-configure-stageautofeedback-target-libgomp
+maybe-configure-stageautofeedback-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stageautofeedback-target-libgomp: configure-stageautofeedback-target-libgomp
+configure-stageautofeedback-target-libgomp:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libgomp..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+	    mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libgomp; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp; \
+	cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libgomp; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
 
 
 
@@ -46146,6 +50626,7 @@ all-stage1-target-libgomp: configure-stage1-target-libgomp
 	TFLAGS="$(STAGE1_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS)  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46155,7 +50636,7 @@ all-stage1-target-libgomp: configure-stage1-target-libgomp
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)  \
 		  \
-		TFLAGS="$(STAGE1_TFLAGS)" \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
 		$(TARGET-stage1-target-libgomp)
 
 maybe-clean-stage1-target-libgomp: clean-stage1-target-libgomp
@@ -46189,6 +50670,7 @@ all-stage2-target-libgomp: configure-stage2-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46197,7 +50679,7 @@ all-stage2-target-libgomp: configure-stage2-target-libgomp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE2_TFLAGS)" \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
 		$(TARGET-stage2-target-libgomp)
 
 maybe-clean-stage2-target-libgomp: clean-stage2-target-libgomp
@@ -46230,6 +50712,7 @@ all-stage3-target-libgomp: configure-stage3-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46238,7 +50721,7 @@ all-stage3-target-libgomp: configure-stage3-target-libgomp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE3_TFLAGS)" \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
 		$(TARGET-stage3-target-libgomp)
 
 maybe-clean-stage3-target-libgomp: clean-stage3-target-libgomp
@@ -46271,6 +50754,7 @@ all-stage4-target-libgomp: configure-stage4-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46279,7 +50763,7 @@ all-stage4-target-libgomp: configure-stage4-target-libgomp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGE4_TFLAGS)" \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
 		$(TARGET-stage4-target-libgomp)
 
 maybe-clean-stage4-target-libgomp: clean-stage4-target-libgomp
@@ -46312,6 +50796,7 @@ all-stageprofile-target-libgomp: configure-stageprofile-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46320,7 +50805,7 @@ all-stageprofile-target-libgomp: configure-stageprofile-target-libgomp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEprofile_TFLAGS)" \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
 		$(TARGET-stageprofile-target-libgomp)
 
 maybe-clean-stageprofile-target-libgomp: clean-stageprofile-target-libgomp
@@ -46353,6 +50838,7 @@ all-stagefeedback-target-libgomp: configure-stagefeedback-target-libgomp
 	$(NORMAL_TARGET_EXPORTS) \
 	  \
 	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
 	$(MAKE) $(BASE_FLAGS_TO_PASS) \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -46361,7 +50847,7 @@ all-stagefeedback-target-libgomp: configure-stagefeedback-target-libgomp
 		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		$(EXTRA_TARGET_FLAGS)   \
-		TFLAGS="$(STAGEfeedback_TFLAGS)" \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
 		$(TARGET-stagefeedback-target-libgomp)
 
 maybe-clean-stagefeedback-target-libgomp: clean-stagefeedback-target-libgomp
@@ -46378,6 +50864,90 @@ clean-stagefeedback-target-libgomp:
 @endif target-libgomp-bootstrap
 
 
+.PHONY: all-stageautoprofile-target-libgomp maybe-all-stageautoprofile-target-libgomp
+.PHONY: clean-stageautoprofile-target-libgomp maybe-clean-stageautoprofile-target-libgomp
+maybe-all-stageautoprofile-target-libgomp:
+maybe-clean-stageautoprofile-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stageautoprofile-target-libgomp: all-stageautoprofile-target-libgomp
+all-stageautoprofile: all-stageautoprofile-target-libgomp
+TARGET-stageautoprofile-target-libgomp = $(TARGET-target-libgomp)
+all-stageautoprofile-target-libgomp: configure-stageautoprofile-target-libgomp
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libgomp && \
+	$$s/gcc/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libgomp)
+
+maybe-clean-stageautoprofile-target-libgomp: clean-stageautoprofile-target-libgomp
+clean-stageautoprofile: clean-stageautoprofile-target-libgomp
+clean-stageautoprofile-target-libgomp:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libgomp/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libgomp && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libgomp maybe-all-stageautofeedback-target-libgomp
+.PHONY: clean-stageautofeedback-target-libgomp maybe-clean-stageautofeedback-target-libgomp
+maybe-all-stageautofeedback-target-libgomp:
+maybe-clean-stageautofeedback-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stageautofeedback-target-libgomp: all-stageautofeedback-target-libgomp
+all-stageautofeedback: all-stageautofeedback-target-libgomp
+TARGET-stageautofeedback-target-libgomp = $(TARGET-target-libgomp)
+all-stageautofeedback-target-libgomp: configure-stageautofeedback-target-libgomp
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libgomp && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libgomp)
+
+maybe-clean-stageautofeedback-target-libgomp: clean-stageautofeedback-target-libgomp
+clean-stageautofeedback: clean-stageautofeedback-target-libgomp
+clean-stageautofeedback-target-libgomp:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libgomp/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libgomp && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libgomp-bootstrap
+
+
 
 
 
@@ -49907,6 +54477,667 @@ distclean-stagefeedback::
 @endif gcc-bootstrap
 
 
+.PHONY: stageautoprofile-start stageautoprofile-end
+
+stageautoprofile-start::
+	@: $(MAKE); $(stage); \
+	echo stageautoprofile > stage_current; \
+	echo stageautoprofile > stage_last; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)
+@if bfd
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-bfd ] || \
+	  mkdir stageautoprofile-bfd; \
+	mv stageautoprofile-bfd bfd; \
+	mv stage1-bfd prev-bfd || test -f stage1-lean 
+@endif bfd
+@if opcodes
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-opcodes ] || \
+	  mkdir stageautoprofile-opcodes; \
+	mv stageautoprofile-opcodes opcodes; \
+	mv stage1-opcodes prev-opcodes || test -f stage1-lean 
+@endif opcodes
+@if binutils
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-binutils ] || \
+	  mkdir stageautoprofile-binutils; \
+	mv stageautoprofile-binutils binutils; \
+	mv stage1-binutils prev-binutils || test -f stage1-lean 
+@endif binutils
+@if fixincludes
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-fixincludes ] || \
+	  mkdir stageautoprofile-fixincludes; \
+	mv stageautoprofile-fixincludes fixincludes; \
+	mv stage1-fixincludes prev-fixincludes || test -f stage1-lean 
+@endif fixincludes
+@if gas
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-gas ] || \
+	  mkdir stageautoprofile-gas; \
+	mv stageautoprofile-gas gas; \
+	mv stage1-gas prev-gas || test -f stage1-lean 
+@endif gas
+@if gcc
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-gcc ] || \
+	  mkdir stageautoprofile-gcc; \
+	mv stageautoprofile-gcc gcc; \
+	mv stage1-gcc prev-gcc || test -f stage1-lean 
+@endif gcc
+@if gmp
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-gmp ] || \
+	  mkdir stageautoprofile-gmp; \
+	mv stageautoprofile-gmp gmp; \
+	mv stage1-gmp prev-gmp || test -f stage1-lean 
+@endif gmp
+@if mpfr
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-mpfr ] || \
+	  mkdir stageautoprofile-mpfr; \
+	mv stageautoprofile-mpfr mpfr; \
+	mv stage1-mpfr prev-mpfr || test -f stage1-lean 
+@endif mpfr
+@if mpc
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-mpc ] || \
+	  mkdir stageautoprofile-mpc; \
+	mv stageautoprofile-mpc mpc; \
+	mv stage1-mpc prev-mpc || test -f stage1-lean 
+@endif mpc
+@if isl
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-isl ] || \
+	  mkdir stageautoprofile-isl; \
+	mv stageautoprofile-isl isl; \
+	mv stage1-isl prev-isl || test -f stage1-lean 
+@endif isl
+@if libelf
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libelf ] || \
+	  mkdir stageautoprofile-libelf; \
+	mv stageautoprofile-libelf libelf; \
+	mv stage1-libelf prev-libelf || test -f stage1-lean 
+@endif libelf
+@if gold
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-gold ] || \
+	  mkdir stageautoprofile-gold; \
+	mv stageautoprofile-gold gold; \
+	mv stage1-gold prev-gold || test -f stage1-lean 
+@endif gold
+@if intl
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-intl ] || \
+	  mkdir stageautoprofile-intl; \
+	mv stageautoprofile-intl intl; \
+	mv stage1-intl prev-intl || test -f stage1-lean 
+@endif intl
+@if ld
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-ld ] || \
+	  mkdir stageautoprofile-ld; \
+	mv stageautoprofile-ld ld; \
+	mv stage1-ld prev-ld || test -f stage1-lean 
+@endif ld
+@if libbacktrace
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libbacktrace ] || \
+	  mkdir stageautoprofile-libbacktrace; \
+	mv stageautoprofile-libbacktrace libbacktrace; \
+	mv stage1-libbacktrace prev-libbacktrace || test -f stage1-lean 
+@endif libbacktrace
+@if libcpp
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libcpp ] || \
+	  mkdir stageautoprofile-libcpp; \
+	mv stageautoprofile-libcpp libcpp; \
+	mv stage1-libcpp prev-libcpp || test -f stage1-lean 
+@endif libcpp
+@if libdecnumber
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libdecnumber ] || \
+	  mkdir stageautoprofile-libdecnumber; \
+	mv stageautoprofile-libdecnumber libdecnumber; \
+	mv stage1-libdecnumber prev-libdecnumber || test -f stage1-lean 
+@endif libdecnumber
+@if libiberty
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libiberty ] || \
+	  mkdir stageautoprofile-libiberty; \
+	mv stageautoprofile-libiberty libiberty; \
+	mv stage1-libiberty prev-libiberty || test -f stage1-lean 
+@endif libiberty
+@if libiberty-linker-plugin
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libiberty-linker-plugin ] || \
+	  mkdir stageautoprofile-libiberty-linker-plugin; \
+	mv stageautoprofile-libiberty-linker-plugin libiberty-linker-plugin; \
+	mv stage1-libiberty-linker-plugin prev-libiberty-linker-plugin || test -f stage1-lean 
+@endif libiberty-linker-plugin
+@if libiconv
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-libiconv ] || \
+	  mkdir stageautoprofile-libiconv; \
+	mv stageautoprofile-libiconv libiconv; \
+	mv stage1-libiconv prev-libiconv || test -f stage1-lean 
+@endif libiconv
+@if zlib
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-zlib ] || \
+	  mkdir stageautoprofile-zlib; \
+	mv stageautoprofile-zlib zlib; \
+	mv stage1-zlib prev-zlib || test -f stage1-lean 
+@endif zlib
+@if lto-plugin
+	@cd $(HOST_SUBDIR); [ -d stageautoprofile-lto-plugin ] || \
+	  mkdir stageautoprofile-lto-plugin; \
+	mv stageautoprofile-lto-plugin lto-plugin; \
+	mv stage1-lto-plugin prev-lto-plugin || test -f stage1-lean 
+@endif lto-plugin
+	@[ -d stageautoprofile-$(TARGET_SUBDIR) ] || \
+	  mkdir stageautoprofile-$(TARGET_SUBDIR); \
+	mv stageautoprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
+	mv stage1-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage1-lean 
+
+stageautoprofile-end:: 
+@if bfd
+	@if test -d $(HOST_SUBDIR)/bfd; then \
+	  cd $(HOST_SUBDIR); mv bfd stageautoprofile-bfd; \
+	  mv prev-bfd stage1-bfd; : ; \
+	fi
+@endif bfd
+@if opcodes
+	@if test -d $(HOST_SUBDIR)/opcodes; then \
+	  cd $(HOST_SUBDIR); mv opcodes stageautoprofile-opcodes; \
+	  mv prev-opcodes stage1-opcodes; : ; \
+	fi
+@endif opcodes
+@if binutils
+	@if test -d $(HOST_SUBDIR)/binutils; then \
+	  cd $(HOST_SUBDIR); mv binutils stageautoprofile-binutils; \
+	  mv prev-binutils stage1-binutils; : ; \
+	fi
+@endif binutils
+@if fixincludes
+	@if test -d $(HOST_SUBDIR)/fixincludes; then \
+	  cd $(HOST_SUBDIR); mv fixincludes stageautoprofile-fixincludes; \
+	  mv prev-fixincludes stage1-fixincludes; : ; \
+	fi
+@endif fixincludes
+@if gas
+	@if test -d $(HOST_SUBDIR)/gas; then \
+	  cd $(HOST_SUBDIR); mv gas stageautoprofile-gas; \
+	  mv prev-gas stage1-gas; : ; \
+	fi
+@endif gas
+@if gcc
+	@if test -d $(HOST_SUBDIR)/gcc; then \
+	  cd $(HOST_SUBDIR); mv gcc stageautoprofile-gcc; \
+	  mv prev-gcc stage1-gcc; : ; \
+	fi
+@endif gcc
+@if gmp
+	@if test -d $(HOST_SUBDIR)/gmp; then \
+	  cd $(HOST_SUBDIR); mv gmp stageautoprofile-gmp; \
+	  mv prev-gmp stage1-gmp; : ; \
+	fi
+@endif gmp
+@if mpfr
+	@if test -d $(HOST_SUBDIR)/mpfr; then \
+	  cd $(HOST_SUBDIR); mv mpfr stageautoprofile-mpfr; \
+	  mv prev-mpfr stage1-mpfr; : ; \
+	fi
+@endif mpfr
+@if mpc
+	@if test -d $(HOST_SUBDIR)/mpc; then \
+	  cd $(HOST_SUBDIR); mv mpc stageautoprofile-mpc; \
+	  mv prev-mpc stage1-mpc; : ; \
+	fi
+@endif mpc
+@if isl
+	@if test -d $(HOST_SUBDIR)/isl; then \
+	  cd $(HOST_SUBDIR); mv isl stageautoprofile-isl; \
+	  mv prev-isl stage1-isl; : ; \
+	fi
+@endif isl
+@if libelf
+	@if test -d $(HOST_SUBDIR)/libelf; then \
+	  cd $(HOST_SUBDIR); mv libelf stageautoprofile-libelf; \
+	  mv prev-libelf stage1-libelf; : ; \
+	fi
+@endif libelf
+@if gold
+	@if test -d $(HOST_SUBDIR)/gold; then \
+	  cd $(HOST_SUBDIR); mv gold stageautoprofile-gold; \
+	  mv prev-gold stage1-gold; : ; \
+	fi
+@endif gold
+@if intl
+	@if test -d $(HOST_SUBDIR)/intl; then \
+	  cd $(HOST_SUBDIR); mv intl stageautoprofile-intl; \
+	  mv prev-intl stage1-intl; : ; \
+	fi
+@endif intl
+@if ld
+	@if test -d $(HOST_SUBDIR)/ld; then \
+	  cd $(HOST_SUBDIR); mv ld stageautoprofile-ld; \
+	  mv prev-ld stage1-ld; : ; \
+	fi
+@endif ld
+@if libbacktrace
+	@if test -d $(HOST_SUBDIR)/libbacktrace; then \
+	  cd $(HOST_SUBDIR); mv libbacktrace stageautoprofile-libbacktrace; \
+	  mv prev-libbacktrace stage1-libbacktrace; : ; \
+	fi
+@endif libbacktrace
+@if libcpp
+	@if test -d $(HOST_SUBDIR)/libcpp; then \
+	  cd $(HOST_SUBDIR); mv libcpp stageautoprofile-libcpp; \
+	  mv prev-libcpp stage1-libcpp; : ; \
+	fi
+@endif libcpp
+@if libdecnumber
+	@if test -d $(HOST_SUBDIR)/libdecnumber; then \
+	  cd $(HOST_SUBDIR); mv libdecnumber stageautoprofile-libdecnumber; \
+	  mv prev-libdecnumber stage1-libdecnumber; : ; \
+	fi
+@endif libdecnumber
+@if libiberty
+	@if test -d $(HOST_SUBDIR)/libiberty; then \
+	  cd $(HOST_SUBDIR); mv libiberty stageautoprofile-libiberty; \
+	  mv prev-libiberty stage1-libiberty; : ; \
+	fi
+@endif libiberty
+@if libiberty-linker-plugin
+	@if test -d $(HOST_SUBDIR)/libiberty-linker-plugin; then \
+	  cd $(HOST_SUBDIR); mv libiberty-linker-plugin stageautoprofile-libiberty-linker-plugin; \
+	  mv prev-libiberty-linker-plugin stage1-libiberty-linker-plugin; : ; \
+	fi
+@endif libiberty-linker-plugin
+@if libiconv
+	@if test -d $(HOST_SUBDIR)/libiconv; then \
+	  cd $(HOST_SUBDIR); mv libiconv stageautoprofile-libiconv; \
+	  mv prev-libiconv stage1-libiconv; : ; \
+	fi
+@endif libiconv
+@if zlib
+	@if test -d $(HOST_SUBDIR)/zlib; then \
+	  cd $(HOST_SUBDIR); mv zlib stageautoprofile-zlib; \
+	  mv prev-zlib stage1-zlib; : ; \
+	fi
+@endif zlib
+@if lto-plugin
+	@if test -d $(HOST_SUBDIR)/lto-plugin; then \
+	  cd $(HOST_SUBDIR); mv lto-plugin stageautoprofile-lto-plugin; \
+	  mv prev-lto-plugin stage1-lto-plugin; : ; \
+	fi
+@endif lto-plugin
+	@if test -d $(TARGET_SUBDIR); then \
+	  mv $(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); \
+	  mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \
+	fi
+	rm -f stage_current
+
+# Bubble a bug fix through all the stages up to stage autoprofile.  They are
+# remade, but not reconfigured.  The next stage (if any) will not be
+# reconfigured either.
+.PHONY: stageautoprofile-bubble
+stageautoprofile-bubble:: stage1-bubble
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	if test -f stageautoprofile-lean || test -f stage1-lean ; then \
+	  echo Skipping rebuild of stageautoprofile; \
+	else \
+	  $(MAKE) stageautoprofile-start; \
+	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stageautoprofile; \
+	fi
+
+.PHONY: all-stageautoprofile clean-stageautoprofile
+do-clean: clean-stageautoprofile
+
+# FIXME: Will not need to be conditional when toplevel bootstrap is the
+# only possibility, but now it conflicts with no-bootstrap rules
+@if gcc-bootstrap
+
+
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stage1:: distclean-stageautoprofile 
+.PHONY: distclean-stageautoprofile
+distclean-stageautoprofile::
+	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stageautoprofile || rm -f stage_last
+	rm -rf stageautoprofile-* 
+
+
+@endif gcc-bootstrap
+
+
+.PHONY: stageautofeedback-start stageautofeedback-end
+
+stageautofeedback-start::
+	@: $(MAKE); $(stage); \
+	echo stageautofeedback > stage_current; \
+	echo stageautofeedback > stage_last; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)
+@if bfd
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-bfd ] || \
+	  mkdir stageautofeedback-bfd; \
+	mv stageautofeedback-bfd bfd; \
+	mv stageautoprofile-bfd prev-bfd || test -f stageautoprofile-lean 
+@endif bfd
+@if opcodes
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-opcodes ] || \
+	  mkdir stageautofeedback-opcodes; \
+	mv stageautofeedback-opcodes opcodes; \
+	mv stageautoprofile-opcodes prev-opcodes || test -f stageautoprofile-lean 
+@endif opcodes
+@if binutils
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-binutils ] || \
+	  mkdir stageautofeedback-binutils; \
+	mv stageautofeedback-binutils binutils; \
+	mv stageautoprofile-binutils prev-binutils || test -f stageautoprofile-lean 
+@endif binutils
+@if fixincludes
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-fixincludes ] || \
+	  mkdir stageautofeedback-fixincludes; \
+	mv stageautofeedback-fixincludes fixincludes; \
+	mv stageautoprofile-fixincludes prev-fixincludes || test -f stageautoprofile-lean 
+@endif fixincludes
+@if gas
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-gas ] || \
+	  mkdir stageautofeedback-gas; \
+	mv stageautofeedback-gas gas; \
+	mv stageautoprofile-gas prev-gas || test -f stageautoprofile-lean 
+@endif gas
+@if gcc
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-gcc ] || \
+	  mkdir stageautofeedback-gcc; \
+	mv stageautofeedback-gcc gcc; \
+	mv stageautoprofile-gcc prev-gcc || test -f stageautoprofile-lean 
+@endif gcc
+@if gmp
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-gmp ] || \
+	  mkdir stageautofeedback-gmp; \
+	mv stageautofeedback-gmp gmp; \
+	mv stageautoprofile-gmp prev-gmp || test -f stageautoprofile-lean 
+@endif gmp
+@if mpfr
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-mpfr ] || \
+	  mkdir stageautofeedback-mpfr; \
+	mv stageautofeedback-mpfr mpfr; \
+	mv stageautoprofile-mpfr prev-mpfr || test -f stageautoprofile-lean 
+@endif mpfr
+@if mpc
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-mpc ] || \
+	  mkdir stageautofeedback-mpc; \
+	mv stageautofeedback-mpc mpc; \
+	mv stageautoprofile-mpc prev-mpc || test -f stageautoprofile-lean 
+@endif mpc
+@if isl
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-isl ] || \
+	  mkdir stageautofeedback-isl; \
+	mv stageautofeedback-isl isl; \
+	mv stageautoprofile-isl prev-isl || test -f stageautoprofile-lean 
+@endif isl
+@if libelf
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libelf ] || \
+	  mkdir stageautofeedback-libelf; \
+	mv stageautofeedback-libelf libelf; \
+	mv stageautoprofile-libelf prev-libelf || test -f stageautoprofile-lean 
+@endif libelf
+@if gold
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-gold ] || \
+	  mkdir stageautofeedback-gold; \
+	mv stageautofeedback-gold gold; \
+	mv stageautoprofile-gold prev-gold || test -f stageautoprofile-lean 
+@endif gold
+@if intl
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-intl ] || \
+	  mkdir stageautofeedback-intl; \
+	mv stageautofeedback-intl intl; \
+	mv stageautoprofile-intl prev-intl || test -f stageautoprofile-lean 
+@endif intl
+@if ld
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-ld ] || \
+	  mkdir stageautofeedback-ld; \
+	mv stageautofeedback-ld ld; \
+	mv stageautoprofile-ld prev-ld || test -f stageautoprofile-lean 
+@endif ld
+@if libbacktrace
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libbacktrace ] || \
+	  mkdir stageautofeedback-libbacktrace; \
+	mv stageautofeedback-libbacktrace libbacktrace; \
+	mv stageautoprofile-libbacktrace prev-libbacktrace || test -f stageautoprofile-lean 
+@endif libbacktrace
+@if libcpp
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libcpp ] || \
+	  mkdir stageautofeedback-libcpp; \
+	mv stageautofeedback-libcpp libcpp; \
+	mv stageautoprofile-libcpp prev-libcpp || test -f stageautoprofile-lean 
+@endif libcpp
+@if libdecnumber
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libdecnumber ] || \
+	  mkdir stageautofeedback-libdecnumber; \
+	mv stageautofeedback-libdecnumber libdecnumber; \
+	mv stageautoprofile-libdecnumber prev-libdecnumber || test -f stageautoprofile-lean 
+@endif libdecnumber
+@if libiberty
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libiberty ] || \
+	  mkdir stageautofeedback-libiberty; \
+	mv stageautofeedback-libiberty libiberty; \
+	mv stageautoprofile-libiberty prev-libiberty || test -f stageautoprofile-lean 
+@endif libiberty
+@if libiberty-linker-plugin
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libiberty-linker-plugin ] || \
+	  mkdir stageautofeedback-libiberty-linker-plugin; \
+	mv stageautofeedback-libiberty-linker-plugin libiberty-linker-plugin; \
+	mv stageautoprofile-libiberty-linker-plugin prev-libiberty-linker-plugin || test -f stageautoprofile-lean 
+@endif libiberty-linker-plugin
+@if libiconv
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-libiconv ] || \
+	  mkdir stageautofeedback-libiconv; \
+	mv stageautofeedback-libiconv libiconv; \
+	mv stageautoprofile-libiconv prev-libiconv || test -f stageautoprofile-lean 
+@endif libiconv
+@if zlib
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-zlib ] || \
+	  mkdir stageautofeedback-zlib; \
+	mv stageautofeedback-zlib zlib; \
+	mv stageautoprofile-zlib prev-zlib || test -f stageautoprofile-lean 
+@endif zlib
+@if lto-plugin
+	@cd $(HOST_SUBDIR); [ -d stageautofeedback-lto-plugin ] || \
+	  mkdir stageautofeedback-lto-plugin; \
+	mv stageautofeedback-lto-plugin lto-plugin; \
+	mv stageautoprofile-lto-plugin prev-lto-plugin || test -f stageautoprofile-lean 
+@endif lto-plugin
+	@[ -d stageautofeedback-$(TARGET_SUBDIR) ] || \
+	  mkdir stageautofeedback-$(TARGET_SUBDIR); \
+	mv stageautofeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \
+	mv stageautoprofile-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stageautoprofile-lean 
+
+stageautofeedback-end:: 
+@if bfd
+	@if test -d $(HOST_SUBDIR)/bfd; then \
+	  cd $(HOST_SUBDIR); mv bfd stageautofeedback-bfd; \
+	  mv prev-bfd stageautoprofile-bfd; : ; \
+	fi
+@endif bfd
+@if opcodes
+	@if test -d $(HOST_SUBDIR)/opcodes; then \
+	  cd $(HOST_SUBDIR); mv opcodes stageautofeedback-opcodes; \
+	  mv prev-opcodes stageautoprofile-opcodes; : ; \
+	fi
+@endif opcodes
+@if binutils
+	@if test -d $(HOST_SUBDIR)/binutils; then \
+	  cd $(HOST_SUBDIR); mv binutils stageautofeedback-binutils; \
+	  mv prev-binutils stageautoprofile-binutils; : ; \
+	fi
+@endif binutils
+@if fixincludes
+	@if test -d $(HOST_SUBDIR)/fixincludes; then \
+	  cd $(HOST_SUBDIR); mv fixincludes stageautofeedback-fixincludes; \
+	  mv prev-fixincludes stageautoprofile-fixincludes; : ; \
+	fi
+@endif fixincludes
+@if gas
+	@if test -d $(HOST_SUBDIR)/gas; then \
+	  cd $(HOST_SUBDIR); mv gas stageautofeedback-gas; \
+	  mv prev-gas stageautoprofile-gas; : ; \
+	fi
+@endif gas
+@if gcc
+	@if test -d $(HOST_SUBDIR)/gcc; then \
+	  cd $(HOST_SUBDIR); mv gcc stageautofeedback-gcc; \
+	  mv prev-gcc stageautoprofile-gcc; : ; \
+	fi
+@endif gcc
+@if gmp
+	@if test -d $(HOST_SUBDIR)/gmp; then \
+	  cd $(HOST_SUBDIR); mv gmp stageautofeedback-gmp; \
+	  mv prev-gmp stageautoprofile-gmp; : ; \
+	fi
+@endif gmp
+@if mpfr
+	@if test -d $(HOST_SUBDIR)/mpfr; then \
+	  cd $(HOST_SUBDIR); mv mpfr stageautofeedback-mpfr; \
+	  mv prev-mpfr stageautoprofile-mpfr; : ; \
+	fi
+@endif mpfr
+@if mpc
+	@if test -d $(HOST_SUBDIR)/mpc; then \
+	  cd $(HOST_SUBDIR); mv mpc stageautofeedback-mpc; \
+	  mv prev-mpc stageautoprofile-mpc; : ; \
+	fi
+@endif mpc
+@if isl
+	@if test -d $(HOST_SUBDIR)/isl; then \
+	  cd $(HOST_SUBDIR); mv isl stageautofeedback-isl; \
+	  mv prev-isl stageautoprofile-isl; : ; \
+	fi
+@endif isl
+@if libelf
+	@if test -d $(HOST_SUBDIR)/libelf; then \
+	  cd $(HOST_SUBDIR); mv libelf stageautofeedback-libelf; \
+	  mv prev-libelf stageautoprofile-libelf; : ; \
+	fi
+@endif libelf
+@if gold
+	@if test -d $(HOST_SUBDIR)/gold; then \
+	  cd $(HOST_SUBDIR); mv gold stageautofeedback-gold; \
+	  mv prev-gold stageautoprofile-gold; : ; \
+	fi
+@endif gold
+@if intl
+	@if test -d $(HOST_SUBDIR)/intl; then \
+	  cd $(HOST_SUBDIR); mv intl stageautofeedback-intl; \
+	  mv prev-intl stageautoprofile-intl; : ; \
+	fi
+@endif intl
+@if ld
+	@if test -d $(HOST_SUBDIR)/ld; then \
+	  cd $(HOST_SUBDIR); mv ld stageautofeedback-ld; \
+	  mv prev-ld stageautoprofile-ld; : ; \
+	fi
+@endif ld
+@if libbacktrace
+	@if test -d $(HOST_SUBDIR)/libbacktrace; then \
+	  cd $(HOST_SUBDIR); mv libbacktrace stageautofeedback-libbacktrace; \
+	  mv prev-libbacktrace stageautoprofile-libbacktrace; : ; \
+	fi
+@endif libbacktrace
+@if libcpp
+	@if test -d $(HOST_SUBDIR)/libcpp; then \
+	  cd $(HOST_SUBDIR); mv libcpp stageautofeedback-libcpp; \
+	  mv prev-libcpp stageautoprofile-libcpp; : ; \
+	fi
+@endif libcpp
+@if libdecnumber
+	@if test -d $(HOST_SUBDIR)/libdecnumber; then \
+	  cd $(HOST_SUBDIR); mv libdecnumber stageautofeedback-libdecnumber; \
+	  mv prev-libdecnumber stageautoprofile-libdecnumber; : ; \
+	fi
+@endif libdecnumber
+@if libiberty
+	@if test -d $(HOST_SUBDIR)/libiberty; then \
+	  cd $(HOST_SUBDIR); mv libiberty stageautofeedback-libiberty; \
+	  mv prev-libiberty stageautoprofile-libiberty; : ; \
+	fi
+@endif libiberty
+@if libiberty-linker-plugin
+	@if test -d $(HOST_SUBDIR)/libiberty-linker-plugin; then \
+	  cd $(HOST_SUBDIR); mv libiberty-linker-plugin stageautofeedback-libiberty-linker-plugin; \
+	  mv prev-libiberty-linker-plugin stageautoprofile-libiberty-linker-plugin; : ; \
+	fi
+@endif libiberty-linker-plugin
+@if libiconv
+	@if test -d $(HOST_SUBDIR)/libiconv; then \
+	  cd $(HOST_SUBDIR); mv libiconv stageautofeedback-libiconv; \
+	  mv prev-libiconv stageautoprofile-libiconv; : ; \
+	fi
+@endif libiconv
+@if zlib
+	@if test -d $(HOST_SUBDIR)/zlib; then \
+	  cd $(HOST_SUBDIR); mv zlib stageautofeedback-zlib; \
+	  mv prev-zlib stageautoprofile-zlib; : ; \
+	fi
+@endif zlib
+@if lto-plugin
+	@if test -d $(HOST_SUBDIR)/lto-plugin; then \
+	  cd $(HOST_SUBDIR); mv lto-plugin stageautofeedback-lto-plugin; \
+	  mv prev-lto-plugin stageautoprofile-lto-plugin; : ; \
+	fi
+@endif lto-plugin
+	@if test -d $(TARGET_SUBDIR); then \
+	  mv $(TARGET_SUBDIR) stageautofeedback-$(TARGET_SUBDIR); \
+	  mv prev-$(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); : ; \
+	fi
+	rm -f stage_current
+
+# Bubble a bug fix through all the stages up to stage autofeedback.  They are
+# remade, but not reconfigured.  The next stage (if any) will not be
+# reconfigured either.
+.PHONY: stageautofeedback-bubble
+stageautofeedback-bubble:: stageautoprofile-bubble
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	if test -f stageautofeedback-lean || test -f stageautoprofile-lean ; then \
+	  echo Skipping rebuild of stageautofeedback; \
+	else \
+	  $(MAKE) stageautofeedback-start; \
+	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stageautofeedback; \
+	fi
+
+.PHONY: all-stageautofeedback clean-stageautofeedback
+do-clean: clean-stageautofeedback
+
+# FIXME: Will not need to be conditional when toplevel bootstrap is the
+# only possibility, but now it conflicts with no-bootstrap rules
+@if gcc-bootstrap
+
+
+
+.PHONY: autoprofiledbootstrap autoprofiledbootstrap-lean
+autoprofiledbootstrap:
+	echo stageautofeedback > stage_final
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stageautofeedback-bubble
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
+autoprofiledbootstrap-lean:
+	echo stageautofeedback > stage_final
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stageautofeedback-bubble
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stageautoprofile:: distclean-stageautofeedback 
+.PHONY: distclean-stageautofeedback
+distclean-stageautofeedback::
+	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stageautofeedback || rm -f stage_last
+	rm -rf stageautofeedback-* 
+
+
+@endif gcc-bootstrap
+
+
 
 stageprofile-end::
 	$(MAKE) distclean-stagefeedback
@@ -49939,7 +55170,7 @@ stage_current:
 .PHONY: restrap
 restrap::
 	@: $(MAKE); $(stage)
-	rm -rf stage1-$(TARGET_SUBDIR) stage2-* stage3-* stage4-* stageprofile-* stagefeedback-*
+	rm -rf stage1-$(TARGET_SUBDIR) stage2-* stage3-* stage4-* stageprofile-* stagefeedback-* stageautoprofile-* stageautofeedback-*
 restrap:: all
 @endif gcc-bootstrap
 
@@ -49955,24 +55186,32 @@ configure-stage3-target-libstdc++-v3: maybe-all-stage3-gcc
 configure-stage4-target-libstdc++-v3: maybe-all-stage4-gcc
 configure-stageprofile-target-libstdc++-v3: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libstdc++-v3: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libstdc++-v3: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libstdc++-v3: maybe-all-stageautofeedback-gcc
 configure-stage1-target-libsanitizer: maybe-all-stage1-gcc
 configure-stage2-target-libsanitizer: maybe-all-stage2-gcc
 configure-stage3-target-libsanitizer: maybe-all-stage3-gcc
 configure-stage4-target-libsanitizer: maybe-all-stage4-gcc
 configure-stageprofile-target-libsanitizer: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libsanitizer: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libsanitizer: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libsanitizer: maybe-all-stageautofeedback-gcc
 configure-stage1-target-libmpx: maybe-all-stage1-gcc
 configure-stage2-target-libmpx: maybe-all-stage2-gcc
 configure-stage3-target-libmpx: maybe-all-stage3-gcc
 configure-stage4-target-libmpx: maybe-all-stage4-gcc
 configure-stageprofile-target-libmpx: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libmpx: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libmpx: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libmpx: maybe-all-stageautofeedback-gcc
 configure-stage1-target-libvtv: maybe-all-stage1-gcc
 configure-stage2-target-libvtv: maybe-all-stage2-gcc
 configure-stage3-target-libvtv: maybe-all-stage3-gcc
 configure-stage4-target-libvtv: maybe-all-stage4-gcc
 configure-stageprofile-target-libvtv: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libvtv: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libvtv: maybe-all-stageautofeedback-gcc
 configure-target-libcilkrts: stage_last
 configure-target-liboffloadmic: stage_last
 configure-target-libssp: stage_last
@@ -49983,6 +55222,8 @@ configure-stage3-target-libgcc: maybe-all-stage3-gcc
 configure-stage4-target-libgcc: maybe-all-stage4-gcc
 configure-stageprofile-target-libgcc: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libgcc: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libgcc: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libgcc: maybe-all-stageautofeedback-gcc
 configure-target-libbacktrace: stage_last
 configure-target-libquadmath: stage_last
 configure-target-libgfortran: stage_last
@@ -50003,6 +55244,8 @@ configure-stage3-target-libgomp: maybe-all-stage3-gcc
 configure-stage4-target-libgomp: maybe-all-stage4-gcc
 configure-stageprofile-target-libgomp: maybe-all-stageprofile-gcc
 configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-gcc
 configure-target-libitm: stage_last
 configure-target-libatomic: stage_last
 @endif gcc-bootstrap
@@ -50070,6 +55313,8 @@ configure-stage3-gcc: maybe-configure-stage3-intl
 configure-stage4-gcc: maybe-configure-stage4-intl
 configure-stageprofile-gcc: maybe-configure-stageprofile-intl
 configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-gcc: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-gcc: maybe-configure-stageautofeedback-intl
 configure-gcc: maybe-all-gmp
 
 configure-stage1-gcc: maybe-all-stage1-gmp
@@ -50078,6 +55323,8 @@ configure-stage3-gcc: maybe-all-stage3-gmp
 configure-stage4-gcc: maybe-all-stage4-gmp
 configure-stageprofile-gcc: maybe-all-stageprofile-gmp
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gmp
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-gmp
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-gmp
 configure-gcc: maybe-all-mpfr
 
 configure-stage1-gcc: maybe-all-stage1-mpfr
@@ -50086,6 +55333,8 @@ configure-stage3-gcc: maybe-all-stage3-mpfr
 configure-stage4-gcc: maybe-all-stage4-mpfr
 configure-stageprofile-gcc: maybe-all-stageprofile-mpfr
 configure-stagefeedback-gcc: maybe-all-stagefeedback-mpfr
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-mpfr
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-mpfr
 configure-gcc: maybe-all-mpc
 
 configure-stage1-gcc: maybe-all-stage1-mpc
@@ -50094,6 +55343,8 @@ configure-stage3-gcc: maybe-all-stage3-mpc
 configure-stage4-gcc: maybe-all-stage4-mpc
 configure-stageprofile-gcc: maybe-all-stageprofile-mpc
 configure-stagefeedback-gcc: maybe-all-stagefeedback-mpc
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-mpc
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-mpc
 configure-gcc: maybe-all-isl
 
 configure-stage1-gcc: maybe-all-stage1-isl
@@ -50102,6 +55353,8 @@ configure-stage3-gcc: maybe-all-stage3-isl
 configure-stage4-gcc: maybe-all-stage4-isl
 configure-stageprofile-gcc: maybe-all-stageprofile-isl
 configure-stagefeedback-gcc: maybe-all-stagefeedback-isl
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-isl
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-isl
 configure-gcc: maybe-all-lto-plugin
 
 configure-stage1-gcc: maybe-all-stage1-lto-plugin
@@ -50110,6 +55363,8 @@ configure-stage3-gcc: maybe-all-stage3-lto-plugin
 configure-stage4-gcc: maybe-all-stage4-lto-plugin
 configure-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
 configure-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-lto-plugin
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-lto-plugin
 configure-gcc: maybe-all-binutils
 
 configure-stage1-gcc: maybe-all-stage1-binutils
@@ -50118,6 +55373,8 @@ configure-stage3-gcc: maybe-all-stage3-binutils
 configure-stage4-gcc: maybe-all-stage4-binutils
 configure-stageprofile-gcc: maybe-all-stageprofile-binutils
 configure-stagefeedback-gcc: maybe-all-stagefeedback-binutils
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-binutils
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-binutils
 configure-gcc: maybe-all-gas
 
 configure-stage1-gcc: maybe-all-stage1-gas
@@ -50126,6 +55383,8 @@ configure-stage3-gcc: maybe-all-stage3-gas
 configure-stage4-gcc: maybe-all-stage4-gas
 configure-stageprofile-gcc: maybe-all-stageprofile-gas
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gas
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-gas
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-gas
 configure-gcc: maybe-all-ld
 
 configure-stage1-gcc: maybe-all-stage1-ld
@@ -50134,6 +55393,8 @@ configure-stage3-gcc: maybe-all-stage3-ld
 configure-stage4-gcc: maybe-all-stage4-ld
 configure-stageprofile-gcc: maybe-all-stageprofile-ld
 configure-stagefeedback-gcc: maybe-all-stagefeedback-ld
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-ld
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-ld
 configure-gcc: maybe-all-gold
 
 configure-stage1-gcc: maybe-all-stage1-gold
@@ -50142,6 +55403,8 @@ configure-stage3-gcc: maybe-all-stage3-gold
 configure-stage4-gcc: maybe-all-stage4-gold
 configure-stageprofile-gcc: maybe-all-stageprofile-gold
 configure-stagefeedback-gcc: maybe-all-stagefeedback-gold
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-gold
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-gold
 configure-gcc: maybe-all-libelf
 
 configure-stage1-gcc: maybe-all-stage1-libelf
@@ -50150,6 +55413,8 @@ configure-stage3-gcc: maybe-all-stage3-libelf
 configure-stage4-gcc: maybe-all-stage4-libelf
 configure-stageprofile-gcc: maybe-all-stageprofile-libelf
 configure-stagefeedback-gcc: maybe-all-stagefeedback-libelf
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-libelf
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-libelf
 configure-gcc: maybe-all-libiconv
 
 configure-stage1-gcc: maybe-all-stage1-libiconv
@@ -50158,6 +55423,8 @@ configure-stage3-gcc: maybe-all-stage3-libiconv
 configure-stage4-gcc: maybe-all-stage4-libiconv
 configure-stageprofile-gcc: maybe-all-stageprofile-libiconv
 configure-stagefeedback-gcc: maybe-all-stagefeedback-libiconv
+configure-stageautoprofile-gcc: maybe-all-stageautoprofile-libiconv
+configure-stageautofeedback-gcc: maybe-all-stageautofeedback-libiconv
 all-gcc: all-libiberty
 
 all-stage1-gcc: all-stage1-libiberty
@@ -50166,6 +55433,8 @@ all-stage3-gcc: all-stage3-libiberty
 all-stage4-gcc: all-stage4-libiberty
 all-stageprofile-gcc: all-stageprofile-libiberty
 all-stagefeedback-gcc: all-stagefeedback-libiberty
+all-stageautoprofile-gcc: all-stageautoprofile-libiberty
+all-stageautofeedback-gcc: all-stageautofeedback-libiberty
 all-gcc: maybe-all-intl
 
 all-stage1-gcc: maybe-all-stage1-intl
@@ -50174,6 +55443,8 @@ all-stage3-gcc: maybe-all-stage3-intl
 all-stage4-gcc: maybe-all-stage4-intl
 all-stageprofile-gcc: maybe-all-stageprofile-intl
 all-stagefeedback-gcc: maybe-all-stagefeedback-intl
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-intl
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-intl
 all-gcc: maybe-all-mpfr
 
 all-stage1-gcc: maybe-all-stage1-mpfr
@@ -50182,6 +55453,8 @@ all-stage3-gcc: maybe-all-stage3-mpfr
 all-stage4-gcc: maybe-all-stage4-mpfr
 all-stageprofile-gcc: maybe-all-stageprofile-mpfr
 all-stagefeedback-gcc: maybe-all-stagefeedback-mpfr
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-mpfr
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-mpfr
 all-gcc: maybe-all-mpc
 
 all-stage1-gcc: maybe-all-stage1-mpc
@@ -50190,6 +55463,8 @@ all-stage3-gcc: maybe-all-stage3-mpc
 all-stage4-gcc: maybe-all-stage4-mpc
 all-stageprofile-gcc: maybe-all-stageprofile-mpc
 all-stagefeedback-gcc: maybe-all-stagefeedback-mpc
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-mpc
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-mpc
 all-gcc: maybe-all-isl
 
 all-stage1-gcc: maybe-all-stage1-isl
@@ -50198,6 +55473,8 @@ all-stage3-gcc: maybe-all-stage3-isl
 all-stage4-gcc: maybe-all-stage4-isl
 all-stageprofile-gcc: maybe-all-stageprofile-isl
 all-stagefeedback-gcc: maybe-all-stagefeedback-isl
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-isl
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-isl
 all-gcc: maybe-all-build-texinfo
 
 all-stage1-gcc: maybe-all-build-texinfo
@@ -50206,6 +55483,8 @@ all-stage3-gcc: maybe-all-build-texinfo
 all-stage4-gcc: maybe-all-build-texinfo
 all-stageprofile-gcc: maybe-all-build-texinfo
 all-stagefeedback-gcc: maybe-all-build-texinfo
+all-stageautoprofile-gcc: maybe-all-build-texinfo
+all-stageautofeedback-gcc: maybe-all-build-texinfo
 all-gcc: maybe-all-build-bison
 
 all-stage1-gcc: maybe-all-build-bison
@@ -50214,6 +55493,8 @@ all-stage3-gcc: maybe-all-build-bison
 all-stage4-gcc: maybe-all-build-bison
 all-stageprofile-gcc: maybe-all-build-bison
 all-stagefeedback-gcc: maybe-all-build-bison
+all-stageautoprofile-gcc: maybe-all-build-bison
+all-stageautofeedback-gcc: maybe-all-build-bison
 all-gcc: maybe-all-build-flex
 
 all-stage1-gcc: maybe-all-build-flex
@@ -50222,6 +55503,8 @@ all-stage3-gcc: maybe-all-build-flex
 all-stage4-gcc: maybe-all-build-flex
 all-stageprofile-gcc: maybe-all-build-flex
 all-stagefeedback-gcc: maybe-all-build-flex
+all-stageautoprofile-gcc: maybe-all-build-flex
+all-stageautofeedback-gcc: maybe-all-build-flex
 all-gcc: maybe-all-build-libiberty
 
 all-stage1-gcc: maybe-all-build-libiberty
@@ -50230,6 +55513,8 @@ all-stage3-gcc: maybe-all-build-libiberty
 all-stage4-gcc: maybe-all-build-libiberty
 all-stageprofile-gcc: maybe-all-build-libiberty
 all-stagefeedback-gcc: maybe-all-build-libiberty
+all-stageautoprofile-gcc: maybe-all-build-libiberty
+all-stageautofeedback-gcc: maybe-all-build-libiberty
 all-gcc: maybe-all-build-fixincludes
 
 all-stage1-gcc: maybe-all-build-fixincludes
@@ -50238,6 +55523,8 @@ all-stage3-gcc: maybe-all-build-fixincludes
 all-stage4-gcc: maybe-all-build-fixincludes
 all-stageprofile-gcc: maybe-all-build-fixincludes
 all-stagefeedback-gcc: maybe-all-build-fixincludes
+all-stageautoprofile-gcc: maybe-all-build-fixincludes
+all-stageautofeedback-gcc: maybe-all-build-fixincludes
 all-gcc: maybe-all-build-libcpp
 
 all-stage1-gcc: maybe-all-build-libcpp
@@ -50246,6 +55533,8 @@ all-stage3-gcc: maybe-all-build-libcpp
 all-stage4-gcc: maybe-all-build-libcpp
 all-stageprofile-gcc: maybe-all-build-libcpp
 all-stagefeedback-gcc: maybe-all-build-libcpp
+all-stageautoprofile-gcc: maybe-all-build-libcpp
+all-stageautofeedback-gcc: maybe-all-build-libcpp
 all-gcc: maybe-all-zlib
 
 all-stage1-gcc: maybe-all-stage1-zlib
@@ -50254,6 +55543,8 @@ all-stage3-gcc: maybe-all-stage3-zlib
 all-stage4-gcc: maybe-all-stage4-zlib
 all-stageprofile-gcc: maybe-all-stageprofile-zlib
 all-stagefeedback-gcc: maybe-all-stagefeedback-zlib
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-zlib
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-zlib
 all-gcc: all-libbacktrace
 
 all-stage1-gcc: all-stage1-libbacktrace
@@ -50262,6 +55553,8 @@ all-stage3-gcc: all-stage3-libbacktrace
 all-stage4-gcc: all-stage4-libbacktrace
 all-stageprofile-gcc: all-stageprofile-libbacktrace
 all-stagefeedback-gcc: all-stagefeedback-libbacktrace
+all-stageautoprofile-gcc: all-stageautoprofile-libbacktrace
+all-stageautofeedback-gcc: all-stageautofeedback-libbacktrace
 all-gcc: all-libcpp
 
 all-stage1-gcc: all-stage1-libcpp
@@ -50270,6 +55563,8 @@ all-stage3-gcc: all-stage3-libcpp
 all-stage4-gcc: all-stage4-libcpp
 all-stageprofile-gcc: all-stageprofile-libcpp
 all-stagefeedback-gcc: all-stagefeedback-libcpp
+all-stageautoprofile-gcc: all-stageautoprofile-libcpp
+all-stageautofeedback-gcc: all-stageautofeedback-libcpp
 all-gcc: all-libdecnumber
 
 all-stage1-gcc: all-stage1-libdecnumber
@@ -50278,6 +55573,8 @@ all-stage3-gcc: all-stage3-libdecnumber
 all-stage4-gcc: all-stage4-libdecnumber
 all-stageprofile-gcc: all-stageprofile-libdecnumber
 all-stagefeedback-gcc: all-stagefeedback-libdecnumber
+all-stageautoprofile-gcc: all-stageautoprofile-libdecnumber
+all-stageautofeedback-gcc: all-stageautofeedback-libdecnumber
 all-gcc: maybe-all-libiberty
 
 all-stage1-gcc: maybe-all-stage1-libiberty
@@ -50286,6 +55583,8 @@ all-stage3-gcc: maybe-all-stage3-libiberty
 all-stage4-gcc: maybe-all-stage4-libiberty
 all-stageprofile-gcc: maybe-all-stageprofile-libiberty
 all-stagefeedback-gcc: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-libiberty
 all-gcc: maybe-all-fixincludes
 
 all-stage1-gcc: maybe-all-stage1-fixincludes
@@ -50294,6 +55593,8 @@ all-stage3-gcc: maybe-all-stage3-fixincludes
 all-stage4-gcc: maybe-all-stage4-fixincludes
 all-stageprofile-gcc: maybe-all-stageprofile-fixincludes
 all-stagefeedback-gcc: maybe-all-stagefeedback-fixincludes
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-fixincludes
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-fixincludes
 all-gcc: maybe-all-lto-plugin
 
 all-stage1-gcc: maybe-all-stage1-lto-plugin
@@ -50302,6 +55603,8 @@ all-stage3-gcc: maybe-all-stage3-lto-plugin
 all-stage4-gcc: maybe-all-stage4-lto-plugin
 all-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
 all-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-lto-plugin
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-lto-plugin
 all-gcc: maybe-all-libiconv
 
 all-stage1-gcc: maybe-all-stage1-libiconv
@@ -50310,6 +55613,8 @@ all-stage3-gcc: maybe-all-stage3-libiconv
 all-stage4-gcc: maybe-all-stage4-libiconv
 all-stageprofile-gcc: maybe-all-stageprofile-libiconv
 all-stagefeedback-gcc: maybe-all-stagefeedback-libiconv
+all-stageautoprofile-gcc: maybe-all-stageautoprofile-libiconv
+all-stageautofeedback-gcc: maybe-all-stageautofeedback-libiconv
 info-gcc: maybe-all-build-libiberty
 
 info-stage1-gcc: maybe-all-build-libiberty
@@ -50318,6 +55623,8 @@ info-stage3-gcc: maybe-all-build-libiberty
 info-stage4-gcc: maybe-all-build-libiberty
 info-stageprofile-gcc: maybe-all-build-libiberty
 info-stagefeedback-gcc: maybe-all-build-libiberty
+info-stageautoprofile-gcc: maybe-all-build-libiberty
+info-stageautofeedback-gcc: maybe-all-build-libiberty
 dvi-gcc: maybe-all-build-libiberty
 
 dvi-stage1-gcc: maybe-all-build-libiberty
@@ -50326,6 +55633,8 @@ dvi-stage3-gcc: maybe-all-build-libiberty
 dvi-stage4-gcc: maybe-all-build-libiberty
 dvi-stageprofile-gcc: maybe-all-build-libiberty
 dvi-stagefeedback-gcc: maybe-all-build-libiberty
+dvi-stageautoprofile-gcc: maybe-all-build-libiberty
+dvi-stageautofeedback-gcc: maybe-all-build-libiberty
 pdf-gcc: maybe-all-build-libiberty
 
 pdf-stage1-gcc: maybe-all-build-libiberty
@@ -50334,6 +55643,8 @@ pdf-stage3-gcc: maybe-all-build-libiberty
 pdf-stage4-gcc: maybe-all-build-libiberty
 pdf-stageprofile-gcc: maybe-all-build-libiberty
 pdf-stagefeedback-gcc: maybe-all-build-libiberty
+pdf-stageautoprofile-gcc: maybe-all-build-libiberty
+pdf-stageautofeedback-gcc: maybe-all-build-libiberty
 html-gcc: maybe-all-build-libiberty
 
 html-stage1-gcc: maybe-all-build-libiberty
@@ -50342,6 +55653,8 @@ html-stage3-gcc: maybe-all-build-libiberty
 html-stage4-gcc: maybe-all-build-libiberty
 html-stageprofile-gcc: maybe-all-build-libiberty
 html-stagefeedback-gcc: maybe-all-build-libiberty
+html-stageautoprofile-gcc: maybe-all-build-libiberty
+html-stageautofeedback-gcc: maybe-all-build-libiberty
 install-gcc: maybe-install-fixincludes
 install-gcc: maybe-install-lto-plugin
 install-strip-gcc: maybe-install-strip-fixincludes
@@ -50354,6 +55667,8 @@ configure-stage3-libcpp: configure-stage3-libiberty
 configure-stage4-libcpp: configure-stage4-libiberty
 configure-stageprofile-libcpp: configure-stageprofile-libiberty
 configure-stagefeedback-libcpp: configure-stagefeedback-libiberty
+configure-stageautoprofile-libcpp: configure-stageautoprofile-libiberty
+configure-stageautofeedback-libcpp: configure-stageautofeedback-libiberty
 configure-libcpp: maybe-configure-intl
 
 configure-stage1-libcpp: maybe-configure-stage1-intl
@@ -50362,6 +55677,8 @@ configure-stage3-libcpp: maybe-configure-stage3-intl
 configure-stage4-libcpp: maybe-configure-stage4-intl
 configure-stageprofile-libcpp: maybe-configure-stageprofile-intl
 configure-stagefeedback-libcpp: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-libcpp: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-libcpp: maybe-configure-stageautofeedback-intl
 configure-libcpp: maybe-all-libiconv
 
 configure-stage1-libcpp: maybe-all-stage1-libiconv
@@ -50370,6 +55687,8 @@ configure-stage3-libcpp: maybe-all-stage3-libiconv
 configure-stage4-libcpp: maybe-all-stage4-libiconv
 configure-stageprofile-libcpp: maybe-all-stageprofile-libiconv
 configure-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv
+configure-stageautoprofile-libcpp: maybe-all-stageautoprofile-libiconv
+configure-stageautofeedback-libcpp: maybe-all-stageautofeedback-libiconv
 all-libcpp: all-libiberty
 
 all-stage1-libcpp: all-stage1-libiberty
@@ -50378,6 +55697,8 @@ all-stage3-libcpp: all-stage3-libiberty
 all-stage4-libcpp: all-stage4-libiberty
 all-stageprofile-libcpp: all-stageprofile-libiberty
 all-stagefeedback-libcpp: all-stagefeedback-libiberty
+all-stageautoprofile-libcpp: all-stageautoprofile-libiberty
+all-stageautofeedback-libcpp: all-stageautofeedback-libiberty
 all-libcpp: maybe-all-intl
 
 all-stage1-libcpp: maybe-all-stage1-intl
@@ -50386,6 +55707,8 @@ all-stage3-libcpp: maybe-all-stage3-intl
 all-stage4-libcpp: maybe-all-stage4-intl
 all-stageprofile-libcpp: maybe-all-stageprofile-intl
 all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
+all-stageautoprofile-libcpp: maybe-all-stageautoprofile-intl
+all-stageautofeedback-libcpp: maybe-all-stageautofeedback-intl
 all-libcpp: maybe-all-libiconv
 
 all-stage1-libcpp: maybe-all-stage1-libiconv
@@ -50394,6 +55717,8 @@ all-stage3-libcpp: maybe-all-stage3-libiconv
 all-stage4-libcpp: maybe-all-stage4-libiconv
 all-stageprofile-libcpp: maybe-all-stageprofile-libiconv
 all-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv
+all-stageautoprofile-libcpp: maybe-all-stageautoprofile-libiconv
+all-stageautofeedback-libcpp: maybe-all-stageautofeedback-libiconv
 all-fixincludes: maybe-all-libiberty
 
 all-stage1-fixincludes: maybe-all-stage1-libiberty
@@ -50402,6 +55727,8 @@ all-stage3-fixincludes: maybe-all-stage3-libiberty
 all-stage4-fixincludes: maybe-all-stage4-libiberty
 all-stageprofile-fixincludes: maybe-all-stageprofile-libiberty
 all-stagefeedback-fixincludes: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-fixincludes: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-fixincludes: maybe-all-stageautofeedback-libiberty
 all-gnattools: maybe-all-target-libada
 all-gnattools: maybe-all-target-libstdc++-v3
 all-lto-plugin: maybe-all-libiberty
@@ -50412,6 +55739,8 @@ all-stage3-lto-plugin: maybe-all-stage3-libiberty
 all-stage4-lto-plugin: maybe-all-stage4-libiberty
 all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty
 all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-lto-plugin: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-lto-plugin: maybe-all-stageautofeedback-libiberty
 all-lto-plugin: maybe-all-libiberty-linker-plugin
 
 all-stage1-lto-plugin: maybe-all-stage1-libiberty-linker-plugin
@@ -50420,6 +55749,8 @@ all-stage3-lto-plugin: maybe-all-stage3-libiberty-linker-plugin
 all-stage4-lto-plugin: maybe-all-stage4-libiberty-linker-plugin
 all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty-linker-plugin
 all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty-linker-plugin
+all-stageautoprofile-lto-plugin: maybe-all-stageautoprofile-libiberty-linker-plugin
+all-stageautofeedback-lto-plugin: maybe-all-stageautofeedback-libiberty-linker-plugin
 configure-libcc1: maybe-configure-gcc
 all-libcc1: maybe-all-gcc
 all-gotools: maybe-all-target-libgo
@@ -50432,6 +55763,8 @@ configure-stage3-intl: maybe-all-stage3-libiconv
 configure-stage4-intl: maybe-all-stage4-libiconv
 configure-stageprofile-intl: maybe-all-stageprofile-libiconv
 configure-stagefeedback-intl: maybe-all-stagefeedback-libiconv
+configure-stageautoprofile-intl: maybe-all-stageautoprofile-libiconv
+configure-stageautofeedback-intl: maybe-all-stageautofeedback-libiconv
 configure-mpfr: maybe-all-gmp
 
 configure-stage1-mpfr: maybe-all-stage1-gmp
@@ -50440,6 +55773,8 @@ configure-stage3-mpfr: maybe-all-stage3-gmp
 configure-stage4-mpfr: maybe-all-stage4-gmp
 configure-stageprofile-mpfr: maybe-all-stageprofile-gmp
 configure-stagefeedback-mpfr: maybe-all-stagefeedback-gmp
+configure-stageautoprofile-mpfr: maybe-all-stageautoprofile-gmp
+configure-stageautofeedback-mpfr: maybe-all-stageautofeedback-gmp
 configure-mpc: maybe-all-mpfr
 
 configure-stage1-mpc: maybe-all-stage1-mpfr
@@ -50448,6 +55783,8 @@ configure-stage3-mpc: maybe-all-stage3-mpfr
 configure-stage4-mpc: maybe-all-stage4-mpfr
 configure-stageprofile-mpc: maybe-all-stageprofile-mpfr
 configure-stagefeedback-mpc: maybe-all-stagefeedback-mpfr
+configure-stageautoprofile-mpc: maybe-all-stageautoprofile-mpfr
+configure-stageautofeedback-mpc: maybe-all-stageautofeedback-mpfr
 configure-isl: maybe-all-gmp
 
 configure-stage1-isl: maybe-all-stage1-gmp
@@ -50456,6 +55793,8 @@ configure-stage3-isl: maybe-all-stage3-gmp
 configure-stage4-isl: maybe-all-stage4-gmp
 configure-stageprofile-isl: maybe-all-stageprofile-gmp
 configure-stagefeedback-isl: maybe-all-stagefeedback-gmp
+configure-stageautoprofile-isl: maybe-all-stageautoprofile-gmp
+configure-stageautofeedback-isl: maybe-all-stageautofeedback-gmp
 all-intl: maybe-all-libiconv
 
 all-stage1-intl: maybe-all-stage1-libiconv
@@ -50464,6 +55803,8 @@ all-stage3-intl: maybe-all-stage3-libiconv
 all-stage4-intl: maybe-all-stage4-libiconv
 all-stageprofile-intl: maybe-all-stageprofile-libiconv
 all-stagefeedback-intl: maybe-all-stagefeedback-libiconv
+all-stageautoprofile-intl: maybe-all-stageautoprofile-libiconv
+all-stageautofeedback-intl: maybe-all-stageautofeedback-libiconv
 configure-gdb: maybe-all-intl
 configure-gdb: maybe-configure-sim
 configure-gdb: maybe-all-bfd
@@ -50489,6 +55830,8 @@ configure-stage3-bfd: configure-stage3-libiberty
 configure-stage4-bfd: configure-stage4-libiberty
 configure-stageprofile-bfd: configure-stageprofile-libiberty
 configure-stagefeedback-bfd: configure-stagefeedback-libiberty
+configure-stageautoprofile-bfd: configure-stageautoprofile-libiberty
+configure-stageautofeedback-bfd: configure-stageautofeedback-libiberty
 configure-bfd: maybe-configure-intl
 
 configure-stage1-bfd: maybe-configure-stage1-intl
@@ -50497,6 +55840,8 @@ configure-stage3-bfd: maybe-configure-stage3-intl
 configure-stage4-bfd: maybe-configure-stage4-intl
 configure-stageprofile-bfd: maybe-configure-stageprofile-intl
 configure-stagefeedback-bfd: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-bfd: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-bfd: maybe-configure-stageautofeedback-intl
 all-bfd: maybe-all-libiberty
 
 all-stage1-bfd: maybe-all-stage1-libiberty
@@ -50505,6 +55850,8 @@ all-stage3-bfd: maybe-all-stage3-libiberty
 all-stage4-bfd: maybe-all-stage4-libiberty
 all-stageprofile-bfd: maybe-all-stageprofile-libiberty
 all-stagefeedback-bfd: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-bfd: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-bfd: maybe-all-stageautofeedback-libiberty
 all-bfd: maybe-all-intl
 
 all-stage1-bfd: maybe-all-stage1-intl
@@ -50513,6 +55860,8 @@ all-stage3-bfd: maybe-all-stage3-intl
 all-stage4-bfd: maybe-all-stage4-intl
 all-stageprofile-bfd: maybe-all-stageprofile-intl
 all-stagefeedback-bfd: maybe-all-stagefeedback-intl
+all-stageautoprofile-bfd: maybe-all-stageautoprofile-intl
+all-stageautofeedback-bfd: maybe-all-stageautofeedback-intl
 all-bfd: maybe-all-zlib
 
 all-stage1-bfd: maybe-all-stage1-zlib
@@ -50521,6 +55870,8 @@ all-stage3-bfd: maybe-all-stage3-zlib
 all-stage4-bfd: maybe-all-stage4-zlib
 all-stageprofile-bfd: maybe-all-stageprofile-zlib
 all-stagefeedback-bfd: maybe-all-stagefeedback-zlib
+all-stageautoprofile-bfd: maybe-all-stageautoprofile-zlib
+all-stageautofeedback-bfd: maybe-all-stageautofeedback-zlib
 configure-opcodes: configure-libiberty
 
 configure-stage1-opcodes: configure-stage1-libiberty
@@ -50529,6 +55880,8 @@ configure-stage3-opcodes: configure-stage3-libiberty
 configure-stage4-opcodes: configure-stage4-libiberty
 configure-stageprofile-opcodes: configure-stageprofile-libiberty
 configure-stagefeedback-opcodes: configure-stagefeedback-libiberty
+configure-stageautoprofile-opcodes: configure-stageautoprofile-libiberty
+configure-stageautofeedback-opcodes: configure-stageautofeedback-libiberty
 all-opcodes: maybe-all-libiberty
 
 all-stage1-opcodes: maybe-all-stage1-libiberty
@@ -50537,6 +55890,8 @@ all-stage3-opcodes: maybe-all-stage3-libiberty
 all-stage4-opcodes: maybe-all-stage4-libiberty
 all-stageprofile-opcodes: maybe-all-stageprofile-libiberty
 all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-opcodes: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-opcodes: maybe-all-stageautofeedback-libiberty
 configure-binutils: maybe-configure-intl
 
 configure-stage1-binutils: maybe-configure-stage1-intl
@@ -50545,6 +55900,8 @@ configure-stage3-binutils: maybe-configure-stage3-intl
 configure-stage4-binutils: maybe-configure-stage4-intl
 configure-stageprofile-binutils: maybe-configure-stageprofile-intl
 configure-stagefeedback-binutils: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-binutils: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-binutils: maybe-configure-stageautofeedback-intl
 all-binutils: maybe-all-libiberty
 
 all-stage1-binutils: maybe-all-stage1-libiberty
@@ -50553,6 +55910,8 @@ all-stage3-binutils: maybe-all-stage3-libiberty
 all-stage4-binutils: maybe-all-stage4-libiberty
 all-stageprofile-binutils: maybe-all-stageprofile-libiberty
 all-stagefeedback-binutils: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-binutils: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-binutils: maybe-all-stageautofeedback-libiberty
 all-binutils: maybe-all-opcodes
 
 all-stage1-binutils: maybe-all-stage1-opcodes
@@ -50561,6 +55920,8 @@ all-stage3-binutils: maybe-all-stage3-opcodes
 all-stage4-binutils: maybe-all-stage4-opcodes
 all-stageprofile-binutils: maybe-all-stageprofile-opcodes
 all-stagefeedback-binutils: maybe-all-stagefeedback-opcodes
+all-stageautoprofile-binutils: maybe-all-stageautoprofile-opcodes
+all-stageautofeedback-binutils: maybe-all-stageautofeedback-opcodes
 all-binutils: maybe-all-bfd
 
 all-stage1-binutils: maybe-all-stage1-bfd
@@ -50569,6 +55930,8 @@ all-stage3-binutils: maybe-all-stage3-bfd
 all-stage4-binutils: maybe-all-stage4-bfd
 all-stageprofile-binutils: maybe-all-stageprofile-bfd
 all-stagefeedback-binutils: maybe-all-stagefeedback-bfd
+all-stageautoprofile-binutils: maybe-all-stageautoprofile-bfd
+all-stageautofeedback-binutils: maybe-all-stageautofeedback-bfd
 all-binutils: maybe-all-build-flex
 
 all-stage1-binutils: maybe-all-build-flex
@@ -50577,6 +55940,8 @@ all-stage3-binutils: maybe-all-build-flex
 all-stage4-binutils: maybe-all-build-flex
 all-stageprofile-binutils: maybe-all-build-flex
 all-stagefeedback-binutils: maybe-all-build-flex
+all-stageautoprofile-binutils: maybe-all-build-flex
+all-stageautofeedback-binutils: maybe-all-build-flex
 all-binutils: maybe-all-build-bison
 
 all-stage1-binutils: maybe-all-build-bison
@@ -50585,6 +55950,8 @@ all-stage3-binutils: maybe-all-build-bison
 all-stage4-binutils: maybe-all-build-bison
 all-stageprofile-binutils: maybe-all-build-bison
 all-stagefeedback-binutils: maybe-all-build-bison
+all-stageautoprofile-binutils: maybe-all-build-bison
+all-stageautofeedback-binutils: maybe-all-build-bison
 all-binutils: maybe-all-intl
 
 all-stage1-binutils: maybe-all-stage1-intl
@@ -50593,6 +55960,8 @@ all-stage3-binutils: maybe-all-stage3-intl
 all-stage4-binutils: maybe-all-stage4-intl
 all-stageprofile-binutils: maybe-all-stageprofile-intl
 all-stagefeedback-binutils: maybe-all-stagefeedback-intl
+all-stageautoprofile-binutils: maybe-all-stageautoprofile-intl
+all-stageautofeedback-binutils: maybe-all-stageautofeedback-intl
 all-binutils: maybe-all-gas
 
 all-stage1-binutils: maybe-all-stage1-gas
@@ -50601,6 +55970,8 @@ all-stage3-binutils: maybe-all-stage3-gas
 all-stage4-binutils: maybe-all-stage4-gas
 all-stageprofile-binutils: maybe-all-stageprofile-gas
 all-stagefeedback-binutils: maybe-all-stagefeedback-gas
+all-stageautoprofile-binutils: maybe-all-stageautoprofile-gas
+all-stageautofeedback-binutils: maybe-all-stageautofeedback-gas
 install-binutils: maybe-install-opcodes
 install-strip-binutils: maybe-install-strip-opcodes
 install-opcodes: maybe-install-bfd
@@ -50613,6 +55984,8 @@ configure-stage3-gas: maybe-configure-stage3-intl
 configure-stage4-gas: maybe-configure-stage4-intl
 configure-stageprofile-gas: maybe-configure-stageprofile-intl
 configure-stagefeedback-gas: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-gas: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-gas: maybe-configure-stageautofeedback-intl
 all-gas: maybe-all-libiberty
 
 all-stage1-gas: maybe-all-stage1-libiberty
@@ -50621,6 +55994,8 @@ all-stage3-gas: maybe-all-stage3-libiberty
 all-stage4-gas: maybe-all-stage4-libiberty
 all-stageprofile-gas: maybe-all-stageprofile-libiberty
 all-stagefeedback-gas: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-gas: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-gas: maybe-all-stageautofeedback-libiberty
 all-gas: maybe-all-opcodes
 
 all-stage1-gas: maybe-all-stage1-opcodes
@@ -50629,6 +56004,8 @@ all-stage3-gas: maybe-all-stage3-opcodes
 all-stage4-gas: maybe-all-stage4-opcodes
 all-stageprofile-gas: maybe-all-stageprofile-opcodes
 all-stagefeedback-gas: maybe-all-stagefeedback-opcodes
+all-stageautoprofile-gas: maybe-all-stageautoprofile-opcodes
+all-stageautofeedback-gas: maybe-all-stageautofeedback-opcodes
 all-gas: maybe-all-bfd
 
 all-stage1-gas: maybe-all-stage1-bfd
@@ -50637,6 +56014,8 @@ all-stage3-gas: maybe-all-stage3-bfd
 all-stage4-gas: maybe-all-stage4-bfd
 all-stageprofile-gas: maybe-all-stageprofile-bfd
 all-stagefeedback-gas: maybe-all-stagefeedback-bfd
+all-stageautoprofile-gas: maybe-all-stageautoprofile-bfd
+all-stageautofeedback-gas: maybe-all-stageautofeedback-bfd
 all-gas: maybe-all-intl
 
 all-stage1-gas: maybe-all-stage1-intl
@@ -50645,6 +56024,8 @@ all-stage3-gas: maybe-all-stage3-intl
 all-stage4-gas: maybe-all-stage4-intl
 all-stageprofile-gas: maybe-all-stageprofile-intl
 all-stagefeedback-gas: maybe-all-stagefeedback-intl
+all-stageautoprofile-gas: maybe-all-stageautoprofile-intl
+all-stageautofeedback-gas: maybe-all-stageautofeedback-intl
 configure-gprof: maybe-configure-intl
 all-gprof: maybe-all-libiberty
 all-gprof: maybe-all-bfd
@@ -50659,6 +56040,8 @@ configure-stage3-ld: maybe-configure-stage3-intl
 configure-stage4-ld: maybe-configure-stage4-intl
 configure-stageprofile-ld: maybe-configure-stageprofile-intl
 configure-stagefeedback-ld: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-ld: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-ld: maybe-configure-stageautofeedback-intl
 all-ld: maybe-all-libiberty
 
 all-stage1-ld: maybe-all-stage1-libiberty
@@ -50667,6 +56050,8 @@ all-stage3-ld: maybe-all-stage3-libiberty
 all-stage4-ld: maybe-all-stage4-libiberty
 all-stageprofile-ld: maybe-all-stageprofile-libiberty
 all-stagefeedback-ld: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-ld: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-ld: maybe-all-stageautofeedback-libiberty
 all-ld: maybe-all-bfd
 
 all-stage1-ld: maybe-all-stage1-bfd
@@ -50675,6 +56060,8 @@ all-stage3-ld: maybe-all-stage3-bfd
 all-stage4-ld: maybe-all-stage4-bfd
 all-stageprofile-ld: maybe-all-stageprofile-bfd
 all-stagefeedback-ld: maybe-all-stagefeedback-bfd
+all-stageautoprofile-ld: maybe-all-stageautoprofile-bfd
+all-stageautofeedback-ld: maybe-all-stageautofeedback-bfd
 all-ld: maybe-all-opcodes
 
 all-stage1-ld: maybe-all-stage1-opcodes
@@ -50683,6 +56070,8 @@ all-stage3-ld: maybe-all-stage3-opcodes
 all-stage4-ld: maybe-all-stage4-opcodes
 all-stageprofile-ld: maybe-all-stageprofile-opcodes
 all-stagefeedback-ld: maybe-all-stagefeedback-opcodes
+all-stageautoprofile-ld: maybe-all-stageautoprofile-opcodes
+all-stageautofeedback-ld: maybe-all-stageautofeedback-opcodes
 all-ld: maybe-all-build-bison
 
 all-stage1-ld: maybe-all-build-bison
@@ -50691,6 +56080,8 @@ all-stage3-ld: maybe-all-build-bison
 all-stage4-ld: maybe-all-build-bison
 all-stageprofile-ld: maybe-all-build-bison
 all-stagefeedback-ld: maybe-all-build-bison
+all-stageautoprofile-ld: maybe-all-build-bison
+all-stageautofeedback-ld: maybe-all-build-bison
 all-ld: maybe-all-build-flex
 
 all-stage1-ld: maybe-all-build-flex
@@ -50699,6 +56090,8 @@ all-stage3-ld: maybe-all-build-flex
 all-stage4-ld: maybe-all-build-flex
 all-stageprofile-ld: maybe-all-build-flex
 all-stagefeedback-ld: maybe-all-build-flex
+all-stageautoprofile-ld: maybe-all-build-flex
+all-stageautofeedback-ld: maybe-all-build-flex
 all-ld: maybe-all-intl
 
 all-stage1-ld: maybe-all-stage1-intl
@@ -50707,6 +56100,8 @@ all-stage3-ld: maybe-all-stage3-intl
 all-stage4-ld: maybe-all-stage4-intl
 all-stageprofile-ld: maybe-all-stageprofile-intl
 all-stagefeedback-ld: maybe-all-stagefeedback-intl
+all-stageautoprofile-ld: maybe-all-stageautoprofile-intl
+all-stageautofeedback-ld: maybe-all-stageautofeedback-intl
 all-ld: maybe-all-gas
 
 all-stage1-ld: maybe-all-stage1-gas
@@ -50715,6 +56110,8 @@ all-stage3-ld: maybe-all-stage3-gas
 all-stage4-ld: maybe-all-stage4-gas
 all-stageprofile-ld: maybe-all-stageprofile-gas
 all-stagefeedback-ld: maybe-all-stagefeedback-gas
+all-stageautoprofile-ld: maybe-all-stageautoprofile-gas
+all-stageautofeedback-ld: maybe-all-stageautofeedback-gas
 all-ld: maybe-all-binutils
 
 all-stage1-ld: maybe-all-stage1-binutils
@@ -50723,6 +56120,8 @@ all-stage3-ld: maybe-all-stage3-binutils
 all-stage4-ld: maybe-all-stage4-binutils
 all-stageprofile-ld: maybe-all-stageprofile-binutils
 all-stagefeedback-ld: maybe-all-stagefeedback-binutils
+all-stageautoprofile-ld: maybe-all-stageautoprofile-binutils
+all-stageautofeedback-ld: maybe-all-stageautofeedback-binutils
 install-ld: maybe-install-gold
 install-strip-ld: maybe-install-strip-gold
 configure-gold: maybe-configure-intl
@@ -50733,6 +56132,8 @@ configure-stage3-gold: maybe-configure-stage3-intl
 configure-stage4-gold: maybe-configure-stage4-intl
 configure-stageprofile-gold: maybe-configure-stageprofile-intl
 configure-stagefeedback-gold: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-gold: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-gold: maybe-configure-stageautofeedback-intl
 all-gold: maybe-all-libiberty
 
 all-stage1-gold: maybe-all-stage1-libiberty
@@ -50741,6 +56142,8 @@ all-stage3-gold: maybe-all-stage3-libiberty
 all-stage4-gold: maybe-all-stage4-libiberty
 all-stageprofile-gold: maybe-all-stageprofile-libiberty
 all-stagefeedback-gold: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-gold: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-gold: maybe-all-stageautofeedback-libiberty
 all-gold: maybe-all-intl
 
 all-stage1-gold: maybe-all-stage1-intl
@@ -50749,6 +56152,8 @@ all-stage3-gold: maybe-all-stage3-intl
 all-stage4-gold: maybe-all-stage4-intl
 all-stageprofile-gold: maybe-all-stageprofile-intl
 all-stagefeedback-gold: maybe-all-stagefeedback-intl
+all-stageautoprofile-gold: maybe-all-stageautoprofile-intl
+all-stageautofeedback-gold: maybe-all-stageautofeedback-intl
 all-gold: maybe-all-bfd
 
 all-stage1-gold: maybe-all-stage1-bfd
@@ -50757,6 +56162,8 @@ all-stage3-gold: maybe-all-stage3-bfd
 all-stage4-gold: maybe-all-stage4-bfd
 all-stageprofile-gold: maybe-all-stageprofile-bfd
 all-stagefeedback-gold: maybe-all-stagefeedback-bfd
+all-stageautoprofile-gold: maybe-all-stageautoprofile-bfd
+all-stageautofeedback-gold: maybe-all-stageautofeedback-bfd
 all-gold: maybe-all-build-bison
 
 all-stage1-gold: maybe-all-build-bison
@@ -50765,6 +56172,8 @@ all-stage3-gold: maybe-all-build-bison
 all-stage4-gold: maybe-all-build-bison
 all-stageprofile-gold: maybe-all-build-bison
 all-stagefeedback-gold: maybe-all-build-bison
+all-stageautoprofile-gold: maybe-all-build-bison
+all-stageautofeedback-gold: maybe-all-build-bison
 all-gold: maybe-all-gas
 
 all-stage1-gold: maybe-all-stage1-gas
@@ -50773,6 +56182,8 @@ all-stage3-gold: maybe-all-stage3-gas
 all-stage4-gold: maybe-all-stage4-gas
 all-stageprofile-gold: maybe-all-stageprofile-gas
 all-stagefeedback-gold: maybe-all-stagefeedback-gas
+all-stageautoprofile-gold: maybe-all-stageautoprofile-gas
+all-stageautofeedback-gold: maybe-all-stageautofeedback-gas
 check-gold: maybe-all-binutils
 
 check-stage1-gold: maybe-all-stage1-binutils
@@ -50781,6 +56192,8 @@ check-stage3-gold: maybe-all-stage3-binutils
 check-stage4-gold: maybe-all-stage4-binutils
 check-stageprofile-gold: maybe-all-stageprofile-binutils
 check-stagefeedback-gold: maybe-all-stagefeedback-binutils
+check-stageautoprofile-gold: maybe-all-stageautoprofile-binutils
+check-stageautofeedback-gold: maybe-all-stageautofeedback-binutils
 check-gold: maybe-all-gas
 
 check-stage1-gold: maybe-all-stage1-gas
@@ -50789,6 +56202,8 @@ check-stage3-gold: maybe-all-stage3-gas
 check-stage4-gold: maybe-all-stage4-gas
 check-stageprofile-gold: maybe-all-stageprofile-gas
 check-stagefeedback-gold: maybe-all-stagefeedback-gas
+check-stageautoprofile-gold: maybe-all-stageautoprofile-gas
+check-stageautofeedback-gold: maybe-all-stageautofeedback-gas
 configure-opcodes: maybe-configure-intl
 
 configure-stage1-opcodes: maybe-configure-stage1-intl
@@ -50797,6 +56212,8 @@ configure-stage3-opcodes: maybe-configure-stage3-intl
 configure-stage4-opcodes: maybe-configure-stage4-intl
 configure-stageprofile-opcodes: maybe-configure-stageprofile-intl
 configure-stagefeedback-opcodes: maybe-configure-stagefeedback-intl
+configure-stageautoprofile-opcodes: maybe-configure-stageautoprofile-intl
+configure-stageautofeedback-opcodes: maybe-configure-stageautofeedback-intl
 all-opcodes: maybe-all-bfd
 
 all-stage1-opcodes: maybe-all-stage1-bfd
@@ -50805,6 +56222,8 @@ all-stage3-opcodes: maybe-all-stage3-bfd
 all-stage4-opcodes: maybe-all-stage4-bfd
 all-stageprofile-opcodes: maybe-all-stageprofile-bfd
 all-stagefeedback-opcodes: maybe-all-stagefeedback-bfd
+all-stageautoprofile-opcodes: maybe-all-stageautoprofile-bfd
+all-stageautofeedback-opcodes: maybe-all-stageautofeedback-bfd
 all-opcodes: maybe-all-libiberty
 
 all-stage1-opcodes: maybe-all-stage1-libiberty
@@ -50813,6 +56232,8 @@ all-stage3-opcodes: maybe-all-stage3-libiberty
 all-stage4-opcodes: maybe-all-stage4-libiberty
 all-stageprofile-opcodes: maybe-all-stageprofile-libiberty
 all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty
+all-stageautoprofile-opcodes: maybe-all-stageautoprofile-libiberty
+all-stageautofeedback-opcodes: maybe-all-stageautofeedback-libiberty
 all-opcodes: maybe-all-intl
 
 all-stage1-opcodes: maybe-all-stage1-intl
@@ -50821,6 +56242,8 @@ all-stage3-opcodes: maybe-all-stage3-intl
 all-stage4-opcodes: maybe-all-stage4-intl
 all-stageprofile-opcodes: maybe-all-stageprofile-intl
 all-stagefeedback-opcodes: maybe-all-stagefeedback-intl
+all-stageautoprofile-opcodes: maybe-all-stageautoprofile-intl
+all-stageautofeedback-opcodes: maybe-all-stageautofeedback-intl
 all-dejagnu: maybe-all-tcl
 all-dejagnu: maybe-all-expect
 all-dejagnu: maybe-all-tk
@@ -50888,6 +56311,8 @@ configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
 configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
 configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
 configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
+configure-stageautoprofile-target-libstdc++-v3: maybe-configure-stageautoprofile-target-libgomp
+configure-stageautofeedback-target-libstdc++-v3: maybe-configure-stageautofeedback-target-libgomp
 configure-target-liboffloadmic: maybe-configure-target-libgomp
 configure-target-libsanitizer: maybe-all-target-libstdc++-v3
 
@@ -50897,6 +56322,8 @@ configure-stage3-target-libsanitizer: maybe-all-stage3-target-libstdc++-v3
 configure-stage4-target-libsanitizer: maybe-all-stage4-target-libstdc++-v3
 configure-stageprofile-target-libsanitizer: maybe-all-stageprofile-target-libstdc++-v3
 configure-stagefeedback-target-libsanitizer: maybe-all-stagefeedback-target-libstdc++-v3
+configure-stageautoprofile-target-libsanitizer: maybe-all-stageautoprofile-target-libstdc++-v3
+configure-stageautofeedback-target-libsanitizer: maybe-all-stageautofeedback-target-libstdc++-v3
 configure-target-libvtv: maybe-all-target-libstdc++-v3
 
 configure-stage1-target-libvtv: maybe-all-stage1-target-libstdc++-v3
@@ -50905,6 +56332,8 @@ configure-stage3-target-libvtv: maybe-all-stage3-target-libstdc++-v3
 configure-stage4-target-libvtv: maybe-all-stage4-target-libstdc++-v3
 configure-stageprofile-target-libvtv: maybe-all-stageprofile-target-libstdc++-v3
 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libstdc++-v3
+configure-stageautoprofile-target-libvtv: maybe-all-stageautoprofile-target-libstdc++-v3
+configure-stageautofeedback-target-libvtv: maybe-all-stageautofeedback-target-libstdc++-v3
 all-target-libstdc++-v3: maybe-configure-target-libgomp
 
 all-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
@@ -50913,6 +56342,8 @@ all-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
 all-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
 all-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
 all-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
+all-stageautoprofile-target-libstdc++-v3: maybe-configure-stageautoprofile-target-libgomp
+all-stageautofeedback-target-libstdc++-v3: maybe-configure-stageautofeedback-target-libgomp
 all-target-liboffloadmic: maybe-all-target-libgomp
 install-target-libgo: maybe-install-target-libatomic
 install-target-libgfortran: maybe-install-target-libquadmath
@@ -50949,30 +56380,40 @@ configure-stage3-target-libstdc++-v3: maybe-all-stage3-target-libgcc
 configure-stage4-target-libstdc++-v3: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libstdc++-v3: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libstdc++-v3: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libstdc++-v3: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libstdc++-v3: maybe-all-stageautofeedback-target-libgcc
 configure-stage1-target-libsanitizer: maybe-all-stage1-target-libgcc
 configure-stage2-target-libsanitizer: maybe-all-stage2-target-libgcc
 configure-stage3-target-libsanitizer: maybe-all-stage3-target-libgcc
 configure-stage4-target-libsanitizer: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libsanitizer: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libsanitizer: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libsanitizer: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libsanitizer: maybe-all-stageautofeedback-target-libgcc
 configure-stage1-target-libmpx: maybe-all-stage1-target-libgcc
 configure-stage2-target-libmpx: maybe-all-stage2-target-libgcc
 configure-stage3-target-libmpx: maybe-all-stage3-target-libgcc
 configure-stage4-target-libmpx: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libmpx: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libmpx: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libmpx: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libmpx: maybe-all-stageautofeedback-target-libgcc
 configure-stage1-target-libvtv: maybe-all-stage1-target-libgcc
 configure-stage2-target-libvtv: maybe-all-stage2-target-libgcc
 configure-stage3-target-libvtv: maybe-all-stage3-target-libgcc
 configure-stage4-target-libvtv: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libvtv: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libvtv: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libvtv: maybe-all-stageautofeedback-target-libgcc
 configure-stage1-target-libgomp: maybe-all-stage1-target-libgcc
 configure-stage2-target-libgomp: maybe-all-stage2-target-libgcc
 configure-stage3-target-libgomp: maybe-all-stage3-target-libgcc
 configure-stage4-target-libgomp: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libgomp: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-target-libgcc
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
diff --git a/Makefile.tpl b/Makefile.tpl
index 829f664..e3a0aae 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -382,6 +382,8 @@ MAKEINFO = @MAKEINFO@
 EXPECT = @EXPECT@
 RUNTEST = @RUNTEST@
 
+AUTO_PROFILE = gcc-auto-profile -c 1000000
+
 # This just becomes part of the MAKEINFO definition passed down to
 # sub-makes.  It lets flags be given on the command line while still
 # using the makeinfo from the object tree.
@@ -418,6 +420,9 @@ CXXFLAGS = @CXXFLAGS@
 LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
 GOCFLAGS = $(CFLAGS)
 
+# get from configure?
+CREATE_GCOV = create_gcov
+
 TFLAGS =
 
 # Defaults for all stages; some are overridden below.
@@ -462,6 +467,12 @@ STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
 STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
 STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
 
+STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
+STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)
+
+STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
+STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)
+
 do-compare = @do_compare@
 do-compare3 = $(do-compare)
 
@@ -617,7 +628,8 @@ EXTRA_HOST_FLAGS = \
 	'READELF=$(READELF)' \
 	'STRIP=$(STRIP)' \
 	'WINDRES=$(WINDRES)' \
-	'WINDMC=$(WINDMC)'
+	'WINDMC=$(WINDMC)' \
+	'CREATE_GCOV=$(CREATE_GCOV)'
 
 FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
 
@@ -1146,6 +1158,7 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
 	[+exports+][+ IF prev +] \
 	[+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \
 	cd [+subdir+]/[+module+] && \
+	[+autoprofile+] \
 	$(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \
 		CFLAGS="$(CFLAGS_FOR_TARGET)" \
 		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
@@ -1159,7 +1172,7 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
 		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
 		[+args+] [+IF prev +][+poststage1_args+][+ ELSE prev +] \
 		[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] \
-		TFLAGS="$(STAGE[+id+]_TFLAGS)" \
+		TFLAGS="$(STAGE[+id+]_TFLAGS)" [+profile_data+] \
 		$(TARGET-stage[+id+]-[+prefix+][+module+])
 
 maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3d6f0e6..274a8dc 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1558,6 +1558,13 @@ ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
   $(GCOV_TOOL_OBJS) $(GENGTYPE_OBJS) gcc-ar.o gcc-nm.o gcc-ranlib.o \
   lto-wrapper.o collect-utils.o
 
+# for anything that is shared use the cc1plus profile data, as that
+# is likely the most exercised during the build
+ifeq ($(shell cat ../stage_current),stageautofeedback)
+$(ALL_HOST_BACKEND_OBJS): ALL_COMPILERFLAGS += -fauto-profile=cc1plus.fda
+$(ALL_HOST_BACKEND_OBJS): cc1plus.fda
+endif
+
 # This lists all host object files, whether they are included in this
 # compilation or not.
 ALL_HOST_OBJS = $(ALL_HOST_FRONTEND_OBJS) $(ALL_HOST_BACKEND_OBJS)
@@ -1587,7 +1594,7 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
  gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
  gcov-tool$(exeect) \
  gengtype$(exeext) *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a \
- libcommon-target.a libcommon.a libgcc.mk
+ libcommon-target.a libcommon.a libgcc.mk perf.data
 
 # This symlink makes the full installation name of the driver be available
 # from within the *build* directory, for use when running the JIT library
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index 8525707..0acaafb 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -60,6 +60,11 @@ c_OBJS = $(C_OBJS) cc1-checksum.o c/gccspec.o
 # Use strict warnings for this front end.
 c-warn = $(STRICT_WARN)
 
+ifeq ($(shell cat ../stage_current),stageautofeedback)
+$(C_OBJS): ALL_COMPILERFLAGS += -fauto-profile=cc1.fda
+$(C_OBJS): cc1.fda
+endif
+
 # compute checksum over all object files and the options
 cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
@@ -70,6 +75,10 @@ cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
 	+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
 	  cc1-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
+
+cc1.fda: ../stage1-gcc/cc1$(exeext) ../prev-gcc/$(PERF_DATA)
+	$(CREATE_GCOV) -binary ../stage1-gcc/cc1$(exeext) -gcov cc1.fda -profile ../prev-gcc/$(PERF_DATA) -gcov_version 1
+
 #\f
 # Build hooks:
 
@@ -119,6 +128,7 @@ c.mostlyclean:
 	-rm -f cc1$(exeext)
 	-rm -f c/*$(objext)
 	-rm -f c/*$(coverageexts)
+	-rm -f cc1.fda
 c.clean:
 c.distclean:
 	-rm -f c/config.status c/Makefile
@@ -139,3 +149,7 @@ c.stageprofile: stageprofile-start
 	-mv c/*$(objext) stageprofile/c
 c.stagefeedback: stagefeedback-start
 	-mv c/*$(objext) stagefeedback/c
+c.autostageprofile: autostageprofile-start
+	-mv c/*$(objext) autostageprofile/c
+c.autostagefeedback: autostagefeedback-start
+	-mv c/*$(objext) autostagefeedback/c
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 8770f6f..81f16f3 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -81,6 +81,11 @@ CXX_AND_OBJCXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \
  cp/vtable-class-hierarchy.o cp/constexpr.o cp/cp-ubsan.o \
  cp/constraint.o cp/logic.o $(CXX_C_OBJS)
 
+ifeq ($(shell cat ../stage_current),stageautofeedback)
+$(CXX_AND_OBJCXX_OBJS): CFLAGS += -fauto-profile=cc1plus.fda
+$(CXX_AND_OBJCXX_OBJS): cc1plus.fda
+endif
+
 # Language-specific object files for C++.
 CXX_OBJS = cp/cp-lang.o c-family/stub-objc.o $(CXX_AND_OBJCXX_OBJS)
 
@@ -115,6 +120,9 @@ endif
 	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
 		$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
 
+cc1plus.fda: ../stage1-gcc/cc1plus$(exeext) ../prev-gcc/$(PERF_DATA)
+	$(CREATE_GCOV) -binary ../stage1-gcc/cc1plus$(exeext) -gcov cc1plus.fda -profile ../prev-gcc/$(PERF_DATA) -gcov_version 1
+
 #\f
 # Build hooks:
 
@@ -228,7 +236,7 @@ c++.mostlyclean:
 	-rm -f doc/g++.1
 	-rm -f cp/*$(objext)
 	-rm -f cp/*$(coverageexts)
-	-rm -f xg++$(exeext) g++-cross$(exeext) cc1plus$(exeext)
+	-rm -f xg++$(exeext) g++-cross$(exeext) cc1plus$(exeext) cc1plus.fda
 c++.clean:
 c++.distclean:
 	-rm -f cp/config.status cp/Makefile
@@ -250,3 +258,7 @@ c++.stageprofile: stageprofile-start
 	-mv cp/*$(objext) stageprofile/cp
 c++.stagefeedback: stagefeedback-start
 	-mv cp/*$(objext) stagefeedback/cp
+c++.autostageprofile: stageprofile-start
+	-mv cp/*$(objext) autostageprofile/cp
+c++.autostagefeedback: stagefeedback-start
+	-mv cp/*$(objext) autostagefeedback/cp
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 811fdfb..c3ff6b9 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2767,6 +2767,17 @@ Unlike standard bootstrap, several additional restrictions apply.  The
 compiler used to build @code{stage1} needs to support a 64-bit integral type.
 It is recommended to only use GCC for this.
 
+On Linux/x86_64 hosts with some restrictions (no virtualization) it is
+also possible to do autofdo build with @samp{make
+autoprofiledback}. This uses Linux perf to sample branches in the
+binary and then rebuild it with feedback derived from the profile.
+Linux perf and the @code{autofdo} toolkit needs to be installed for
+this.
+
+Only the profile from the current build is used, so when an error
+occurs it is recommended to clean before restarting. Otherwise
+the code quality may be much worse.
+
 @html
 <hr />
 <p>
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index 28fe675..9b95276 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -25,6 +25,15 @@ LTO_EXE = lto1$(exeext)
 LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o
 lto_OBJS = $(LTO_OBJS)
 
+# this is only useful in a LTO bootstrap, but this does not work right
+# now. Should reenable after this is fixed, but only when LTO bootstrap
+# is enabled.
+
+#ifeq ($(shell cat ../stage_current),stageautofeedback)
+#$(LTO_OBJS): CFLAGS += -fauto-profile=lto1.fda
+#$(LTO_OBJS): lto1.fda
+#endif
+
 # Rules
 
 # These hooks are used by the main GCC Makefile.  Consult that
@@ -50,7 +59,7 @@ lto.srcinfo:
 lto.install-plugin:
 
 lto.mostlyclean:
-	rm -f $(LTO_OBJS) $(LTO_EXE)
+	rm -f $(LTO_OBJS) $(LTO_EXE) lto1.fda
 
 lto.clean:
 lto.distclean:
@@ -71,5 +80,8 @@ $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
 	+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
 		$(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS)
 
+lto1.fda: ../prev-gcc/lto1$(exeext) ../prev-gcc/$(PERF_DATA)
+	$(CREATE_GCOV) -binary ../prev-gcc/lto1$(exeext) -gcov lto1.fda -profile ../prev-gcc/$(PERF_DATA) -gcov_version 1
+
 # LTO testing is done as part of C/C++/Fortran etc. testing.
 check-lto:
-- 
2.7.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-03-28  9:16 [PATCH 1/4] Add gcc-auto-profile script Andi Kleen
  2016-03-28  4:48 ` [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking Andi Kleen
@ 2016-03-30 18:48 ` Joseph Myers
  2016-03-30 19:09   ` Andi Kleen
  2016-04-16 15:24 ` Andi Kleen
  2016-04-27 15:43 ` Bernd Schmidt
  3 siblings, 1 reply; 15+ messages in thread
From: Joseph Myers @ 2016-03-30 18:48 UTC (permalink / raw)
  To: Andi Kleen; +Cc: gcc-patches, Andi Kleen

On Sun, 27 Mar 2016, Andi Kleen wrote:

> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
> 
> 	* gen_autofdo_event.py: New file to regenerate
> 	gcc-auto-profile.

It may not be required in contrib, but does this script work with both 
Python 2 and Python 3?  (New code that only works with Python 2 seems like 
a bad idea nowadays, with GNU/Linux distributions moving to having only 
Python 3 in a default install.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-03-30 18:48 ` [PATCH 1/4] Add gcc-auto-profile script Joseph Myers
@ 2016-03-30 19:09   ` Andi Kleen
  0 siblings, 0 replies; 15+ messages in thread
From: Andi Kleen @ 2016-03-30 19:09 UTC (permalink / raw)
  To: Joseph Myers; +Cc: Andi Kleen, gcc-patches

On Wed, Mar 30, 2016 at 06:05:00PM +0000, Joseph Myers wrote:
> On Sun, 27 Mar 2016, Andi Kleen wrote:
> 
> > 2016-03-27  Andi Kleen  <ak@linux.intel.com>
> > 
> > 	* gen_autofdo_event.py: New file to regenerate
> > 	gcc-auto-profile.
> 
> It may not be required in contrib, but does this script work with both 
> Python 2 and Python 3?  (New code that only works with Python 2 seems like 
> a bad idea nowadays, with GNU/Linux distributions moving to having only 
> Python 3 in a default install.)

Currently it's python 2. It could be run through the conversion tool,
but then you would lose older distributions which don't have 2.7.
As I understand the newer distributions always have options to install 2.7.

-andi
-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-03-28  9:16 [PATCH 1/4] Add gcc-auto-profile script Andi Kleen
  2016-03-28  4:48 ` [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking Andi Kleen
  2016-03-30 18:48 ` [PATCH 1/4] Add gcc-auto-profile script Joseph Myers
@ 2016-04-16 15:24 ` Andi Kleen
  2016-04-23 16:15   ` [PING^2] " Andi Kleen
  2016-04-27 15:43 ` Bernd Schmidt
  3 siblings, 1 reply; 15+ messages in thread
From: Andi Kleen @ 2016-04-16 15:24 UTC (permalink / raw)
  To: gcc-patches

Andi Kleen <andi@firstfloor.org> writes:

Ping for the patch series!

> From: Andi Kleen <ak@linux.intel.com>
>
> Using autofdo is currently something difficult. It requires using the
> model specific branches taken event, which differs on different CPUs.
> The example shown in the manual requires a special patched version of
> perf that is non standard, and also will likely not work everywhere.
>
> This patch adds a new gcc-auto-profile script that figures out the
> correct event and runs perf. The script is installed with on Linux systems.
>
> Since maintaining the script would be somewhat tedious (needs changes
> every time a new CPU comes out) I auto generated it from the online
> Intel event database. The script to do that is in contrib and can be
> rerun.
>
> Right now there is no test if perf works in configure. This
> would vary depending on the build and target system, and since
> it currently doesn't work in virtualization and needs uptodate
> kernel it may often fail in common distribution build setups.
>
> So Linux just hardcodes installing the script, but it may fail at runtime.
>
> This is needed to actually make use of autofdo in a generic way
> in the build system and in the test suite.
>
> So far the script is not installed.
>
> gcc/:
> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>
> 	* doc/invoke.texi: Document gcc-auto-profile
> 	* gcc-auto-profile: Create.
>
> contrib/:
>
> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>
> 	* gen_autofdo_event.py: New file to regenerate
> 	gcc-auto-profile.
> ---
>  contrib/gen_autofdo_event.py | 155 +++++++++++++++++++++++++++++++++++++++++++
>  gcc/doc/invoke.texi          |  31 +++++++--
>  gcc/gcc-auto-profile         |  70 +++++++++++++++++++
>  3 files changed, 251 insertions(+), 5 deletions(-)
>  create mode 100755 contrib/gen_autofdo_event.py
>  create mode 100755 gcc/gcc-auto-profile
>
> diff --git a/contrib/gen_autofdo_event.py b/contrib/gen_autofdo_event.py
> new file mode 100755
> index 0000000..db4db33
> --- /dev/null
> +++ b/contrib/gen_autofdo_event.py
> @@ -0,0 +1,155 @@
> +#!/usr/bin/python
> +# generate Intel taken branches Linux perf event script for autofdo profiling
> +
> +# Copyright (C) 2016 Free Software Foundation, Inc.
> +#
> +# GCC is free software; you can redistribute it and/or modify it under
> +# the terms of the GNU General Public License as published by the Free
> +# Software Foundation; either version 3, or (at your option) any later
> +# version.
> +#
> +# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
> +# WARRANTY; without even the implied warranty of MERCHANTABILITY or
> +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
> +# for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with GCC; see the file COPYING3.  If not see
> +# <http://www.gnu.org/licenses/>.  */
> +
> +# run it with perf record -b -e EVENT program ...
> +# The Linux Kernel needs to support the PMU of the current CPU, and
> +# it will likely not work in VMs.
> +# add --all to print for all cpus, otherwise for current cpu
> +# add --script to generate shell script to run correct event
> +#
> +# requires internet (https) access. this may require setting up a proxy
> +# with export https_proxy=...
> +#
> +import urllib2
> +import sys
> +import json
> +import argparse
> +import collections
> +
> +baseurl = "https://download.01.org/perfmon"
> +
> +target_events = (u'BR_INST_RETIRED.NEAR_TAKEN',
> +                 u'BR_INST_EXEC.TAKEN',
> +                 u'BR_INST_RETIRED.TAKEN_JCC',
> +                 u'BR_INST_TYPE_RETIRED.COND_TAKEN')
> +
> +ap = argparse.ArgumentParser()
> +ap.add_argument('--all', '-a', help='Print for all CPUs', action='store_true')
> +ap.add_argument('--script', help='Generate shell script', action='store_true')
> +args = ap.parse_args()
> +
> +eventmap = collections.defaultdict(list)
> +
> +def get_cpu_str():
> +    with open('/proc/cpuinfo', 'r') as c:
> +        vendor, fam, model = None, None, None
> +        for j in c:
> +            n = j.split()
> +            if n[0] == 'vendor_id':
> +                vendor = n[2]
> +            elif n[0] == 'model' and n[1] == ':':
> +                model = int(n[2])
> +            elif n[0] == 'cpu' and n[1] == 'family':
> +                fam = int(n[3])
> +            if vendor and fam and model:
> +                return "%s-%d-%X" % (vendor, fam, model), model
> +    return None, None
> +
> +def find_event(eventurl, model):
> +    print >>sys.stderr, "Downloading", eventurl
> +    u = urllib2.urlopen(eventurl)
> +    events = json.loads(u.read())
> +    u.close()
> +
> +    found = 0
> +    for j in events:
> +        if j[u'EventName'] in target_events:
> +            event = "cpu/event=%s,umask=%s/" % (j[u'EventCode'], j[u'UMask'])
> +            if u'PEBS' in j and j[u'PEBS'] > 0:
> +                event += "p"
> +            if args.script:
> +                eventmap[event].append(model)
> +            else:
> +                print j[u'EventName'], "event for model", model, "is", event
> +            found += 1
> +    return found
> +
> +if not args.all:
> +    cpu, model = get_cpu_str()
> +    if not cpu:
> +        sys.exit("Unknown CPU type")
> +
> +url = baseurl + "/mapfile.csv"
> +print >>sys.stderr, "Downloading", url
> +u = urllib2.urlopen(url)
> +found = 0
> +cpufound = 0
> +for j in u:
> +    n = j.rstrip().split(',')
> +    if len(n) >= 4 and (args.all or n[0] == cpu) and n[3] == "core":
> +        if args.all:
> +            vendor, fam, model = n[0].split("-")
> +            model = int(model, 16)
> +        cpufound += 1
> +        found += find_event(baseurl + n[2], model)
> +u.close()
> +
> +if args.script:
> +    print '''#!/bin/sh
> +# profile workload for gcc profile feedback (autofdo) using Linux perf
> +# auto generated. to regenerate for new CPUs run
> +# contrib/gen_autofdo_event.py --shell --all in gcc source
> +
> +# usages:
> +# gcc-auto-profile program             (profile program and children)
> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
> +# gcc-auto-profile -p PID sleep X      (profile PID)
> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
> +
> +# identify branches taken event for CPU
> +#
> +
> +FLAGS=u
> +
> +if [ "$1" = "--kernel" ] ; then
> +  FLAGS=k
> +  shift
> +fi
> +if [ "$1" == "--all" ] ; then
> +  FLAGS=uk
> +  shift
> +fi
> +
> +if ! grep -q Intel /proc/cpuinfo ] ; then
> +  echo >&2 "Only Intel CPUs supported"
> +  exit 1
> +fi
> +
> +if grep -q hypervisor /proc/cpuinfo ; then
> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
> +fi
> +
> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in'''
> +    for event, mod in eventmap.iteritems():
> +        for m in mod[:-1]:
> +            print "model*:\ %s|\\" % m
> +        print 'model*:\ %s) E="%s$FLAGS" ;;' % (mod[-1], event)
> +    print '''*)
> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
> +	exit 1 ;;'''
> +    print "esac"
> +    print 'exec perf record -e $E -b "$@"'
> +
> +if cpufound == 0 and not args.all:
> +    sys.exit('CPU %s not found' % cpu)
> +
> +if found == 0:
> +    sys.exit('Branch event not found')
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 9e54bb7..427d89a 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -8249,13 +8249,34 @@ which are generally profitable only with profile feedback available:
>  If omitted, it defaults to @file{fbdata.afdo} in the current directory.
>  
>  Producing an AutoFDO profile data file requires running your program
> -with the @command{perf} utility on a supported GNU/Linux target system.
> +with the @command{gcc-auto-profile} utility on a supported GNU/Linux target system. @command{gcc-auto-profile} calls the @command{perf} utility.
> +It also requires Last-Branch-Record support, which typically requires
> +a new enough kernel not running virtualized.
> +@command{gcc-auto-profile} accepts the same arguments as @command{perf record}.
>  For more information, see @uref{https://perf.wiki.kernel.org/}.
>  
> -E.g.
>  @smallexample
> -perf record -e br_inst_retired:near_taken -b -o perf.data \
> -    -- your_program
> +gcc-auto-profile your_program
> +@end smallexample
> +
> +On larger programs the resulting perf.data file may be very large.
> +In this case it can be better to reduce the sampling rate.
> +Collect samples every million taken branches:
> +
> +@smallexample
> +gcc-auto-profile -c 1000000 program
> +@end smallexample
> +
> +Or only profile representative run intervals of the program:
> +
> +@smallexample
> +gcc-auto-profile -p PID-OF-PROGRAM sleep 5
> +@end smallexample
> +
> +Profile complete system for 10 seconds (may require root)
> +
> +@smallexample
> +gcc-auto-profile -a sleep 10
>  @end smallexample
>  
>  Then use the @command{create_gcov} tool to convert the raw profile data
> @@ -8266,7 +8287,7 @@ See @uref{https://github.com/google/autofdo}.
>  E.g.
>  @smallexample
>  create_gcov --binary=your_program.unstripped --profile=perf.data \
> -    --gcov=profile.afdo
> +    --gcov=profile.afdo -gcov_version 1
>  @end smallexample
>  @end table
>  
> diff --git a/gcc/gcc-auto-profile b/gcc/gcc-auto-profile
> new file mode 100755
> index 0000000..c6712b2
> --- /dev/null
> +++ b/gcc/gcc-auto-profile
> @@ -0,0 +1,70 @@
> +#!/bin/sh
> +# profile workload for gcc profile feedback (autofdo) using Linux perf
> +# auto generated. to regenerate for new CPUs run
> +# contrib/gen_autofdo_event.py --shell --all in gcc source
> +
> +# usages:
> +# gcc-auto-profile program             (profile program and children)
> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
> +# gcc-auto-profile -p PID sleep X      (profile PID)
> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
> +
> +# identify branches taken event for CPU
> +#
> +
> +FLAGS=u
> +
> +if [ "$1" = "--kernel" ] ; then
> +  FLAGS=k
> +  shift
> +fi
> +if [ "$1" == "--all" ] ; then
> +  FLAGS=uk
> +  shift
> +fi
> +
> +if ! grep -q Intel /proc/cpuinfo ] ; then
> +  echo >&2 "Only Intel CPUs supported"
> +  exit 1
> +fi
> +
> +if grep -q hypervisor /proc/cpuinfo ; then
> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
> +fi
> +
> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in
> +model*:\ 55|\
> +model*:\ 77|\
> +model*:\ 76) E="cpu/event=0xC4,umask=0xFE/p$FLAGS" ;;
> +model*:\ 42|\
> +model*:\ 45|\
> +model*:\ 58|\
> +model*:\ 62|\
> +model*:\ 60|\
> +model*:\ 69|\
> +model*:\ 70|\
> +model*:\ 63|\
> +model*:\ 61|\
> +model*:\ 71|\
> +model*:\ 86|\
> +model*:\ 78|\
> +model*:\ 94) E="cpu/event=0xC4,umask=0x20/p$FLAGS" ;;
> +model*:\ 46|\
> +model*:\ 30|\
> +model*:\ 31|\
> +model*:\ 26|\
> +model*:\ 47|\
> +model*:\ 37|\
> +model*:\ 44) E="cpu/event=0x88,umask=0x40/p$FLAGS" ;;
> +model*:\ 28|\
> +model*:\ 38|\
> +model*:\ 39|\
> +model*:\ 54|\
> +model*:\ 53) E="cpu/event=0x88,umask=0x41/p$FLAGS" ;;
> +*)
> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
> +	exit 1 ;;
> +esac
> +exec perf record -e $E -b "$@"

-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PING^2] Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-04-16 15:24 ` Andi Kleen
@ 2016-04-23 16:15   ` Andi Kleen
  2016-04-27 14:29     ` [PING^3] " Andi Kleen
  0 siblings, 1 reply; 15+ messages in thread
From: Andi Kleen @ 2016-04-23 16:15 UTC (permalink / raw)
  To: gcc-patches

Andi Kleen <andi@firstfloor.org> writes:

Ping^2 for the patch series!

> Andi Kleen <andi@firstfloor.org> writes:
>
> Ping for the patch series!
>
>> From: Andi Kleen <ak@linux.intel.com>
>>
>> Using autofdo is currently something difficult. It requires using the
>> model specific branches taken event, which differs on different CPUs.
>> The example shown in the manual requires a special patched version of
>> perf that is non standard, and also will likely not work everywhere.
>>
>> This patch adds a new gcc-auto-profile script that figures out the
>> correct event and runs perf. The script is installed with on Linux systems.
>>
>> Since maintaining the script would be somewhat tedious (needs changes
>> every time a new CPU comes out) I auto generated it from the online
>> Intel event database. The script to do that is in contrib and can be
>> rerun.
>>
>> Right now there is no test if perf works in configure. This
>> would vary depending on the build and target system, and since
>> it currently doesn't work in virtualization and needs uptodate
>> kernel it may often fail in common distribution build setups.
>>
>> So Linux just hardcodes installing the script, but it may fail at runtime.
>>
>> This is needed to actually make use of autofdo in a generic way
>> in the build system and in the test suite.
>>
>> So far the script is not installed.
>>
>> gcc/:
>> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>>
>> 	* doc/invoke.texi: Document gcc-auto-profile
>> 	* gcc-auto-profile: Create.
>>
>> contrib/:
>>
>> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>>
>> 	* gen_autofdo_event.py: New file to regenerate
>> 	gcc-auto-profile.
>> ---
>>  contrib/gen_autofdo_event.py | 155 +++++++++++++++++++++++++++++++++++++++++++
>>  gcc/doc/invoke.texi          |  31 +++++++--
>>  gcc/gcc-auto-profile         |  70 +++++++++++++++++++
>>  3 files changed, 251 insertions(+), 5 deletions(-)
>>  create mode 100755 contrib/gen_autofdo_event.py
>>  create mode 100755 gcc/gcc-auto-profile
>>
>> diff --git a/contrib/gen_autofdo_event.py b/contrib/gen_autofdo_event.py
>> new file mode 100755
>> index 0000000..db4db33
>> --- /dev/null
>> +++ b/contrib/gen_autofdo_event.py
>> @@ -0,0 +1,155 @@
>> +#!/usr/bin/python
>> +# generate Intel taken branches Linux perf event script for autofdo profiling
>> +
>> +# Copyright (C) 2016 Free Software Foundation, Inc.
>> +#
>> +# GCC is free software; you can redistribute it and/or modify it under
>> +# the terms of the GNU General Public License as published by the Free
>> +# Software Foundation; either version 3, or (at your option) any later
>> +# version.
>> +#
>> +# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
>> +# WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
>> +# for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with GCC; see the file COPYING3.  If not see
>> +# <http://www.gnu.org/licenses/>.  */
>> +
>> +# run it with perf record -b -e EVENT program ...
>> +# The Linux Kernel needs to support the PMU of the current CPU, and
>> +# it will likely not work in VMs.
>> +# add --all to print for all cpus, otherwise for current cpu
>> +# add --script to generate shell script to run correct event
>> +#
>> +# requires internet (https) access. this may require setting up a proxy
>> +# with export https_proxy=...
>> +#
>> +import urllib2
>> +import sys
>> +import json
>> +import argparse
>> +import collections
>> +
>> +baseurl = "https://download.01.org/perfmon"
>> +
>> +target_events = (u'BR_INST_RETIRED.NEAR_TAKEN',
>> +                 u'BR_INST_EXEC.TAKEN',
>> +                 u'BR_INST_RETIRED.TAKEN_JCC',
>> +                 u'BR_INST_TYPE_RETIRED.COND_TAKEN')
>> +
>> +ap = argparse.ArgumentParser()
>> +ap.add_argument('--all', '-a', help='Print for all CPUs', action='store_true')
>> +ap.add_argument('--script', help='Generate shell script', action='store_true')
>> +args = ap.parse_args()
>> +
>> +eventmap = collections.defaultdict(list)
>> +
>> +def get_cpu_str():
>> +    with open('/proc/cpuinfo', 'r') as c:
>> +        vendor, fam, model = None, None, None
>> +        for j in c:
>> +            n = j.split()
>> +            if n[0] == 'vendor_id':
>> +                vendor = n[2]
>> +            elif n[0] == 'model' and n[1] == ':':
>> +                model = int(n[2])
>> +            elif n[0] == 'cpu' and n[1] == 'family':
>> +                fam = int(n[3])
>> +            if vendor and fam and model:
>> +                return "%s-%d-%X" % (vendor, fam, model), model
>> +    return None, None
>> +
>> +def find_event(eventurl, model):
>> +    print >>sys.stderr, "Downloading", eventurl
>> +    u = urllib2.urlopen(eventurl)
>> +    events = json.loads(u.read())
>> +    u.close()
>> +
>> +    found = 0
>> +    for j in events:
>> +        if j[u'EventName'] in target_events:
>> +            event = "cpu/event=%s,umask=%s/" % (j[u'EventCode'], j[u'UMask'])
>> +            if u'PEBS' in j and j[u'PEBS'] > 0:
>> +                event += "p"
>> +            if args.script:
>> +                eventmap[event].append(model)
>> +            else:
>> +                print j[u'EventName'], "event for model", model, "is", event
>> +            found += 1
>> +    return found
>> +
>> +if not args.all:
>> +    cpu, model = get_cpu_str()
>> +    if not cpu:
>> +        sys.exit("Unknown CPU type")
>> +
>> +url = baseurl + "/mapfile.csv"
>> +print >>sys.stderr, "Downloading", url
>> +u = urllib2.urlopen(url)
>> +found = 0
>> +cpufound = 0
>> +for j in u:
>> +    n = j.rstrip().split(',')
>> +    if len(n) >= 4 and (args.all or n[0] == cpu) and n[3] == "core":
>> +        if args.all:
>> +            vendor, fam, model = n[0].split("-")
>> +            model = int(model, 16)
>> +        cpufound += 1
>> +        found += find_event(baseurl + n[2], model)
>> +u.close()
>> +
>> +if args.script:
>> +    print '''#!/bin/sh
>> +# profile workload for gcc profile feedback (autofdo) using Linux perf
>> +# auto generated. to regenerate for new CPUs run
>> +# contrib/gen_autofdo_event.py --shell --all in gcc source
>> +
>> +# usages:
>> +# gcc-auto-profile program             (profile program and children)
>> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
>> +# gcc-auto-profile -p PID sleep X      (profile PID)
>> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
>> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
>> +
>> +# identify branches taken event for CPU
>> +#
>> +
>> +FLAGS=u
>> +
>> +if [ "$1" = "--kernel" ] ; then
>> +  FLAGS=k
>> +  shift
>> +fi
>> +if [ "$1" == "--all" ] ; then
>> +  FLAGS=uk
>> +  shift
>> +fi
>> +
>> +if ! grep -q Intel /proc/cpuinfo ] ; then
>> +  echo >&2 "Only Intel CPUs supported"
>> +  exit 1
>> +fi
>> +
>> +if grep -q hypervisor /proc/cpuinfo ; then
>> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
>> +fi
>> +
>> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
>> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in'''
>> +    for event, mod in eventmap.iteritems():
>> +        for m in mod[:-1]:
>> +            print "model*:\ %s|\\" % m
>> +        print 'model*:\ %s) E="%s$FLAGS" ;;' % (mod[-1], event)
>> +    print '''*)
>> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
>> +	exit 1 ;;'''
>> +    print "esac"
>> +    print 'exec perf record -e $E -b "$@"'
>> +
>> +if cpufound == 0 and not args.all:
>> +    sys.exit('CPU %s not found' % cpu)
>> +
>> +if found == 0:
>> +    sys.exit('Branch event not found')
>> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
>> index 9e54bb7..427d89a 100644
>> --- a/gcc/doc/invoke.texi
>> +++ b/gcc/doc/invoke.texi
>> @@ -8249,13 +8249,34 @@ which are generally profitable only with profile feedback available:
>>  If omitted, it defaults to @file{fbdata.afdo} in the current directory.
>>  
>>  Producing an AutoFDO profile data file requires running your program
>> -with the @command{perf} utility on a supported GNU/Linux target system.
>> +with the @command{gcc-auto-profile} utility on a supported GNU/Linux target system. @command{gcc-auto-profile} calls the @command{perf} utility.
>> +It also requires Last-Branch-Record support, which typically requires
>> +a new enough kernel not running virtualized.
>> +@command{gcc-auto-profile} accepts the same arguments as @command{perf record}.
>>  For more information, see @uref{https://perf.wiki.kernel.org/}.
>>  
>> -E.g.
>>  @smallexample
>> -perf record -e br_inst_retired:near_taken -b -o perf.data \
>> -    -- your_program
>> +gcc-auto-profile your_program
>> +@end smallexample
>> +
>> +On larger programs the resulting perf.data file may be very large.
>> +In this case it can be better to reduce the sampling rate.
>> +Collect samples every million taken branches:
>> +
>> +@smallexample
>> +gcc-auto-profile -c 1000000 program
>> +@end smallexample
>> +
>> +Or only profile representative run intervals of the program:
>> +
>> +@smallexample
>> +gcc-auto-profile -p PID-OF-PROGRAM sleep 5
>> +@end smallexample
>> +
>> +Profile complete system for 10 seconds (may require root)
>> +
>> +@smallexample
>> +gcc-auto-profile -a sleep 10
>>  @end smallexample
>>  
>>  Then use the @command{create_gcov} tool to convert the raw profile data
>> @@ -8266,7 +8287,7 @@ See @uref{https://github.com/google/autofdo}.
>>  E.g.
>>  @smallexample
>>  create_gcov --binary=your_program.unstripped --profile=perf.data \
>> -    --gcov=profile.afdo
>> +    --gcov=profile.afdo -gcov_version 1
>>  @end smallexample
>>  @end table
>>  
>> diff --git a/gcc/gcc-auto-profile b/gcc/gcc-auto-profile
>> new file mode 100755
>> index 0000000..c6712b2
>> --- /dev/null
>> +++ b/gcc/gcc-auto-profile
>> @@ -0,0 +1,70 @@
>> +#!/bin/sh
>> +# profile workload for gcc profile feedback (autofdo) using Linux perf
>> +# auto generated. to regenerate for new CPUs run
>> +# contrib/gen_autofdo_event.py --shell --all in gcc source
>> +
>> +# usages:
>> +# gcc-auto-profile program             (profile program and children)
>> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
>> +# gcc-auto-profile -p PID sleep X      (profile PID)
>> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
>> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
>> +
>> +# identify branches taken event for CPU
>> +#
>> +
>> +FLAGS=u
>> +
>> +if [ "$1" = "--kernel" ] ; then
>> +  FLAGS=k
>> +  shift
>> +fi
>> +if [ "$1" == "--all" ] ; then
>> +  FLAGS=uk
>> +  shift
>> +fi
>> +
>> +if ! grep -q Intel /proc/cpuinfo ] ; then
>> +  echo >&2 "Only Intel CPUs supported"
>> +  exit 1
>> +fi
>> +
>> +if grep -q hypervisor /proc/cpuinfo ; then
>> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
>> +fi
>> +
>> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
>> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in
>> +model*:\ 55|\
>> +model*:\ 77|\
>> +model*:\ 76) E="cpu/event=0xC4,umask=0xFE/p$FLAGS" ;;
>> +model*:\ 42|\
>> +model*:\ 45|\
>> +model*:\ 58|\
>> +model*:\ 62|\
>> +model*:\ 60|\
>> +model*:\ 69|\
>> +model*:\ 70|\
>> +model*:\ 63|\
>> +model*:\ 61|\
>> +model*:\ 71|\
>> +model*:\ 86|\
>> +model*:\ 78|\
>> +model*:\ 94) E="cpu/event=0xC4,umask=0x20/p$FLAGS" ;;
>> +model*:\ 46|\
>> +model*:\ 30|\
>> +model*:\ 31|\
>> +model*:\ 26|\
>> +model*:\ 47|\
>> +model*:\ 37|\
>> +model*:\ 44) E="cpu/event=0x88,umask=0x40/p$FLAGS" ;;
>> +model*:\ 28|\
>> +model*:\ 38|\
>> +model*:\ 39|\
>> +model*:\ 54|\
>> +model*:\ 53) E="cpu/event=0x88,umask=0x41/p$FLAGS" ;;
>> +*)
>> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
>> +	exit 1 ;;
>> +esac
>> +exec perf record -e $E -b "$@"

-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PING^3] Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-04-23 16:15   ` [PING^2] " Andi Kleen
@ 2016-04-27 14:29     ` Andi Kleen
  0 siblings, 0 replies; 15+ messages in thread
From: Andi Kleen @ 2016-04-27 14:29 UTC (permalink / raw)
  To: gcc-patches

Andi Kleen <andi@firstfloor.org> writes:

Ping^3 for the patch series!

> Andi Kleen <andi@firstfloor.org> writes:
>
> Ping^2 for the patch series!
>
>> Andi Kleen <andi@firstfloor.org> writes:
>>
>> Ping for the patch series!
>>
>>> From: Andi Kleen <ak@linux.intel.com>
>>>
>>> Using autofdo is currently something difficult. It requires using the
>>> model specific branches taken event, which differs on different CPUs.
>>> The example shown in the manual requires a special patched version of
>>> perf that is non standard, and also will likely not work everywhere.
>>>
>>> This patch adds a new gcc-auto-profile script that figures out the
>>> correct event and runs perf. The script is installed with on Linux systems.
>>>
>>> Since maintaining the script would be somewhat tedious (needs changes
>>> every time a new CPU comes out) I auto generated it from the online
>>> Intel event database. The script to do that is in contrib and can be
>>> rerun.
>>>
>>> Right now there is no test if perf works in configure. This
>>> would vary depending on the build and target system, and since
>>> it currently doesn't work in virtualization and needs uptodate
>>> kernel it may often fail in common distribution build setups.
>>>
>>> So Linux just hardcodes installing the script, but it may fail at runtime.
>>>
>>> This is needed to actually make use of autofdo in a generic way
>>> in the build system and in the test suite.
>>>
>>> So far the script is not installed.
>>>
>>> gcc/:
>>> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>>>
>>> 	* doc/invoke.texi: Document gcc-auto-profile
>>> 	* gcc-auto-profile: Create.
>>>
>>> contrib/:
>>>
>>> 2016-03-27  Andi Kleen  <ak@linux.intel.com>
>>>
>>> 	* gen_autofdo_event.py: New file to regenerate
>>> 	gcc-auto-profile.
>>> ---
>>>  contrib/gen_autofdo_event.py | 155 +++++++++++++++++++++++++++++++++++++++++++
>>>  gcc/doc/invoke.texi          |  31 +++++++--
>>>  gcc/gcc-auto-profile         |  70 +++++++++++++++++++
>>>  3 files changed, 251 insertions(+), 5 deletions(-)
>>>  create mode 100755 contrib/gen_autofdo_event.py
>>>  create mode 100755 gcc/gcc-auto-profile
>>>
>>> diff --git a/contrib/gen_autofdo_event.py b/contrib/gen_autofdo_event.py
>>> new file mode 100755
>>> index 0000000..db4db33
>>> --- /dev/null
>>> +++ b/contrib/gen_autofdo_event.py
>>> @@ -0,0 +1,155 @@
>>> +#!/usr/bin/python
>>> +# generate Intel taken branches Linux perf event script for autofdo profiling
>>> +
>>> +# Copyright (C) 2016 Free Software Foundation, Inc.
>>> +#
>>> +# GCC is free software; you can redistribute it and/or modify it under
>>> +# the terms of the GNU General Public License as published by the Free
>>> +# Software Foundation; either version 3, or (at your option) any later
>>> +# version.
>>> +#
>>> +# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
>>> +# WARRANTY; without even the implied warranty of MERCHANTABILITY or
>>> +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
>>> +# for more details.
>>> +#
>>> +# You should have received a copy of the GNU General Public License
>>> +# along with GCC; see the file COPYING3.  If not see
>>> +# <http://www.gnu.org/licenses/>.  */
>>> +
>>> +# run it with perf record -b -e EVENT program ...
>>> +# The Linux Kernel needs to support the PMU of the current CPU, and
>>> +# it will likely not work in VMs.
>>> +# add --all to print for all cpus, otherwise for current cpu
>>> +# add --script to generate shell script to run correct event
>>> +#
>>> +# requires internet (https) access. this may require setting up a proxy
>>> +# with export https_proxy=...
>>> +#
>>> +import urllib2
>>> +import sys
>>> +import json
>>> +import argparse
>>> +import collections
>>> +
>>> +baseurl = "https://download.01.org/perfmon"
>>> +
>>> +target_events = (u'BR_INST_RETIRED.NEAR_TAKEN',
>>> +                 u'BR_INST_EXEC.TAKEN',
>>> +                 u'BR_INST_RETIRED.TAKEN_JCC',
>>> +                 u'BR_INST_TYPE_RETIRED.COND_TAKEN')
>>> +
>>> +ap = argparse.ArgumentParser()
>>> +ap.add_argument('--all', '-a', help='Print for all CPUs', action='store_true')
>>> +ap.add_argument('--script', help='Generate shell script', action='store_true')
>>> +args = ap.parse_args()
>>> +
>>> +eventmap = collections.defaultdict(list)
>>> +
>>> +def get_cpu_str():
>>> +    with open('/proc/cpuinfo', 'r') as c:
>>> +        vendor, fam, model = None, None, None
>>> +        for j in c:
>>> +            n = j.split()
>>> +            if n[0] == 'vendor_id':
>>> +                vendor = n[2]
>>> +            elif n[0] == 'model' and n[1] == ':':
>>> +                model = int(n[2])
>>> +            elif n[0] == 'cpu' and n[1] == 'family':
>>> +                fam = int(n[3])
>>> +            if vendor and fam and model:
>>> +                return "%s-%d-%X" % (vendor, fam, model), model
>>> +    return None, None
>>> +
>>> +def find_event(eventurl, model):
>>> +    print >>sys.stderr, "Downloading", eventurl
>>> +    u = urllib2.urlopen(eventurl)
>>> +    events = json.loads(u.read())
>>> +    u.close()
>>> +
>>> +    found = 0
>>> +    for j in events:
>>> +        if j[u'EventName'] in target_events:
>>> +            event = "cpu/event=%s,umask=%s/" % (j[u'EventCode'], j[u'UMask'])
>>> +            if u'PEBS' in j and j[u'PEBS'] > 0:
>>> +                event += "p"
>>> +            if args.script:
>>> +                eventmap[event].append(model)
>>> +            else:
>>> +                print j[u'EventName'], "event for model", model, "is", event
>>> +            found += 1
>>> +    return found
>>> +
>>> +if not args.all:
>>> +    cpu, model = get_cpu_str()
>>> +    if not cpu:
>>> +        sys.exit("Unknown CPU type")
>>> +
>>> +url = baseurl + "/mapfile.csv"
>>> +print >>sys.stderr, "Downloading", url
>>> +u = urllib2.urlopen(url)
>>> +found = 0
>>> +cpufound = 0
>>> +for j in u:
>>> +    n = j.rstrip().split(',')
>>> +    if len(n) >= 4 and (args.all or n[0] == cpu) and n[3] == "core":
>>> +        if args.all:
>>> +            vendor, fam, model = n[0].split("-")
>>> +            model = int(model, 16)
>>> +        cpufound += 1
>>> +        found += find_event(baseurl + n[2], model)
>>> +u.close()
>>> +
>>> +if args.script:
>>> +    print '''#!/bin/sh
>>> +# profile workload for gcc profile feedback (autofdo) using Linux perf
>>> +# auto generated. to regenerate for new CPUs run
>>> +# contrib/gen_autofdo_event.py --shell --all in gcc source
>>> +
>>> +# usages:
>>> +# gcc-auto-profile program             (profile program and children)
>>> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
>>> +# gcc-auto-profile -p PID sleep X      (profile PID)
>>> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
>>> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
>>> +
>>> +# identify branches taken event for CPU
>>> +#
>>> +
>>> +FLAGS=u
>>> +
>>> +if [ "$1" = "--kernel" ] ; then
>>> +  FLAGS=k
>>> +  shift
>>> +fi
>>> +if [ "$1" == "--all" ] ; then
>>> +  FLAGS=uk
>>> +  shift
>>> +fi
>>> +
>>> +if ! grep -q Intel /proc/cpuinfo ] ; then
>>> +  echo >&2 "Only Intel CPUs supported"
>>> +  exit 1
>>> +fi
>>> +
>>> +if grep -q hypervisor /proc/cpuinfo ; then
>>> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
>>> +fi
>>> +
>>> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
>>> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in'''
>>> +    for event, mod in eventmap.iteritems():
>>> +        for m in mod[:-1]:
>>> +            print "model*:\ %s|\\" % m
>>> +        print 'model*:\ %s) E="%s$FLAGS" ;;' % (mod[-1], event)
>>> +    print '''*)
>>> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
>>> +	exit 1 ;;'''
>>> +    print "esac"
>>> +    print 'exec perf record -e $E -b "$@"'
>>> +
>>> +if cpufound == 0 and not args.all:
>>> +    sys.exit('CPU %s not found' % cpu)
>>> +
>>> +if found == 0:
>>> +    sys.exit('Branch event not found')
>>> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
>>> index 9e54bb7..427d89a 100644
>>> --- a/gcc/doc/invoke.texi
>>> +++ b/gcc/doc/invoke.texi
>>> @@ -8249,13 +8249,34 @@ which are generally profitable only with profile feedback available:
>>>  If omitted, it defaults to @file{fbdata.afdo} in the current directory.
>>>  
>>>  Producing an AutoFDO profile data file requires running your program
>>> -with the @command{perf} utility on a supported GNU/Linux target system.
>>> +with the @command{gcc-auto-profile} utility on a supported GNU/Linux target system. @command{gcc-auto-profile} calls the @command{perf} utility.
>>> +It also requires Last-Branch-Record support, which typically requires
>>> +a new enough kernel not running virtualized.
>>> +@command{gcc-auto-profile} accepts the same arguments as @command{perf record}.
>>>  For more information, see @uref{https://perf.wiki.kernel.org/}.
>>>  
>>> -E.g.
>>>  @smallexample
>>> -perf record -e br_inst_retired:near_taken -b -o perf.data \
>>> -    -- your_program
>>> +gcc-auto-profile your_program
>>> +@end smallexample
>>> +
>>> +On larger programs the resulting perf.data file may be very large.
>>> +In this case it can be better to reduce the sampling rate.
>>> +Collect samples every million taken branches:
>>> +
>>> +@smallexample
>>> +gcc-auto-profile -c 1000000 program
>>> +@end smallexample
>>> +
>>> +Or only profile representative run intervals of the program:
>>> +
>>> +@smallexample
>>> +gcc-auto-profile -p PID-OF-PROGRAM sleep 5
>>> +@end smallexample
>>> +
>>> +Profile complete system for 10 seconds (may require root)
>>> +
>>> +@smallexample
>>> +gcc-auto-profile -a sleep 10
>>>  @end smallexample
>>>  
>>>  Then use the @command{create_gcov} tool to convert the raw profile data
>>> @@ -8266,7 +8287,7 @@ See @uref{https://github.com/google/autofdo}.
>>>  E.g.
>>>  @smallexample
>>>  create_gcov --binary=your_program.unstripped --profile=perf.data \
>>> -    --gcov=profile.afdo
>>> +    --gcov=profile.afdo -gcov_version 1
>>>  @end smallexample
>>>  @end table
>>>  
>>> diff --git a/gcc/gcc-auto-profile b/gcc/gcc-auto-profile
>>> new file mode 100755
>>> index 0000000..c6712b2
>>> --- /dev/null
>>> +++ b/gcc/gcc-auto-profile
>>> @@ -0,0 +1,70 @@
>>> +#!/bin/sh
>>> +# profile workload for gcc profile feedback (autofdo) using Linux perf
>>> +# auto generated. to regenerate for new CPUs run
>>> +# contrib/gen_autofdo_event.py --shell --all in gcc source
>>> +
>>> +# usages:
>>> +# gcc-auto-profile program             (profile program and children)
>>> +# gcc-auto-profile -a sleep X          (profile all for X secs, may need root)
>>> +# gcc-auto-profile -p PID sleep X      (profile PID)
>>> +# gcc-auto-profile --kernel -a sleep X (profile kernel)
>>> +# gcc-auto-profile --all -a sleep X    (profile kernel and user space)
>>> +
>>> +# identify branches taken event for CPU
>>> +#
>>> +
>>> +FLAGS=u
>>> +
>>> +if [ "$1" = "--kernel" ] ; then
>>> +  FLAGS=k
>>> +  shift
>>> +fi
>>> +if [ "$1" == "--all" ] ; then
>>> +  FLAGS=uk
>>> +  shift
>>> +fi
>>> +
>>> +if ! grep -q Intel /proc/cpuinfo ] ; then
>>> +  echo >&2 "Only Intel CPUs supported"
>>> +  exit 1
>>> +fi
>>> +
>>> +if grep -q hypervisor /proc/cpuinfo ; then
>>> +  echo >&2 "Warning: branch profiling may not be functional in VMs"
>>> +fi
>>> +
>>> +case `egrep -q "^cpu family\s*: 6" /proc/cpuinfo &&
>>> +  egrep "^model\s*:" /proc/cpuinfo | head -1` in
>>> +model*:\ 55|\
>>> +model*:\ 77|\
>>> +model*:\ 76) E="cpu/event=0xC4,umask=0xFE/p$FLAGS" ;;
>>> +model*:\ 42|\
>>> +model*:\ 45|\
>>> +model*:\ 58|\
>>> +model*:\ 62|\
>>> +model*:\ 60|\
>>> +model*:\ 69|\
>>> +model*:\ 70|\
>>> +model*:\ 63|\
>>> +model*:\ 61|\
>>> +model*:\ 71|\
>>> +model*:\ 86|\
>>> +model*:\ 78|\
>>> +model*:\ 94) E="cpu/event=0xC4,umask=0x20/p$FLAGS" ;;
>>> +model*:\ 46|\
>>> +model*:\ 30|\
>>> +model*:\ 31|\
>>> +model*:\ 26|\
>>> +model*:\ 47|\
>>> +model*:\ 37|\
>>> +model*:\ 44) E="cpu/event=0x88,umask=0x40/p$FLAGS" ;;
>>> +model*:\ 28|\
>>> +model*:\ 38|\
>>> +model*:\ 39|\
>>> +model*:\ 54|\
>>> +model*:\ 53) E="cpu/event=0x88,umask=0x41/p$FLAGS" ;;
>>> +*)
>>> +echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
>>> +	exit 1 ;;
>>> +esac
>>> +exec perf record -e $E -b "$@"

-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] Run profile feedback tests with autofdo
  2016-03-28  4:49   ` [PATCH 3/4] Run profile feedback tests with autofdo Andi Kleen
  2016-03-28  9:45     ` [PATCH 4/4] Add make autoprofiledbootstrap Andi Kleen
@ 2016-04-27 15:27     ` Bernd Schmidt
  2016-04-30 14:26       ` Bernhard Reutner-Fischer
  1 sibling, 1 reply; 15+ messages in thread
From: Bernd Schmidt @ 2016-04-27 15:27 UTC (permalink / raw)
  To: Andi Kleen, gcc-patches; +Cc: Andi Kleen

On 03/28/2016 06:44 AM, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> Extend the existing bprob and tree-prof tests to also run with autofdo.
> The test runtimes are really a bit too short for autofdo, but it's
> a reasonable sanity check.
>
> This only works natively for now.
>
> dejagnu doesn't seem to support a wrapper for unix tests, so I had
> to open code running these tests.  That should be ok due to the
> native run restrictions.

Ideally this would be reviewed by someone who knows tcl (and autofdo) a 
little better. Some observations.

> +set profile_wrapper [profopt-perf-wrapper]
> +set profile_options "-g"
> +set feedback_options "-fauto-profile"
> +set run_autofdo 1
> +
> +foreach profile_option $profile_options feedback_option $feedback_options {
> +    foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] {
> +        if ![runtest_file_p $runtests $src] then {
> +            continue
> +        }
> +	set base [file tail $srco
> +        profopt-execute $src
> +    }
> +}
> +
> +set run_autofdo ""
> +set profile_wrapper ""

This block appears duplicated across several files. Is there a way to 
unify that?

 > +	if { $run_autofdo == 1 } {
 > +	    # unix_load does not support wrappers in $PATH, so implement
 > +	    # it manually here

Please write full sentences with proper capitalization and punctuation. 
This occurs across several of these patches, I'll only mention it here.

> @@ -313,6 +320,7 @@ proc profopt-execute { src } {
>   	# valid, by running it after dg-additional-files-options.
>   	foreach ext $prof_ext {
>   	    profopt-target-cleanup $tmpdir $base $ext
> +	    profopt-target-cleanup $tmpdir perf data
>   	}

We have this, and then...

> @@ -400,6 +451,7 @@ proc profopt-execute { src } {
>   	foreach ext $prof_ext {
>   	    profopt-target-cleanup $tmpdir $base $ext
>   	}
> +	# XXX remove perf.data

... this - does that need to look the same as the above?

> +	# Should check if create_gcov exists

So maybe do that?


Bernd

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/4] Add make autoprofiledbootstrap
  2016-03-28  9:45     ` [PATCH 4/4] Add make autoprofiledbootstrap Andi Kleen
@ 2016-04-27 15:36       ` Bernd Schmidt
  2016-04-27 16:27         ` Andi Kleen
  0 siblings, 1 reply; 15+ messages in thread
From: Bernd Schmidt @ 2016-04-27 15:36 UTC (permalink / raw)
  To: Andi Kleen, gcc-patches; +Cc: Andi Kleen

On 03/28/2016 06:44 AM, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> Add support for profiledbootstrap with autofdo. Will be useful
> to get better testing coverage of autofdo.

Is this the only purpose? I'll admit this is the patch I like least out 
of the series.

> The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for
> profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for
> profiledfeedback)

So it seems like we get worse results than with a feature we already 
have, so I don't quite see the value.

> +AUTO_PROFILE = gcc-auto-profile -c 1000000

Shouldn't this be from $(srcdir) somewhere?

> +# get from configure?
> +CREATE_GCOV = create_gcov

Probably.

Please remove diffs against autogenerated files when submitting patches.

> +ifeq ($(shell cat ../stage_current),stageautofeedback)
> +$(CXX_AND_OBJCXX_OBJS): CFLAGS += -fauto-profile=cc1plus.fda
> +$(CXX_AND_OBJCXX_OBJS): cc1plus.fda
> +endif

> +cc1.fda: ../stage1-gcc/cc1$(exeext) ../prev-gcc/$(PERF_DATA)
> +	$(CREATE_GCOV) -binary ../stage1-gcc/cc1$(exeext) -gcov cc1.fda -profile ../prev-gcc/$(PERF_DATA) -gcov_version 1
> +

These Makefile  bits all looks somewhat hackish to me. I'll defer to 
build system maintainers if they like it better.


Bernd

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-03-28  9:16 [PATCH 1/4] Add gcc-auto-profile script Andi Kleen
                   ` (2 preceding siblings ...)
  2016-04-16 15:24 ` Andi Kleen
@ 2016-04-27 15:43 ` Bernd Schmidt
  2016-04-27 16:30   ` Andi Kleen
  3 siblings, 1 reply; 15+ messages in thread
From: Bernd Schmidt @ 2016-04-27 15:43 UTC (permalink / raw)
  To: Andi Kleen, gcc-patches; +Cc: Andi Kleen

On 03/28/2016 06:44 AM, Andi Kleen wrote:
> This patch adds a new gcc-auto-profile script that figures out the
> correct event and runs perf. The script is installed with on Linux systems.

That sounds useful, and I think we'll want to accept this.

> So Linux just hardcodes installing the script, but it may fail at runtime.

For this reason it would probably be best to retain the documentation 
for the old method alongside the new one.

> +
> +baseurl = "https://download.01.org/perfmon"

Slightly scary to see a random unknown download URL. Apparently it's an 
Intel thing? Is this referenced somewhere on an intel.com web page?

>   E.g.
>   @smallexample
>   create_gcov --binary=your_program.unstripped --profile=perf.data \
> -    --gcov=profile.afdo
> +    --gcov=profile.afdo -gcov_version 1
>   @end smallexample
>   @end table

Why this change? What does it do?

Why isn't the new script in contrib? Does it have to be in gcc to be 
installed? As a target-specific thing it probably needs to live at least 
inside config/.

Please review the patch yourself for proper sentences everywhere.


Bernd

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/4] Add make autoprofiledbootstrap
  2016-04-27 15:36       ` Bernd Schmidt
@ 2016-04-27 16:27         ` Andi Kleen
  0 siblings, 0 replies; 15+ messages in thread
From: Andi Kleen @ 2016-04-27 16:27 UTC (permalink / raw)
  To: Bernd Schmidt; +Cc: Andi Kleen, gcc-patches

On Wed, Apr 27, 2016 at 05:36:09PM +0200, Bernd Schmidt wrote:
> On 03/28/2016 06:44 AM, Andi Kleen wrote:
> >From: Andi Kleen <ak@linux.intel.com>
> >
> >Add support for profiledbootstrap with autofdo. Will be useful
> >to get better testing coverage of autofdo.
> 
> Is this the only purpose? I'll admit this is the patch I like least out of
> the series.

It's the main purpose, since we already have profiled feedback. 
bootstrap is one of the best tests we have and autofdo badly needs it.

It's also a useful benchmark, so if autofdo gets improved it can catch up more
with explicit profiling.

> >The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for
> >profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for
> >profiledfeedback)
> 
> So it seems like we get worse results than with a feature we already have,
> so I don't quite see the value.

I hope as it gets tuned that will improve. Also autofdo is so much
easier to use on other software that the main usage elsewhere may well be autofdo,
not explicit instrumentation.

-Andi

-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] Add gcc-auto-profile script
  2016-04-27 15:43 ` Bernd Schmidt
@ 2016-04-27 16:30   ` Andi Kleen
  0 siblings, 0 replies; 15+ messages in thread
From: Andi Kleen @ 2016-04-27 16:30 UTC (permalink / raw)
  To: Bernd Schmidt; +Cc: Andi Kleen, gcc-patches

On Wed, Apr 27, 2016 at 05:42:48PM +0200, Bernd Schmidt wrote:
> On 03/28/2016 06:44 AM, Andi Kleen wrote:
> >This patch adds a new gcc-auto-profile script that figures out the
> >correct event and runs perf. The script is installed with on Linux systems.
> 
> That sounds useful, and I think we'll want to accept this.
> 
> >So Linux just hardcodes installing the script, but it may fail at runtime.
> 
> For this reason it would probably be best to retain the documentation for
> the old method alongside the new one.

The old method actually doesn't work, unless you apply a very obscure
patch to your perf. I don't think it is very useful for users.

> 
> >+
> >+baseurl = "https://download.01.org/perfmon"
> 
> Slightly scary to see a random unknown download URL. Apparently it's an
> Intel thing? Is this referenced somewhere on an intel.com web page?

http://www.intel.com/content/www/us/en/search.html?toplevelcategory=none&keyword=01.org


> 
> >  E.g.
> >  @smallexample
> >  create_gcov --binary=your_program.unstripped --profile=perf.data \
> >-    --gcov=profile.afdo
> >+    --gcov=profile.afdo -gcov_version 1
> >  @end smallexample
> >  @end table
> 
> Why this change? What does it do?

It actually makes it work. The google autofdo distribution defaults
to some google internal magic gcov version number that doesn't work
with standard gcc.

I can split it out.

> 
> Why isn't the new script in contrib? Does it have to be in gcc to be
> installed?

Because autoprofiledfeedback needs it.

Also the idea was to eventually install it by default (although the patch
doesn't do that yet)

-Andi


-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] Run profile feedback tests with autofdo
  2016-04-27 15:27     ` [PATCH 3/4] Run profile feedback tests with autofdo Bernd Schmidt
@ 2016-04-30 14:26       ` Bernhard Reutner-Fischer
  0 siblings, 0 replies; 15+ messages in thread
From: Bernhard Reutner-Fischer @ 2016-04-30 14:26 UTC (permalink / raw)
  To: Bernd Schmidt, Andi Kleen, gcc-patches; +Cc: Andi Kleen

On April 27, 2016 5:27:32 PM GMT+02:00, Bernd Schmidt <bschmidt@redhat.com> wrote:
>On 03/28/2016 06:44 AM, Andi Kleen wrote:
>> From: Andi Kleen <ak@linux.intel.com>

>
>> @@ -313,6 +320,7 @@ proc profopt-execute { src } {
>>   	# valid, by running it after dg-additional-files-options.
>>   	foreach ext $prof_ext {
>>   	    profopt-target-cleanup $tmpdir $base $ext
>> +	    profopt-target-cleanup $tmpdir perf data
>>   	}

If neither perf nor data depend on $ext then it shouldn't be necessary to loop them over $prof_ext, no?

thanks,
>
>We have this, and then...
>
>> @@ -400,6 +451,7 @@ proc profopt-execute { src } {
>>   	foreach ext $prof_ext {
>>   	    profopt-target-cleanup $tmpdir $base $ext
>>   	}
>> +	# XXX remove perf.data
>
>... this - does that need to look the same as the above?
>
>> +	# Should check if create_gcov exists
>
>So maybe do that?
>
>
>Bernd


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-04-30 14:26 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-28  9:16 [PATCH 1/4] Add gcc-auto-profile script Andi Kleen
2016-03-28  4:48 ` [PATCH 2/4] Don't cause ICEs when auto profile file is not found with checking Andi Kleen
2016-03-28  4:49   ` [PATCH 3/4] Run profile feedback tests with autofdo Andi Kleen
2016-03-28  9:45     ` [PATCH 4/4] Add make autoprofiledbootstrap Andi Kleen
2016-04-27 15:36       ` Bernd Schmidt
2016-04-27 16:27         ` Andi Kleen
2016-04-27 15:27     ` [PATCH 3/4] Run profile feedback tests with autofdo Bernd Schmidt
2016-04-30 14:26       ` Bernhard Reutner-Fischer
2016-03-30 18:48 ` [PATCH 1/4] Add gcc-auto-profile script Joseph Myers
2016-03-30 19:09   ` Andi Kleen
2016-04-16 15:24 ` Andi Kleen
2016-04-23 16:15   ` [PING^2] " Andi Kleen
2016-04-27 14:29     ` [PING^3] " Andi Kleen
2016-04-27 15:43 ` Bernd Schmidt
2016-04-27 16:30   ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).