Fix ARCH_FLAGS_FOR_TARGET and --with-build-sysroot on gcc 4.3.1.
authorKhem Raj <raj.khem@gmail.com>
Tue, 22 Jul 2008 15:24:36 +0000 (15:24 +0000)
committerKhem Raj <raj.khem@gmail.com>
Tue, 22 Jul 2008 15:24:36 +0000 (15:24 +0000)
We use ARCH_FLAGS_FOR_TARGET to overcome a bug in --with-build-sysroot implementation where it does not pass LDFLAGS_FOR_TARGET and CPPFLAGS_FOR_TARGET to libstdc++ during build.

packages/gcc/gcc-4.3.1.inc
packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch [new file with mode: 0644]
packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch [new file with mode: 0644]
packages/gcc/gcc-cross-initial_4.3.1.bb

index 3784727..b14dd4a 100644 (file)
@@ -45,7 +45,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://904-flatten-switch-stmt-00.patch;patch=1 \
        file://arm-nolibfloat.patch;patch=1 \
        file://arm-softfloat.patch;patch=1 \
-#      file://gcc41-configure.in.patch;patch=1 \
 #      file://arm-thumb.patch;patch=1 \
 #      file://arm-thumb-cache.patch;patch=1 \
        file://ldflags.patch;patch=1 \
@@ -59,6 +58,8 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 #      file://intermask-bigendian.patch;patch=1 \
        file://gcc-arm-frename-registers.patch;patch=1 \
        file://gcc-release-branch/PR-36500-fix-neon.patch;patch=1 \
+       file://gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch;patch=1 \
+       file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \
 "
 
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644 (file)
index 0000000..f33e6c1
--- /dev/null
@@ -0,0 +1,31 @@
+---
+ configure    |    2 +-
+ configure.ac |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: gcc-4.3.1/configure.ac
+===================================================================
+--- gcc-4.3.1.orig/configure.ac        2008-07-21 12:29:18.000000000 -0700
++++ gcc-4.3.1/configure.ac     2008-07-21 12:29:35.000000000 -0700
+@@ -2352,7 +2352,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
+Index: gcc-4.3.1/configure
+===================================================================
+--- gcc-4.3.1.orig/configure   2008-07-21 12:29:48.000000000 -0700
++++ gcc-4.3.1/configure        2008-07-21 12:29:59.000000000 -0700
+@@ -5841,7 +5841,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
diff --git a/packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch b/packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644 (file)
index 0000000..2a9605c
--- /dev/null
@@ -0,0 +1,5466 @@
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Paolo
+
+2008-02-19  Paolo Bonzini  <bonzini@gnu.org>
+
+        PR bootstrap/32009
+        PR bootstrap/32161
+
+       * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here.
+       * configure: Regenerate.
+
+       * Makefile.def: Define stage_libcflags for all bootstrap stages.
+       * Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
+       STAGE4_LIBCFLAGS): New.
+       (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
+       $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
+       (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
+       (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
+       (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
+       for target modules.  Don't export LIBCFLAGS.
+       (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
+       $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
+       the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+       (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
+       $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
+       * Makefile.in: Regenerate.
+
+config:
+2008-02-19  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/32009
+       * mh-ppc-darwin (BOOT_CFLAGS): Reenable.
+
+gcc:
+2008-02-19  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/32009
+       * doc/install.texi: Correct references to CFLAGS, replacing them
+       with BOOT_CFLAGS.  Document flags used during bootstrap for
+       target libraries.
+
+
+---
+ Makefile.def         |   24 
+ Makefile.in          | 1802 +++++++++++++++++++++++++++++++--------------------
+ Makefile.tpl         |   57 -
+ config/mh-ppc-darwin |    3 
+ configure            |   36 -
+ configure.ac         |   32 
+ gcc/doc/install.texi |   56 -
+ 7 files changed, 1261 insertions(+), 749 deletions(-)
+
+Index: gcc-4.3.1/configure.ac
+===================================================================
+--- gcc-4.3.1.orig/configure.ac        2008-02-01 19:29:30.000000000 -0800
++++ gcc-4.3.1/configure.ac     2008-07-21 10:56:15.000000000 -0700
+@@ -1667,6 +1667,38 @@ AC_ARG_WITH([debug-prefix-map],
+   [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
+ AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++  CFLAGS_FOR_TARGET=$CFLAGS
++  case " $CFLAGS " in
++    *" -O2 "*) ;;
++    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++  esac
++  case " $CFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++  esac
++fi
++AC_SUBST(CFLAGS_FOR_TARGET)
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++  CXXFLAGS_FOR_TARGET=$CXXFLAGS
++  case " $CXXFLAGS " in
++    *" -O2 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++  esac
++  case " $CXXFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++  esac
++fi
++AC_SUBST(CXXFLAGS_FOR_TARGET)
++
+ # Handle --with-headers=XXX.  If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+Index: gcc-4.3.1/Makefile.def
+===================================================================
+--- gcc-4.3.1.orig/Makefile.def        2007-10-23 08:53:18.000000000 -0700
++++ gcc-4.3.1/Makefile.def     2008-07-21 10:56:15.000000000 -0700
+@@ -511,43 +511,51 @@ bootstrap_stage = {
+       //   compiler probably has never heard of them.
+       stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
+         --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
+-      stage_cflags='$(STAGE1_CFLAGS)' ; };
++      stage_cflags='$(STAGE1_CFLAGS)' ;
++      stage_libcflags='$(STAGE1_LIBCFLAGS)' ; };
+ bootstrap_stage = {
+       id=2 ; prev=1 ;
+       bootstrap_target=bootstrap2 ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags="$(STAGE2_CFLAGS)" ; };
++      stage_cflags="$(STAGE2_CFLAGS)" ;
++      stage_libcflags="$(STAGE2_LIBCFLAGS)" ; };
+ bootstrap_stage = {
+       id=b2g0 ; prev=1 ;
+       bootstrap_target=bootstrap2-debug ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags="$(STAGE2_CFLAGS) -g0" ; };
++      stage_cflags="$(STAGE2_CFLAGS) -g0" ;
++      stage_libcflags="$(STAGE2_LIBCFLAGS) -g0" ; };
+ bootstrap_stage = {
+       id=3 ; prev=2 ; lean=1 ;
+       compare_target=compare ;
+       bootstrap_target=bootstrap ;
+       cleanstrap_target=cleanstrap ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags="$(STAGE3_CFLAGS)" ; };
++      stage_cflags="$(STAGE3_CFLAGS)" ;
++      stage_libcflags="$(STAGE3_LIBCFLAGS)" ; };
+ bootstrap_stage = {
+       id=b3g2 ; prev=b2g0 ; lean=1 ;
+       compare_target=compare-debug ;
+       bootstrap_target=bootstrap-debug ;
+       cleanstrap_target=cleanstrap-debug ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags="$(STAGE3_CFLAGS) -g2" ; };
++      stage_cflags="$(STAGE3_CFLAGS) -g2" ;
++      stage_libcflags="$(STAGE3_LIBCFLAGS) -g2" ; };
+ bootstrap_stage = {
+       id=4 ; prev=3 ; lean=2 ;
+       compare_target=compare3 ;
+       bootstrap_target=bootstrap4 ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags="$(STAGE4_CFLAGS)" ; };
++      stage_cflags="$(STAGE4_CFLAGS)" ;
++      stage_libcflags="$(STAGE4_CFLAGS)" ; };
+ bootstrap_stage = {
+       id=profile ; prev=1 ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ; };
++      stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ;
++      stage_libcflags='$(STAGE2_LIBCFLAGS) -fprofile-generate' ; };
+ bootstrap_stage = {
+       id=feedback ; prev=profile ;
+       bootstrap_target=profiledbootstrap ;
+       stage_configure_flags="@stage2_werror_flag@" ;
+-      stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ; };
++      stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ;
++      stage_libcflags='$(STAGE3_LIBCFLAGS) -fprofile-use' ; };
+Index: gcc-4.3.1/Makefile.tpl
+===================================================================
+--- gcc-4.3.1.orig/Makefile.tpl        2008-07-21 10:56:14.000000000 -0700
++++ gcc-4.3.1/Makefile.tpl     2008-07-21 10:56:15.000000000 -0700
+@@ -207,10 +207,10 @@ BASE_TARGET_EXPORTS = \
+       AR="$(AR_FOR_TARGET)"; export AR; \
+       AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+       CC="$(CC_FOR_TARGET)"; export CC; \
+-      CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+       CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+-      CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
++      CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+       GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+       DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+@@ -330,14 +330,19 @@ PICFLAG = 
+ # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+ # overrideable (for a bootstrap build stage1 also builds gcc.info).
+-STAGE1_CFLAGS=@stage1_cflags@
+ STAGE1_CHECKING=@stage1_checking@
+ STAGE1_LANGUAGES=@stage1_languages@
++STAGE1_CFLAGS=@stage1_cflags@
+ STAGE2_CFLAGS=$(BOOT_CFLAGS)
+ STAGE3_CFLAGS=$(BOOT_CFLAGS)
+ STAGE4_CFLAGS=$(BOOT_CFLAGS)
++STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++
+ do-compare = @do_compare@
+ do-compare3 = $(do-compare)
+ do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
+@@ -376,18 +381,11 @@ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+-# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
+-# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
+-# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
+-# We want to ensure that TARGET libraries (which we know are built with
+-# gcc) are built with "-O2 -g", so prepend those options when setting
+-# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 -g $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+-      $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
++CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = -O2 -g $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+-      $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = @LDFLAGS@ 
+@@ -491,19 +489,20 @@ POSTSTAGE1_FLAGS_TO_PASS = \
+ # Flags to pass down to makes which are built with the target environment.
+ # The double $ decreases the length of the command line; those variables
+ # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
+-# COMPILER_ prefixed variables are not passed down so we expand them here.
++# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
++# so we expand them here.
+ EXTRA_TARGET_FLAGS = \
+       'AR=$$(AR_FOR_TARGET)' \
+       'AS=$(COMPILER_AS_FOR_TARGET)' \
+       'CC=$$(CC_FOR_TARGET)' \
+-      'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
++      'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'CXX=$$(CXX_FOR_TARGET)' \
+-      'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
++      'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+       'LD=$(COMPILER_LD_FOR_TARGET)' \
+       'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+-      'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+-      'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
++      'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
++      'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'NM=$(COMPILER_NM_FOR_TARGET)' \
+       'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+       'RANLIB=$$(RANLIB_FOR_TARGET)' \
+@@ -851,9 +850,11 @@ configure-stage[+id+]-[+prefix+][+module
+       fi; \
+       [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
+       [+exports+][+ IF prev +] \
+-      [+poststage1_exports+][+ ENDIF prev +] \
++      [+poststage1_exports+][+ ENDIF prev +] [+ IF prefix +] \
++      CFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; [+ ELSE +] \
+       CFLAGS="[+stage_cflags+]"; export CFLAGS; \
+-      LIBCFLAGS="[+stage_cflags+]"; export LIBCFLAGS; \
++      CXXFLAGS="[+stage_cflags+]"; export CXXFLAGS; [+ ENDIF +] \
+       echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
+       $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
+       cd [+subdir+]/[+module+] || exit 1; \
+@@ -890,7 +891,8 @@ all-[+prefix+][+module+]: configure-[+pr
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       [+exports+] \
+       (cd [+subdir+]/[+module+] && \
+-        $(MAKE) [+args+] [+extra_make_flags+] $(TARGET-[+prefix+][+module+]))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \
++              $(TARGET-[+prefix+][+module+]))
+ @endif [+prefix+][+module+]
+ [+ IF bootstrap +]
+@@ -910,8 +912,11 @@ all-stage[+id+]-[+prefix+][+module+]: co
+       [+exports+][+ IF prev +] \
+       [+poststage1_exports+][+ ENDIF prev +] \
+       cd [+subdir+]/[+module+] && \
+-      $(MAKE) [+args+] \
+-              CFLAGS="[+stage_cflags+]" LIBCFLAGS="[+stage_cflags+]" [+
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="[+stage_cflags+]" CXXFLAGS="[+stage_cflags+]" \
++              LIBCFLAGS="[+stage_libcflags+]" \
++              CFLAGS_FOR_TARGET="[+stage_libcflags+]" \
++              CXXFLAGS_FOR_TARGET="[+stage_libcflags+]" [+args+] [+
+               IF prev +][+poststage1_args+][+ ENDIF prev
+               +] [+extra_make_flags+] \
+               $(TARGET-stage[+id+]-[+prefix+][+module+])
+@@ -961,7 +966,7 @@ clean-stage[+id+]-[+prefix+][+module+]:
+ [+ all prefix="" subdir="$(HOST_SUBDIR)"
+        exports="$(HOST_EXPORTS)"
+        poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
+-       args="$(FLAGS_TO_PASS)"
++       args="$(EXTRA_HOST_FLAGS)"
+        poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]
+ .PHONY: check-[+module+] maybe-check-[+module+]
+@@ -1059,7 +1064,7 @@ maybe-[+make_target+]-[+module+]: [+make
+ [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
+        exports="$(RAW_CXX_TARGET_EXPORTS)"
+-       args="$(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
++       args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
+ [+ ELSE +]
+ [+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
+            check_multilibs=true
+@@ -1070,7 +1075,7 @@ maybe-[+make_target+]-[+module+]: [+make
+ [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
+        exports="$(NORMAL_TARGET_EXPORTS)"
+-       args="$(TARGET_FLAGS_TO_PASS)" +]
++       args="$(EXTRA_TARGET_FLAGS)" +]
+ [+ ENDIF +]
+ .PHONY: check-target-[+module+] maybe-check-target-[+module+]
+Index: gcc-4.3.1/config/mh-ppc-darwin
+===================================================================
+--- gcc-4.3.1.orig/config/mh-ppc-darwin        2007-05-23 07:26:31.000000000 -0700
++++ gcc-4.3.1/config/mh-ppc-darwin     2008-07-21 10:56:15.000000000 -0700
+@@ -2,5 +2,4 @@
+ # position-independent-code -- the usual default on Darwin. This fix speeds
+ # compiles by 3-5%.
+-# Broken because of PR32009.
+-# BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
++BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
+Index: gcc-4.3.1/gcc/doc/install.texi
+===================================================================
+--- gcc-4.3.1.orig/gcc/doc/install.texi        2008-05-22 23:58:10.000000000 -0700
++++ gcc-4.3.1/gcc/doc/install.texi     2008-07-21 10:56:15.000000000 -0700
+@@ -1772,33 +1772,35 @@ same described above, but object files f
+ stage2 of the 3-stage bootstrap of the compiler are deleted as
+ soon as they are no longer needed.
+-If you want to save additional space during the bootstrap and in
+-the final installation as well, you can build the compiler binaries
+-without debugging information as in the following example.  This will save
+-roughly 40% of disk space both for the bootstrap and the final installation.
+-(Libraries will still contain debugging information.)
+-
+-@smallexample
+-     make CFLAGS='-O' LIBCFLAGS='-g -O2' \
+-       LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
+-@end smallexample
+-
+-If you wish to use non-default GCC flags when compiling the stage2 and
+-stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing
+-@samp{make}.  Non-default optimization flags are less well
+-tested here than the default of @samp{-g -O2}, but should still work.
+-In a few cases, you may find that you need to specify special flags such
+-as @option{-msoft-float} here to complete the bootstrap; or, if the
+-native compiler miscompiles the stage1 compiler, you may need to work
+-around this, by choosing @code{BOOT_CFLAGS} to avoid the parts of the
+-stage1 compiler that were miscompiled, or by using @samp{make
++If you wish to use non-default GCC flags when compiling the stage2
++and stage3 compilers, set @code{BOOT_CFLAGS} on the command line when
++doing @samp{make}.  For example, if you want to save additional space
++during the bootstrap and in the final installation as well, you can
++build the compiler binaries without debugging information as in the
++following example.  This will save roughly 40% of disk space both for
++the bootstrap and the final installation.  (Libraries will still contain
++debugging information.)
++
++@smallexample
++     make BOOT_CFLAGS='-O' bootstrap
++@end smallexample
++
++You can place non-default optimization flags into @code{BOOT_CFLAGS}; they
++are less well tested here than the default of @samp{-g -O2}, but should
++still work.  In a few cases, you may find that you need to specify special
++flags such as @option{-msoft-float} here to complete the bootstrap; or,
++if the native compiler miscompiles the stage1 compiler, you may need
++to work around this, by choosing @code{BOOT_CFLAGS} to avoid the parts
++of the stage1 compiler that were miscompiled, or by using @samp{make
+ bootstrap4} to increase the number of stages of bootstrap.
+-Note that using non-standard @code{CFLAGS} can cause bootstrap to fail
+-if these trigger a warning with the new compiler.  For example using
+-@samp{-O2 -g -mcpu=i686} on @code{i686-pc-linux-gnu} will cause bootstrap
+-failure as @option{-mcpu=} is deprecated in 3.4.0 and above.
+-
++@code{BOOT_CFLAGS} does not apply to bootstrapped target libraries.
++Since these are always compiled with the compiler currently being
++bootstrapped, you can use @code{CFLAGS_FOR_TARGET} to modify their
++compilation flags, as for non-bootstrapped target libraries.
++Again, if the native compiler miscompiles the stage1 compiler, you may
++need to work around this by avoiding non-working parts of the stage1
++compiler.  Use @code{STAGE1_LIBCFLAGS} to this end.
+ If you used the flag @option{--enable-languages=@dots{}} to restrict
+ the compilers to be built, only those you've actually enabled will be
+@@ -2689,8 +2691,8 @@ cross-compilers on the Alpha for 32-bit 
+ a few cases and may not work properly.
+ @samp{make compare} may fail on old versions of DEC Unix unless you add
+-@option{-save-temps} to @code{CFLAGS}.  On these systems, the name of the
+-assembler input file is stored in the object file, and that makes
++@option{-save-temps} to @code{BOOT_CFLAGS}.  On these systems, the name
++of the assembler input file is stored in the object file, and that makes
+ comparison fail if it differs between the @code{stage1} and
+ @code{stage2} compilations.  The option @option{-save-temps} forces a
+ fixed name to be used for the assembler input file, instead of a
+Index: gcc-4.3.1/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/Makefile.in 2008-07-21 10:56:14.000000000 -0700
++++ gcc-4.3.1/Makefile.in      2008-07-21 10:56:15.000000000 -0700
+@@ -204,11 +204,10 @@ BASE_TARGET_EXPORTS = \
+       AR="$(AR_FOR_TARGET)"; export AR; \
+       AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+       CC="$(CC_FOR_TARGET)"; export CC; \
+-      CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+-      CPP="$(CC_FOR_TARGET) -E"; export CPP; \
++      CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+       CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+-      CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
++      CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+       GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+       DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+@@ -328,14 +327,19 @@ PICFLAG = 
+ # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+ # overrideable (for a bootstrap build stage1 also builds gcc.info).
+-STAGE1_CFLAGS=@stage1_cflags@
+ STAGE1_CHECKING=@stage1_checking@
+ STAGE1_LANGUAGES=@stage1_languages@
++STAGE1_CFLAGS=@stage1_cflags@
+ STAGE2_CFLAGS=$(BOOT_CFLAGS)
+ STAGE3_CFLAGS=$(BOOT_CFLAGS)
+ STAGE4_CFLAGS=$(BOOT_CFLAGS)
++STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++
+ do-compare = @do_compare@
+ do-compare3 = $(do-compare)
+ do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
+@@ -374,18 +378,11 @@ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+-# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
+-# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
+-# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
+-# We want to ensure that TARGET libraries (which we know are built with
+-# gcc) are built with "-O2 -g", so prepend those options when setting
+-# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 -g $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+-      $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
++CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = -O2 -g $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+-      $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = @LDFLAGS@ 
+@@ -592,19 +589,20 @@ POSTSTAGE1_FLAGS_TO_PASS = \
+ # Flags to pass down to makes which are built with the target environment.
+ # The double $ decreases the length of the command line; those variables
+ # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
+-# COMPILER_ prefixed variables are not passed down so we expand them here.
++# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
++# so we expand them here.
+ EXTRA_TARGET_FLAGS = \
+       'AR=$$(AR_FOR_TARGET)' \
+       'AS=$(COMPILER_AS_FOR_TARGET)' \
+       'CC=$$(CC_FOR_TARGET)' \
+-      'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
++      'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'CXX=$$(CXX_FOR_TARGET)' \
+-      'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
++      'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+       'LD=$(COMPILER_LD_FOR_TARGET)' \
+       'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+-      'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+-      'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
++      'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
++      'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+       'NM=$(COMPILER_NM_FOR_TARGET)' \
+       'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+       'RANLIB=$$(RANLIB_FOR_TARGET)' \
+@@ -2738,7 +2736,8 @@ all-build-libiberty: configure-build-lib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/libiberty && \
+-        $(MAKE)   $(TARGET-build-libiberty))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-libiberty))
+ @endif build-libiberty
+@@ -2793,7 +2792,8 @@ all-build-bison: configure-build-bison
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/bison && \
+-        $(MAKE)   $(TARGET-build-bison))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-bison))
+ @endif build-bison
+@@ -2848,7 +2848,8 @@ all-build-byacc: configure-build-byacc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/byacc && \
+-        $(MAKE)   $(TARGET-build-byacc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-byacc))
+ @endif build-byacc
+@@ -2903,7 +2904,8 @@ all-build-flex: configure-build-flex
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/flex && \
+-        $(MAKE)   $(TARGET-build-flex))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-flex))
+ @endif build-flex
+@@ -2958,7 +2960,8 @@ all-build-m4: configure-build-m4
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/m4 && \
+-        $(MAKE)   $(TARGET-build-m4))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-m4))
+ @endif build-m4
+@@ -3013,7 +3016,8 @@ all-build-texinfo: configure-build-texin
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/texinfo && \
+-        $(MAKE)   $(TARGET-build-texinfo))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-texinfo))
+ @endif build-texinfo
+@@ -3068,7 +3072,8 @@ all-build-fixincludes: configure-build-f
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(BUILD_EXPORTS) \
+       (cd $(BUILD_SUBDIR)/fixincludes && \
+-        $(MAKE)   $(TARGET-build-fixincludes))
++        $(MAKE) $(BASE_FLAGS_TO_PASS)   \
++              $(TARGET-build-fixincludes))
+ @endif build-fixincludes
+@@ -3127,7 +3132,8 @@ all-ash: configure-ash
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/ash && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ash))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-ash))
+ @endif ash
+@@ -3551,7 +3557,8 @@ all-autoconf: configure-autoconf
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/autoconf && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-autoconf))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-autoconf))
+ @endif autoconf
+@@ -3975,7 +3982,8 @@ all-automake: configure-automake
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/automake && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-automake))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-automake))
+ @endif automake
+@@ -4399,7 +4407,8 @@ all-bash: configure-bash
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/bash && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bash))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-bash))
+ @endif bash
+@@ -4816,9 +4825,9 @@ configure-stage1-bfd:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4847,9 +4856,9 @@ configure-stage2-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4878,9 +4887,9 @@ configure-stageb2g0-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4909,9 +4918,9 @@ configure-stage3-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4940,9 +4949,9 @@ configure-stageb3g2-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4971,9 +4980,9 @@ configure-stage4-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5002,9 +5011,9 @@ configure-stageprofile-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5033,9 +5042,9 @@ configure-stagefeedback-bfd:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/bfd ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5070,7 +5079,8 @@ all-bfd: configure-bfd
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/bfd && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bfd))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-bfd))
+ @endif bfd
+@@ -5089,8 +5099,11 @@ all-stage1-bfd: configure-stage1-bfd
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-bfd)
+ maybe-clean-stage1-bfd: clean-stage1-bfd
+@@ -5103,7 +5116,7 @@ clean-stage1-bfd:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5123,8 +5136,11 @@ all-stage2-bfd: configure-stage2-bfd
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-bfd)
+ maybe-clean-stage2-bfd: clean-stage2-bfd
+@@ -5137,7 +5153,7 @@ clean-stage2-bfd:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5158,8 +5174,11 @@ all-stageb2g0-bfd: configure-stageb2g0-b
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-bfd)
+ maybe-clean-stageb2g0-bfd: clean-stageb2g0-bfd
+@@ -5172,7 +5191,7 @@ clean-stageb2g0-bfd:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5193,8 +5212,11 @@ all-stage3-bfd: configure-stage3-bfd
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-bfd)
+ maybe-clean-stage3-bfd: clean-stage3-bfd
+@@ -5207,7 +5229,7 @@ clean-stage3-bfd:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5228,8 +5250,11 @@ all-stageb3g2-bfd: configure-stageb3g2-b
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-bfd)
+ maybe-clean-stageb3g2-bfd: clean-stageb3g2-bfd
+@@ -5242,7 +5267,7 @@ clean-stageb3g2-bfd:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5263,8 +5288,11 @@ all-stage4-bfd: configure-stage4-bfd
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-bfd)
+ maybe-clean-stage4-bfd: clean-stage4-bfd
+@@ -5277,7 +5305,7 @@ clean-stage4-bfd:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5298,8 +5326,11 @@ all-stageprofile-bfd: configure-stagepro
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-bfd)
+ maybe-clean-stageprofile-bfd: clean-stageprofile-bfd
+@@ -5312,7 +5343,7 @@ clean-stageprofile-bfd:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5333,8 +5364,11 @@ all-stagefeedback-bfd: configure-stagefe
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-bfd)
+ maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd
+@@ -5347,7 +5381,7 @@ clean-stagefeedback-bfd:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/bfd && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif bfd-bootstrap
+@@ -5754,9 +5788,9 @@ configure-stage1-opcodes:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5785,9 +5819,9 @@ configure-stage2-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5816,9 +5850,9 @@ configure-stageb2g0-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5847,9 +5881,9 @@ configure-stage3-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5878,9 +5912,9 @@ configure-stageb3g2-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5909,9 +5943,9 @@ configure-stage4-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5940,9 +5974,9 @@ configure-stageprofile-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5971,9 +6005,9 @@ configure-stagefeedback-opcodes:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/opcodes ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -6008,7 +6042,8 @@ all-opcodes: configure-opcodes
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/opcodes && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-opcodes))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-opcodes))
+ @endif opcodes
+@@ -6027,8 +6062,11 @@ all-stage1-opcodes: configure-stage1-opc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-opcodes)
+ maybe-clean-stage1-opcodes: clean-stage1-opcodes
+@@ -6041,7 +6079,7 @@ clean-stage1-opcodes:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6061,8 +6099,11 @@ all-stage2-opcodes: configure-stage2-opc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-opcodes)
+ maybe-clean-stage2-opcodes: clean-stage2-opcodes
+@@ -6075,7 +6116,7 @@ clean-stage2-opcodes:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6096,8 +6137,11 @@ all-stageb2g0-opcodes: configure-stageb2
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-opcodes)
+ maybe-clean-stageb2g0-opcodes: clean-stageb2g0-opcodes
+@@ -6110,7 +6154,7 @@ clean-stageb2g0-opcodes:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6131,8 +6175,11 @@ all-stage3-opcodes: configure-stage3-opc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-opcodes)
+ maybe-clean-stage3-opcodes: clean-stage3-opcodes
+@@ -6145,7 +6192,7 @@ clean-stage3-opcodes:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6166,8 +6213,11 @@ all-stageb3g2-opcodes: configure-stageb3
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-opcodes)
+ maybe-clean-stageb3g2-opcodes: clean-stageb3g2-opcodes
+@@ -6180,7 +6230,7 @@ clean-stageb3g2-opcodes:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6201,8 +6251,11 @@ all-stage4-opcodes: configure-stage4-opc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-opcodes)
+ maybe-clean-stage4-opcodes: clean-stage4-opcodes
+@@ -6215,7 +6268,7 @@ clean-stage4-opcodes:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6236,8 +6289,11 @@ all-stageprofile-opcodes: configure-stag
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-opcodes)
+ maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes
+@@ -6250,7 +6306,7 @@ clean-stageprofile-opcodes:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6271,8 +6327,11 @@ all-stagefeedback-opcodes: configure-sta
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-opcodes)
+ maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes
+@@ -6285,7 +6344,7 @@ clean-stagefeedback-opcodes:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/opcodes && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif opcodes-bootstrap
+@@ -6692,9 +6751,9 @@ configure-stage1-binutils:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6723,9 +6782,9 @@ configure-stage2-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6754,9 +6813,9 @@ configure-stageb2g0-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6785,9 +6844,9 @@ configure-stage3-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6816,9 +6875,9 @@ configure-stageb3g2-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6847,9 +6906,9 @@ configure-stage4-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6878,9 +6937,9 @@ configure-stageprofile-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6909,9 +6968,9 @@ configure-stagefeedback-binutils:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/binutils ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6946,7 +7005,8 @@ all-binutils: configure-binutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/binutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-binutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-binutils))
+ @endif binutils
+@@ -6965,8 +7025,11 @@ all-stage1-binutils: configure-stage1-bi
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-binutils)
+ maybe-clean-stage1-binutils: clean-stage1-binutils
+@@ -6979,7 +7042,7 @@ clean-stage1-binutils:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -6999,8 +7062,11 @@ all-stage2-binutils: configure-stage2-bi
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-binutils)
+ maybe-clean-stage2-binutils: clean-stage2-binutils
+@@ -7013,7 +7079,7 @@ clean-stage2-binutils:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7034,8 +7100,11 @@ all-stageb2g0-binutils: configure-stageb
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-binutils)
+ maybe-clean-stageb2g0-binutils: clean-stageb2g0-binutils
+@@ -7048,7 +7117,7 @@ clean-stageb2g0-binutils:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7069,8 +7138,11 @@ all-stage3-binutils: configure-stage3-bi
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-binutils)
+ maybe-clean-stage3-binutils: clean-stage3-binutils
+@@ -7083,7 +7155,7 @@ clean-stage3-binutils:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7104,8 +7176,11 @@ all-stageb3g2-binutils: configure-stageb
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-binutils)
+ maybe-clean-stageb3g2-binutils: clean-stageb3g2-binutils
+@@ -7118,7 +7193,7 @@ clean-stageb3g2-binutils:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7139,8 +7214,11 @@ all-stage4-binutils: configure-stage4-bi
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-binutils)
+ maybe-clean-stage4-binutils: clean-stage4-binutils
+@@ -7153,7 +7231,7 @@ clean-stage4-binutils:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7174,8 +7252,11 @@ all-stageprofile-binutils: configure-sta
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-binutils)
+ maybe-clean-stageprofile-binutils: clean-stageprofile-binutils
+@@ -7188,7 +7269,7 @@ clean-stageprofile-binutils:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7209,8 +7290,11 @@ all-stagefeedback-binutils: configure-st
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-binutils)
+ maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils
+@@ -7223,7 +7307,7 @@ clean-stagefeedback-binutils:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/binutils && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif binutils-bootstrap
+@@ -7637,7 +7721,8 @@ all-bison: configure-bison
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/bison && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bison))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-bison))
+ @endif bison
+@@ -8064,7 +8149,8 @@ all-byacc: configure-byacc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/byacc && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-byacc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-byacc))
+ @endif byacc
+@@ -8491,7 +8577,8 @@ all-bzip2: configure-bzip2
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/bzip2 && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bzip2))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-bzip2))
+ @endif bzip2
+@@ -8915,7 +9002,8 @@ all-dejagnu: configure-dejagnu
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/dejagnu && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dejagnu))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-dejagnu))
+ @endif dejagnu
+@@ -9339,7 +9427,8 @@ all-diff: configure-diff
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/diff && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-diff))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-diff))
+ @endif diff
+@@ -9763,7 +9852,8 @@ all-dosutils: configure-dosutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/dosutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dosutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-dosutils))
+ @endif dosutils
+@@ -10181,7 +10271,8 @@ all-etc: configure-etc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/etc && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-etc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-etc))
+ @endif etc
+@@ -10605,7 +10696,8 @@ all-fastjar: configure-fastjar
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/fastjar && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fastjar))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-fastjar))
+ @endif fastjar
+@@ -11032,7 +11124,8 @@ all-fileutils: configure-fileutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/fileutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fileutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-fileutils))
+ @endif fileutils
+@@ -11456,7 +11549,8 @@ all-findutils: configure-findutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/findutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-findutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-findutils))
+ @endif findutils
+@@ -11880,7 +11974,8 @@ all-find: configure-find
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/find && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-find))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-find))
+ @endif find
+@@ -12304,7 +12399,8 @@ all-fixincludes: configure-fixincludes
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/fixincludes && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fixincludes))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-fixincludes))
+ @endif fixincludes
+@@ -12712,7 +12808,8 @@ all-flex: configure-flex
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/flex && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-flex))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-flex))
+ @endif flex
+@@ -13132,9 +13229,9 @@ configure-stage1-gas:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13163,9 +13260,9 @@ configure-stage2-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13194,9 +13291,9 @@ configure-stageb2g0-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13225,9 +13322,9 @@ configure-stage3-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13256,9 +13353,9 @@ configure-stageb3g2-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13287,9 +13384,9 @@ configure-stage4-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13318,9 +13415,9 @@ configure-stageprofile-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13349,9 +13446,9 @@ configure-stagefeedback-gas:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/gas ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13386,7 +13483,8 @@ all-gas: configure-gas
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gas && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gas))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gas))
+ @endif gas
+@@ -13405,8 +13503,11 @@ all-stage1-gas: configure-stage1-gas
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-gas)
+ maybe-clean-stage1-gas: clean-stage1-gas
+@@ -13419,7 +13520,7 @@ clean-stage1-gas:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13439,8 +13540,11 @@ all-stage2-gas: configure-stage2-gas
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-gas)
+ maybe-clean-stage2-gas: clean-stage2-gas
+@@ -13453,7 +13557,7 @@ clean-stage2-gas:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13474,8 +13578,11 @@ all-stageb2g0-gas: configure-stageb2g0-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-gas)
+ maybe-clean-stageb2g0-gas: clean-stageb2g0-gas
+@@ -13488,7 +13595,7 @@ clean-stageb2g0-gas:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13509,8 +13616,11 @@ all-stage3-gas: configure-stage3-gas
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-gas)
+ maybe-clean-stage3-gas: clean-stage3-gas
+@@ -13523,7 +13633,7 @@ clean-stage3-gas:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13544,8 +13654,11 @@ all-stageb3g2-gas: configure-stageb3g2-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-gas)
+ maybe-clean-stageb3g2-gas: clean-stageb3g2-gas
+@@ -13558,7 +13671,7 @@ clean-stageb3g2-gas:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13579,8 +13692,11 @@ all-stage4-gas: configure-stage4-gas
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-gas)
+ maybe-clean-stage4-gas: clean-stage4-gas
+@@ -13593,7 +13709,7 @@ clean-stage4-gas:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13614,8 +13730,11 @@ all-stageprofile-gas: configure-stagepro
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-gas)
+ maybe-clean-stageprofile-gas: clean-stageprofile-gas
+@@ -13628,7 +13747,7 @@ clean-stageprofile-gas:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -13649,8 +13768,11 @@ all-stagefeedback-gas: configure-stagefe
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-gas)
+ maybe-clean-stagefeedback-gas: clean-stagefeedback-gas
+@@ -13663,7 +13785,7 @@ clean-stagefeedback-gas:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gas && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gas-bootstrap
+@@ -14070,9 +14192,9 @@ configure-stage1-gcc:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14101,9 +14223,9 @@ configure-stage2-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14132,9 +14254,9 @@ configure-stageb2g0-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14163,9 +14285,9 @@ configure-stage3-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14194,9 +14316,9 @@ configure-stageb3g2-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14225,9 +14347,9 @@ configure-stage4-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14256,9 +14378,9 @@ configure-stageprofile-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14287,9 +14409,9 @@ configure-stagefeedback-gcc:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/gcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14324,7 +14446,8 @@ all-gcc: configure-gcc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gcc && \
+-        $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(TARGET-gcc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) \
++              $(TARGET-gcc))
+ @endif gcc
+@@ -14343,8 +14466,11 @@ all-stage1-gcc: configure-stage1-gcc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"  $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)  $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stage1-gcc)
+ maybe-clean-stage1-gcc: clean-stage1-gcc
+@@ -14357,7 +14483,7 @@ clean-stage1-gcc:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14377,8 +14503,11 @@ all-stage2-gcc: configure-stage2-gcc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stage2-gcc)
+ maybe-clean-stage2-gcc: clean-stage2-gcc
+@@ -14391,7 +14520,7 @@ clean-stage2-gcc:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14412,8 +14541,11 @@ all-stageb2g0-gcc: configure-stageb2g0-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stageb2g0-gcc)
+ maybe-clean-stageb2g0-gcc: clean-stageb2g0-gcc
+@@ -14426,7 +14558,7 @@ clean-stageb2g0-gcc:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14447,8 +14579,11 @@ all-stage3-gcc: configure-stage3-gcc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stage3-gcc)
+ maybe-clean-stage3-gcc: clean-stage3-gcc
+@@ -14461,7 +14596,7 @@ clean-stage3-gcc:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14482,8 +14617,11 @@ all-stageb3g2-gcc: configure-stageb3g2-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stageb3g2-gcc)
+ maybe-clean-stageb3g2-gcc: clean-stageb3g2-gcc
+@@ -14496,7 +14634,7 @@ clean-stageb3g2-gcc:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14517,8 +14655,11 @@ all-stage4-gcc: configure-stage4-gcc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stage4-gcc)
+ maybe-clean-stage4-gcc: clean-stage4-gcc
+@@ -14531,7 +14672,7 @@ clean-stage4-gcc:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14552,8 +14693,11 @@ all-stageprofile-gcc: configure-stagepro
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stageprofile-gcc)
+ maybe-clean-stageprofile-gcc: clean-stageprofile-gcc
+@@ -14566,7 +14710,7 @@ clean-stageprofile-gcc:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14587,8 +14731,11 @@ all-stagefeedback-gcc: configure-stagefe
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+               $(TARGET-stagefeedback-gcc)
+ maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc
+@@ -14601,7 +14748,7 @@ clean-stagefeedback-gcc:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gcc && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -15015,7 +15162,8 @@ all-gawk: configure-gawk
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gawk && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gawk))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gawk))
+ @endif gawk
+@@ -15439,7 +15587,8 @@ all-gettext: configure-gettext
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gettext && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gettext))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gettext))
+ @endif gettext
+@@ -15856,9 +16005,9 @@ configure-stage1-gmp:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15887,9 +16036,9 @@ configure-stage2-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15918,9 +16067,9 @@ configure-stageb2g0-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15949,9 +16098,9 @@ configure-stage3-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15980,9 +16129,9 @@ configure-stageb3g2-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16011,9 +16160,9 @@ configure-stage4-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16042,9 +16191,9 @@ configure-stageprofile-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16073,9 +16222,9 @@ configure-stagefeedback-gmp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/gmp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+       cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16110,7 +16259,8 @@ all-gmp: configure-gmp
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gmp && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gmp))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gmp))
+ @endif gmp
+@@ -16129,8 +16279,11 @@ all-stage1-gmp: configure-stage1-gmp
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-gmp)
+ maybe-clean-stage1-gmp: clean-stage1-gmp
+@@ -16143,7 +16296,7 @@ clean-stage1-gmp:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16163,8 +16316,11 @@ all-stage2-gmp: configure-stage2-gmp
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-gmp)
+ maybe-clean-stage2-gmp: clean-stage2-gmp
+@@ -16177,7 +16333,7 @@ clean-stage2-gmp:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16198,8 +16354,11 @@ all-stageb2g0-gmp: configure-stageb2g0-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-gmp)
+ maybe-clean-stageb2g0-gmp: clean-stageb2g0-gmp
+@@ -16212,7 +16371,7 @@ clean-stageb2g0-gmp:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16233,8 +16392,11 @@ all-stage3-gmp: configure-stage3-gmp
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-gmp)
+ maybe-clean-stage3-gmp: clean-stage3-gmp
+@@ -16247,7 +16409,7 @@ clean-stage3-gmp:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16268,8 +16430,11 @@ all-stageb3g2-gmp: configure-stageb3g2-g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-gmp)
+ maybe-clean-stageb3g2-gmp: clean-stageb3g2-gmp
+@@ -16282,7 +16447,7 @@ clean-stageb3g2-gmp:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16303,8 +16468,11 @@ all-stage4-gmp: configure-stage4-gmp
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-gmp)
+ maybe-clean-stage4-gmp: clean-stage4-gmp
+@@ -16317,7 +16485,7 @@ clean-stage4-gmp:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16338,8 +16506,11 @@ all-stageprofile-gmp: configure-stagepro
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-gmp)
+ maybe-clean-stageprofile-gmp: clean-stageprofile-gmp
+@@ -16352,7 +16523,7 @@ clean-stageprofile-gmp:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16373,8 +16544,11 @@ all-stagefeedback-gmp: configure-stagefe
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-gmp)
+ maybe-clean-stagefeedback-gmp: clean-stagefeedback-gmp
+@@ -16387,7 +16561,7 @@ clean-stagefeedback-gmp:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/gmp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif gmp-bootstrap
+@@ -16788,9 +16962,9 @@ configure-stage1-mpfr:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16819,9 +16993,9 @@ configure-stage2-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16850,9 +17024,9 @@ configure-stageb2g0-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16881,9 +17055,9 @@ configure-stage3-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16912,9 +17086,9 @@ configure-stageb3g2-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16943,9 +17117,9 @@ configure-stage4-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16974,9 +17148,9 @@ configure-stageprofile-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -17005,9 +17179,9 @@ configure-stagefeedback-mpfr:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/mpfr ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+       cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -17042,7 +17216,8 @@ all-mpfr: configure-mpfr
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/mpfr && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-mpfr))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-mpfr))
+ @endif mpfr
+@@ -17061,8 +17236,11 @@ all-stage1-mpfr: configure-stage1-mpfr
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-mpfr)
+ maybe-clean-stage1-mpfr: clean-stage1-mpfr
+@@ -17075,7 +17253,7 @@ clean-stage1-mpfr:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17095,8 +17273,11 @@ all-stage2-mpfr: configure-stage2-mpfr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-mpfr)
+ maybe-clean-stage2-mpfr: clean-stage2-mpfr
+@@ -17109,7 +17290,7 @@ clean-stage2-mpfr:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17130,8 +17311,11 @@ all-stageb2g0-mpfr: configure-stageb2g0-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-mpfr)
+ maybe-clean-stageb2g0-mpfr: clean-stageb2g0-mpfr
+@@ -17144,7 +17328,7 @@ clean-stageb2g0-mpfr:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17165,8 +17349,11 @@ all-stage3-mpfr: configure-stage3-mpfr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-mpfr)
+ maybe-clean-stage3-mpfr: clean-stage3-mpfr
+@@ -17179,7 +17366,7 @@ clean-stage3-mpfr:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17200,8 +17387,11 @@ all-stageb3g2-mpfr: configure-stageb3g2-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-mpfr)
+ maybe-clean-stageb3g2-mpfr: clean-stageb3g2-mpfr
+@@ -17214,7 +17404,7 @@ clean-stageb3g2-mpfr:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17235,8 +17425,11 @@ all-stage4-mpfr: configure-stage4-mpfr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-mpfr)
+ maybe-clean-stage4-mpfr: clean-stage4-mpfr
+@@ -17249,7 +17442,7 @@ clean-stage4-mpfr:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17270,8 +17463,11 @@ all-stageprofile-mpfr: configure-stagepr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-mpfr)
+ maybe-clean-stageprofile-mpfr: clean-stageprofile-mpfr
+@@ -17284,7 +17480,7 @@ clean-stageprofile-mpfr:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17305,8 +17501,11 @@ all-stagefeedback-mpfr: configure-stagef
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-mpfr)
+ maybe-clean-stagefeedback-mpfr: clean-stagefeedback-mpfr
+@@ -17319,7 +17518,7 @@ clean-stagefeedback-mpfr:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/mpfr && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif mpfr-bootstrap
+@@ -17727,7 +17926,8 @@ all-gnuserv: configure-gnuserv
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gnuserv && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnuserv))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gnuserv))
+ @endif gnuserv
+@@ -18151,7 +18351,8 @@ all-gprof: configure-gprof
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gprof && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gprof))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gprof))
+ @endif gprof
+@@ -18575,7 +18776,8 @@ all-gzip: configure-gzip
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gzip && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gzip))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gzip))
+ @endif gzip
+@@ -18999,7 +19201,8 @@ all-hello: configure-hello
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/hello && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-hello))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-hello))
+ @endif hello
+@@ -19423,7 +19626,8 @@ all-indent: configure-indent
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/indent && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-indent))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-indent))
+ @endif indent
+@@ -19840,9 +20044,9 @@ configure-stage1-intl:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19871,9 +20075,9 @@ configure-stage2-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19902,9 +20106,9 @@ configure-stageb2g0-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19933,9 +20137,9 @@ configure-stage3-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19964,9 +20168,9 @@ configure-stageb3g2-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19995,9 +20199,9 @@ configure-stage4-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20026,9 +20230,9 @@ configure-stageprofile-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20057,9 +20261,9 @@ configure-stagefeedback-intl:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/intl ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20094,7 +20298,8 @@ all-intl: configure-intl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/intl && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-intl))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-intl))
+ @endif intl
+@@ -20113,8 +20318,11 @@ all-stage1-intl: configure-stage1-intl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-intl)
+ maybe-clean-stage1-intl: clean-stage1-intl
+@@ -20127,7 +20335,7 @@ clean-stage1-intl:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20147,8 +20355,11 @@ all-stage2-intl: configure-stage2-intl
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-intl)
+ maybe-clean-stage2-intl: clean-stage2-intl
+@@ -20161,7 +20372,7 @@ clean-stage2-intl:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20182,8 +20393,11 @@ all-stageb2g0-intl: configure-stageb2g0-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-intl)
+ maybe-clean-stageb2g0-intl: clean-stageb2g0-intl
+@@ -20196,7 +20410,7 @@ clean-stageb2g0-intl:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20217,8 +20431,11 @@ all-stage3-intl: configure-stage3-intl
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-intl)
+ maybe-clean-stage3-intl: clean-stage3-intl
+@@ -20231,7 +20448,7 @@ clean-stage3-intl:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20252,8 +20469,11 @@ all-stageb3g2-intl: configure-stageb3g2-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-intl)
+ maybe-clean-stageb3g2-intl: clean-stageb3g2-intl
+@@ -20266,7 +20486,7 @@ clean-stageb3g2-intl:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20287,8 +20507,11 @@ all-stage4-intl: configure-stage4-intl
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-intl)
+ maybe-clean-stage4-intl: clean-stage4-intl
+@@ -20301,7 +20524,7 @@ clean-stage4-intl:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20322,8 +20545,11 @@ all-stageprofile-intl: configure-stagepr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-intl)
+ maybe-clean-stageprofile-intl: clean-stageprofile-intl
+@@ -20336,7 +20562,7 @@ clean-stageprofile-intl:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20357,8 +20583,11 @@ all-stagefeedback-intl: configure-stagef
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-intl)
+ maybe-clean-stagefeedback-intl: clean-stagefeedback-intl
+@@ -20371,7 +20600,7 @@ clean-stagefeedback-intl:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/intl && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif intl-bootstrap
+@@ -20785,7 +21014,8 @@ all-tcl: configure-tcl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/tcl && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tcl))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-tcl))
+ @endif tcl
+@@ -21194,7 +21424,8 @@ all-itcl: configure-itcl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/itcl && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-itcl))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-itcl))
+ @endif itcl
+@@ -21611,9 +21842,9 @@ configure-stage1-ld:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21642,9 +21873,9 @@ configure-stage2-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21673,9 +21904,9 @@ configure-stageb2g0-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21704,9 +21935,9 @@ configure-stage3-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21735,9 +21966,9 @@ configure-stageb3g2-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21766,9 +21997,9 @@ configure-stage4-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21797,9 +22028,9 @@ configure-stageprofile-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21828,9 +22059,9 @@ configure-stagefeedback-ld:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/ld ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21865,7 +22096,8 @@ all-ld: configure-ld
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/ld && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ld))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-ld))
+ @endif ld
+@@ -21884,8 +22116,11 @@ all-stage1-ld: configure-stage1-ld
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-ld)
+ maybe-clean-stage1-ld: clean-stage1-ld
+@@ -21898,7 +22133,7 @@ clean-stage1-ld:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif ld-bootstrap
+@@ -21918,8 +22153,11 @@ all-stage2-ld: configure-stage2-ld
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-ld)
+ maybe-clean-stage2-ld: clean-stage2-ld
+@@ -21932,7 +22170,7 @@ clean-stage2-ld:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -21953,8 +22191,11 @@ all-stageb2g0-ld: configure-stageb2g0-ld
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-ld)
+ maybe-clean-stageb2g0-ld: clean-stageb2g0-ld
+@@ -21967,7 +22208,7 @@ clean-stageb2g0-ld:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -21988,8 +22229,11 @@ all-stage3-ld: configure-stage3-ld
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-ld)
+ maybe-clean-stage3-ld: clean-stage3-ld
+@@ -22002,7 +22246,7 @@ clean-stage3-ld:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -22023,8 +22267,11 @@ all-stageb3g2-ld: configure-stageb3g2-ld
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-ld)
+ maybe-clean-stageb3g2-ld: clean-stageb3g2-ld
+@@ -22037,7 +22284,7 @@ clean-stageb3g2-ld:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -22058,8 +22305,11 @@ all-stage4-ld: configure-stage4-ld
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-ld)
+ maybe-clean-stage4-ld: clean-stage4-ld
+@@ -22072,7 +22322,7 @@ clean-stage4-ld:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -22093,8 +22343,11 @@ all-stageprofile-ld: configure-stageprof
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-ld)
+ maybe-clean-stageprofile-ld: clean-stageprofile-ld
+@@ -22107,7 +22360,7 @@ clean-stageprofile-ld:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -22128,8 +22381,11 @@ all-stagefeedback-ld: configure-stagefee
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-ld)
+ maybe-clean-stagefeedback-ld: clean-stagefeedback-ld
+@@ -22142,7 +22398,7 @@ clean-stagefeedback-ld:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/ld && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif ld-bootstrap
+@@ -22549,9 +22805,9 @@ configure-stage1-libcpp:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22580,9 +22836,9 @@ configure-stage2-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22611,9 +22867,9 @@ configure-stageb2g0-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22642,9 +22898,9 @@ configure-stage3-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22673,9 +22929,9 @@ configure-stageb3g2-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22704,9 +22960,9 @@ configure-stage4-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22735,9 +22991,9 @@ configure-stageprofile-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22766,9 +23022,9 @@ configure-stagefeedback-libcpp:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/libcpp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22803,7 +23059,8 @@ all-libcpp: configure-libcpp
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libcpp && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libcpp))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libcpp))
+ @endif libcpp
+@@ -22822,8 +23079,11 @@ all-stage1-libcpp: configure-stage1-libc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-libcpp)
+ maybe-clean-stage1-libcpp: clean-stage1-libcpp
+@@ -22836,7 +23096,7 @@ clean-stage1-libcpp:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -22856,8 +23116,11 @@ all-stage2-libcpp: configure-stage2-libc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-libcpp)
+ maybe-clean-stage2-libcpp: clean-stage2-libcpp
+@@ -22870,7 +23133,7 @@ clean-stage2-libcpp:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -22891,8 +23154,11 @@ all-stageb2g0-libcpp: configure-stageb2g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-libcpp)
+ maybe-clean-stageb2g0-libcpp: clean-stageb2g0-libcpp
+@@ -22905,7 +23171,7 @@ clean-stageb2g0-libcpp:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -22926,8 +23192,11 @@ all-stage3-libcpp: configure-stage3-libc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-libcpp)
+ maybe-clean-stage3-libcpp: clean-stage3-libcpp
+@@ -22940,7 +23209,7 @@ clean-stage3-libcpp:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -22961,8 +23230,11 @@ all-stageb3g2-libcpp: configure-stageb3g
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-libcpp)
+ maybe-clean-stageb3g2-libcpp: clean-stageb3g2-libcpp
+@@ -22975,7 +23247,7 @@ clean-stageb3g2-libcpp:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -22996,8 +23268,11 @@ all-stage4-libcpp: configure-stage4-libc
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-libcpp)
+ maybe-clean-stage4-libcpp: clean-stage4-libcpp
+@@ -23010,7 +23285,7 @@ clean-stage4-libcpp:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -23031,8 +23306,11 @@ all-stageprofile-libcpp: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-libcpp)
+ maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp
+@@ -23045,7 +23323,7 @@ clean-stageprofile-libcpp:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -23066,8 +23344,11 @@ all-stagefeedback-libcpp: configure-stag
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-libcpp)
+ maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp
+@@ -23080,7 +23361,7 @@ clean-stagefeedback-libcpp:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libcpp && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libcpp-bootstrap
+@@ -23487,9 +23768,9 @@ configure-stage1-libdecnumber:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23518,9 +23799,9 @@ configure-stage2-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23549,9 +23830,9 @@ configure-stageb2g0-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23580,9 +23861,9 @@ configure-stage3-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23611,9 +23892,9 @@ configure-stageb3g2-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23642,9 +23923,9 @@ configure-stage4-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23673,9 +23954,9 @@ configure-stageprofile-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23704,9 +23985,9 @@ configure-stagefeedback-libdecnumber:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/libdecnumber ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+       cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23741,7 +24022,8 @@ all-libdecnumber: configure-libdecnumber
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libdecnumber && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libdecnumber))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libdecnumber))
+ @endif libdecnumber
+@@ -23760,8 +24042,11 @@ all-stage1-libdecnumber: configure-stage
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-libdecnumber)
+ maybe-clean-stage1-libdecnumber: clean-stage1-libdecnumber
+@@ -23774,7 +24059,7 @@ clean-stage1-libdecnumber:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23794,8 +24079,11 @@ all-stage2-libdecnumber: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-libdecnumber)
+ maybe-clean-stage2-libdecnumber: clean-stage2-libdecnumber
+@@ -23808,7 +24096,7 @@ clean-stage2-libdecnumber:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23829,8 +24117,11 @@ all-stageb2g0-libdecnumber: configure-st
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-libdecnumber)
+ maybe-clean-stageb2g0-libdecnumber: clean-stageb2g0-libdecnumber
+@@ -23843,7 +24134,7 @@ clean-stageb2g0-libdecnumber:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23864,8 +24155,11 @@ all-stage3-libdecnumber: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-libdecnumber)
+ maybe-clean-stage3-libdecnumber: clean-stage3-libdecnumber
+@@ -23878,7 +24172,7 @@ clean-stage3-libdecnumber:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23899,8 +24193,11 @@ all-stageb3g2-libdecnumber: configure-st
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-libdecnumber)
+ maybe-clean-stageb3g2-libdecnumber: clean-stageb3g2-libdecnumber
+@@ -23913,7 +24210,7 @@ clean-stageb3g2-libdecnumber:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23934,8 +24231,11 @@ all-stage4-libdecnumber: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-libdecnumber)
+ maybe-clean-stage4-libdecnumber: clean-stage4-libdecnumber
+@@ -23948,7 +24248,7 @@ clean-stage4-libdecnumber:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -23969,8 +24269,11 @@ all-stageprofile-libdecnumber: configure
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-libdecnumber)
+ maybe-clean-stageprofile-libdecnumber: clean-stageprofile-libdecnumber
+@@ -23983,7 +24286,7 @@ clean-stageprofile-libdecnumber:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -24004,8 +24307,11 @@ all-stagefeedback-libdecnumber: configur
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-libdecnumber)
+ maybe-clean-stagefeedback-libdecnumber: clean-stagefeedback-libdecnumber
+@@ -24018,7 +24324,7 @@ clean-stagefeedback-libdecnumber:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libdecnumber && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libdecnumber-bootstrap
+@@ -24432,7 +24738,8 @@ all-libgui: configure-libgui
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libgui && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libgui))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libgui))
+ @endif libgui
+@@ -24849,9 +25156,9 @@ configure-stage1-libiberty:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24880,9 +25187,9 @@ configure-stage2-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24911,9 +25218,9 @@ configure-stageb2g0-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24942,9 +25249,9 @@ configure-stage3-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24973,9 +25280,9 @@ configure-stageb3g2-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25004,9 +25311,9 @@ configure-stage4-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25035,9 +25342,9 @@ configure-stageprofile-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25066,9 +25373,9 @@ configure-stagefeedback-libiberty:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/libiberty ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25103,7 +25410,8 @@ all-libiberty: configure-libiberty
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libiberty && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libiberty))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libiberty))
+ @endif libiberty
+@@ -25122,8 +25430,11 @@ all-stage1-libiberty: configure-stage1-l
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-libiberty)
+ maybe-clean-stage1-libiberty: clean-stage1-libiberty
+@@ -25136,7 +25447,7 @@ clean-stage1-libiberty:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25156,8 +25467,11 @@ all-stage2-libiberty: configure-stage2-l
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-libiberty)
+ maybe-clean-stage2-libiberty: clean-stage2-libiberty
+@@ -25170,7 +25484,7 @@ clean-stage2-libiberty:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25191,8 +25505,11 @@ all-stageb2g0-libiberty: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-libiberty)
+ maybe-clean-stageb2g0-libiberty: clean-stageb2g0-libiberty
+@@ -25205,7 +25522,7 @@ clean-stageb2g0-libiberty:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25226,8 +25543,11 @@ all-stage3-libiberty: configure-stage3-l
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-libiberty)
+ maybe-clean-stage3-libiberty: clean-stage3-libiberty
+@@ -25240,7 +25560,7 @@ clean-stage3-libiberty:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25261,8 +25581,11 @@ all-stageb3g2-libiberty: configure-stage
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-libiberty)
+ maybe-clean-stageb3g2-libiberty: clean-stageb3g2-libiberty
+@@ -25275,7 +25598,7 @@ clean-stageb3g2-libiberty:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25296,8 +25619,11 @@ all-stage4-libiberty: configure-stage4-l
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-libiberty)
+ maybe-clean-stage4-libiberty: clean-stage4-libiberty
+@@ -25310,7 +25636,7 @@ clean-stage4-libiberty:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25331,8 +25657,11 @@ all-stageprofile-libiberty: configure-st
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-libiberty)
+ maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty
+@@ -25345,7 +25674,7 @@ clean-stageprofile-libiberty:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25366,8 +25695,11 @@ all-stagefeedback-libiberty: configure-s
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-libiberty)
+ maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty
+@@ -25380,7 +25712,7 @@ clean-stagefeedback-libiberty:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/libiberty && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif libiberty-bootstrap
+@@ -25794,7 +26126,8 @@ all-libtool: configure-libtool
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libtool && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtool))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libtool))
+ @endif libtool
+@@ -26218,7 +26551,8 @@ all-m4: configure-m4
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/m4 && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-m4))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-m4))
+ @endif m4
+@@ -26642,7 +26976,8 @@ all-make: configure-make
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/make && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-make))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-make))
+ @endif make
+@@ -27066,7 +27401,8 @@ all-mmalloc: configure-mmalloc
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/mmalloc && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-mmalloc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-mmalloc))
+ @endif mmalloc
+@@ -27484,7 +27820,8 @@ all-patch: configure-patch
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/patch && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-patch))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-patch))
+ @endif patch
+@@ -27908,7 +28245,8 @@ all-perl: configure-perl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/perl && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-perl))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-perl))
+ @endif perl
+@@ -28332,7 +28670,8 @@ all-prms: configure-prms
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/prms && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-prms))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-prms))
+ @endif prms
+@@ -28756,7 +29095,8 @@ all-rcs: configure-rcs
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/rcs && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-rcs))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-rcs))
+ @endif rcs
+@@ -29180,7 +29520,8 @@ all-readline: configure-readline
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/readline && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-readline))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-readline))
+ @endif readline
+@@ -29604,7 +29945,8 @@ all-release: configure-release
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/release && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-release))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-release))
+ @endif release
+@@ -30016,7 +30358,8 @@ all-recode: configure-recode
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/recode && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-recode))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-recode))
+ @endif recode
+@@ -30440,7 +30783,8 @@ all-sed: configure-sed
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/sed && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sed))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-sed))
+ @endif sed
+@@ -30864,7 +31208,8 @@ all-send-pr: configure-send-pr
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/send-pr && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-send-pr))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-send-pr))
+ @endif send-pr
+@@ -31288,7 +31633,8 @@ all-shellutils: configure-shellutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/shellutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-shellutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-shellutils))
+ @endif shellutils
+@@ -31712,7 +32058,8 @@ all-sid: configure-sid
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/sid && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sid))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-sid))
+ @endif sid
+@@ -32136,7 +32483,8 @@ all-sim: configure-sim
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/sim && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sim))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-sim))
+ @endif sim
+@@ -32560,7 +32908,8 @@ all-tar: configure-tar
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/tar && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tar))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-tar))
+ @endif tar
+@@ -32984,7 +33333,8 @@ all-texinfo: configure-texinfo
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/texinfo && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-texinfo))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-texinfo))
+ @endif texinfo
+@@ -33402,7 +33752,8 @@ all-textutils: configure-textutils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/textutils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-textutils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-textutils))
+ @endif textutils
+@@ -33826,7 +34177,8 @@ all-time: configure-time
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/time && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-time))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-time))
+ @endif time
+@@ -34250,7 +34602,8 @@ all-uudecode: configure-uudecode
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/uudecode && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-uudecode))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-uudecode))
+ @endif uudecode
+@@ -34674,7 +35027,8 @@ all-wdiff: configure-wdiff
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/wdiff && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-wdiff))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-wdiff))
+ @endif wdiff
+@@ -35098,7 +35452,8 @@ all-zip: configure-zip
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/zip && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zip))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-zip))
+ @endif zip
+@@ -35518,9 +35873,9 @@ configure-stage1-zlib:
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+-      $(HOST_EXPORTS) \
++      $(HOST_EXPORTS)  \
+       CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35549,9 +35904,9 @@ configure-stage2-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35580,9 +35935,9 @@ configure-stageb2g0-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35611,9 +35966,9 @@ configure-stage3-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35642,9 +35997,9 @@ configure-stageb3g2-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35673,9 +36028,9 @@ configure-stage4-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35704,9 +36059,9 @@ configure-stageprofile-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35735,9 +36090,9 @@ configure-stagefeedback-zlib:
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(HOST_EXPORTS) \
+-      $(POSTSTAGE1_HOST_EXPORTS) \
++      $(POSTSTAGE1_HOST_EXPORTS)  \
+       CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++      CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(HOST_SUBDIR)/zlib ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35772,7 +36127,8 @@ all-zlib: configure-zlib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/zlib && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zlib))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-zlib))
+ @endif zlib
+@@ -35791,8 +36147,11 @@ all-stage1-zlib: configure-stage1-zlib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS)   \
+               $(TARGET-stage1-zlib)
+ maybe-clean-stage1-zlib: clean-stage1-zlib
+@@ -35805,7 +36164,7 @@ clean-stage1-zlib:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -35825,8 +36184,11 @@ all-stage2-zlib: configure-stage2-zlib
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage2-zlib)
+ maybe-clean-stage2-zlib: clean-stage2-zlib
+@@ -35839,7 +36201,7 @@ clean-stage2-zlib:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -35860,8 +36222,11 @@ all-stageb2g0-zlib: configure-stageb2g0-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb2g0-zlib)
+ maybe-clean-stageb2g0-zlib: clean-stageb2g0-zlib
+@@ -35874,7 +36239,7 @@ clean-stageb2g0-zlib:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -35895,8 +36260,11 @@ all-stage3-zlib: configure-stage3-zlib
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage3-zlib)
+ maybe-clean-stage3-zlib: clean-stage3-zlib
+@@ -35909,7 +36277,7 @@ clean-stage3-zlib:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -35930,8 +36298,11 @@ all-stageb3g2-zlib: configure-stageb3g2-
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageb3g2-zlib)
+ maybe-clean-stageb3g2-zlib: clean-stageb3g2-zlib
+@@ -35944,7 +36315,7 @@ clean-stageb3g2-zlib:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -35965,8 +36336,11 @@ all-stage4-zlib: configure-stage4-zlib
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stage4-zlib)
+ maybe-clean-stage4-zlib: clean-stage4-zlib
+@@ -35979,7 +36353,7 @@ clean-stage4-zlib:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -36000,8 +36374,11 @@ all-stageprofile-zlib: configure-stagepr
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stageprofile-zlib)
+ maybe-clean-stageprofile-zlib: clean-stageprofile-zlib
+@@ -36014,7 +36391,7 @@ clean-stageprofile-zlib:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -36035,8 +36412,11 @@ all-stagefeedback-zlib: configure-stagef
+       $(HOST_EXPORTS) \
+       $(POSTSTAGE1_HOST_EXPORTS) \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS)  \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS)  \
+               $(TARGET-stagefeedback-zlib)
+ maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib
+@@ -36049,7 +36429,7 @@ clean-stagefeedback-zlib:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(HOST_SUBDIR)/zlib && \
+-      $(MAKE) $(FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_HOST_FLAGS)  \
+               $(POSTSTAGE1_FLAGS_TO_PASS)  \
+                clean
+ @endif zlib-bootstrap
+@@ -36451,7 +36831,8 @@ all-gdb: configure-gdb
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gdb && \
+-        $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-gdb))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++              $(TARGET-gdb))
+ @endif gdb
+@@ -36875,7 +37256,8 @@ all-expect: configure-expect
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/expect && \
+-        $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-expect))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++              $(TARGET-expect))
+ @endif expect
+@@ -37299,7 +37681,8 @@ all-guile: configure-guile
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/guile && \
+-        $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-guile))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++              $(TARGET-guile))
+ @endif guile
+@@ -37723,7 +38106,8 @@ all-tk: configure-tk
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/tk && \
+-        $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-tk))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++              $(TARGET-tk))
+ @endif tk
+@@ -38147,7 +38531,8 @@ all-libtermcap: configure-libtermcap
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/libtermcap && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtermcap))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-libtermcap))
+ @endif libtermcap
+@@ -38505,7 +38890,8 @@ all-utils: configure-utils
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/utils && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-utils))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-utils))
+ @endif utils
+@@ -38923,7 +39309,8 @@ all-gnattools: configure-gnattools
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd $(HOST_SUBDIR)/gnattools && \
+-        $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnattools))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)  \
++              $(TARGET-gnattools))
+ @endif gnattools
+@@ -39368,7 +39755,8 @@ all-target-libstdc++-v3: configure-targe
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(RAW_CXX_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  $(TARGET-target-libstdc++-v3))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
++              $(TARGET-target-libstdc++-v3))
+ @endif target-libstdc++-v3
+@@ -39809,7 +40197,8 @@ all-target-libmudflap: configure-target-
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libmudflap && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libmudflap))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libmudflap))
+ @endif target-libmudflap
+@@ -40250,7 +40639,8 @@ all-target-libssp: configure-target-libs
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libssp && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libssp))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libssp))
+ @endif target-libssp
+@@ -40691,7 +41081,8 @@ all-target-newlib: configure-target-newl
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/newlib && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-newlib))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-newlib))
+ @endif target-newlib
+@@ -41137,9 +41528,9 @@ configure-stage1-target-libgcc:
+         mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+-      $(NORMAL_TARGET_EXPORTS) \
+-      CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++      $(NORMAL_TARGET_EXPORTS)  \
++      CFLAGS="$(STAGE1_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE1_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage 1 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41180,9 +41571,9 @@ configure-stage2-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE2_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE2_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage 2 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41223,9 +41614,9 @@ configure-stageb2g0-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE2_LIBCFLAGS) -g0 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE2_LIBCFLAGS) -g0 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage b2g0 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41266,9 +41657,9 @@ configure-stage3-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE3_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE3_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage 3 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41309,9 +41700,9 @@ configure-stageb3g2-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE3_LIBCFLAGS) -g2 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE3_LIBCFLAGS) -g2 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage b3g2 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41352,9 +41743,9 @@ configure-stage4-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE4_CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE4_CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage 4 in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41395,9 +41786,9 @@ configure-stageprofile-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage profile in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41438,9 +41829,9 @@ configure-stagefeedback-target-libgcc:
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+-       \
+-      CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+-      LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++        \
++      CFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++      CXXFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS;  \
+       echo Configuring stage feedback in $(TARGET_SUBDIR)/libgcc ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+       cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41475,7 +41866,8 @@ all-target-libgcc: configure-target-libg
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgcc && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgcc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libgcc))
+ @endif target-libgcc
+@@ -41494,8 +41886,11 @@ all-stage1-target-libgcc: configure-stag
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++              LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stage1-target-libgcc)
+ maybe-clean-stage1-target-libgcc: clean-stage1-target-libgcc
+@@ -41508,7 +41903,7 @@ clean-stage1-target-libgcc:
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41528,8 +41923,11 @@ all-stage2-target-libgcc: configure-stag
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stage2-target-libgcc)
+ maybe-clean-stage2-target-libgcc: clean-stage2-target-libgcc
+@@ -41542,7 +41940,7 @@ clean-stage2-target-libgcc:
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41563,8 +41961,11 @@ all-stageb2g0-target-libgcc: configure-s
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stageb2g0-target-libgcc)
+ maybe-clean-stageb2g0-target-libgcc: clean-stageb2g0-target-libgcc
+@@ -41577,7 +41978,7 @@ clean-stageb2g0-target-libgcc:
+         $(MAKE) stageb2g0-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41598,8 +41999,11 @@ all-stage3-target-libgcc: configure-stag
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stage3-target-libgcc)
+ maybe-clean-stage3-target-libgcc: clean-stage3-target-libgcc
+@@ -41612,7 +42016,7 @@ clean-stage3-target-libgcc:
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41633,8 +42037,11 @@ all-stageb3g2-target-libgcc: configure-s
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stageb3g2-target-libgcc)
+ maybe-clean-stageb3g2-target-libgcc: clean-stageb3g2-target-libgcc
+@@ -41647,7 +42054,7 @@ clean-stageb3g2-target-libgcc:
+         $(MAKE) stageb3g2-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41668,8 +42075,11 @@ all-stage4-target-libgcc: configure-stag
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++              LIBCFLAGS="$(STAGE4_CFLAGS)" \
++              CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++              CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stage4-target-libgcc)
+ maybe-clean-stage4-target-libgcc: clean-stage4-target-libgcc
+@@ -41682,7 +42092,7 @@ clean-stage4-target-libgcc:
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41703,8 +42113,11 @@ all-stageprofile-target-libgcc: configur
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++              LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++              CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stageprofile-target-libgcc)
+ maybe-clean-stageprofile-target-libgcc: clean-stageprofile-target-libgcc
+@@ -41717,7 +42130,7 @@ clean-stageprofile-target-libgcc:
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -41738,8 +42151,11 @@ all-stagefeedback-target-libgcc: configu
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+-              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"   \
++      $(MAKE) $(BASE_FLAGS_TO_PASS) \
++              CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++              LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++              CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_TARGET_FLAGS)   \
+               $(TARGET-stagefeedback-target-libgcc)
+ maybe-clean-stagefeedback-target-libgcc: clean-stagefeedback-target-libgcc
+@@ -41752,7 +42168,7 @@ clean-stagefeedback-target-libgcc:
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgcc && \
+-      $(MAKE) $(TARGET_FLAGS_TO_PASS)  \
++      $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+ @endif target-libgcc-bootstrap
+@@ -42191,7 +42607,8 @@ all-target-libgfortran: configure-target
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgfortran && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgfortran))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libgfortran))
+ @endif target-libgfortran
+@@ -42632,7 +43049,8 @@ all-target-libobjc: configure-target-lib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libobjc && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libobjc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libobjc))
+ @endif target-libobjc
+@@ -43073,7 +43491,8 @@ all-target-libtermcap: configure-target-
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libtermcap && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libtermcap))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libtermcap))
+ @endif target-libtermcap
+@@ -43449,7 +43868,8 @@ all-target-winsup: configure-target-wins
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/winsup && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-winsup))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-winsup))
+ @endif target-winsup
+@@ -43890,7 +44310,8 @@ all-target-libgloss: configure-target-li
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgloss && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgloss))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libgloss))
+ @endif target-libgloss
+@@ -44326,7 +44747,8 @@ all-target-libiberty: configure-target-l
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libiberty && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libiberty))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libiberty))
+ @endif target-libiberty
+@@ -44767,7 +45189,8 @@ all-target-gperf: configure-target-gperf
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/gperf && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-gperf))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-gperf))
+ @endif target-gperf
+@@ -45208,7 +45631,8 @@ all-target-examples: configure-target-ex
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/examples && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-examples))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-examples))
+ @endif target-examples
+@@ -45639,7 +46063,8 @@ all-target-libffi: configure-target-libf
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libffi && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libffi))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libffi))
+ @endif target-libffi
+@@ -46080,7 +46505,8 @@ all-target-libjava: configure-target-lib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(RAW_CXX_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libjava && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  $(TARGET-target-libjava))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
++              $(TARGET-target-libjava))
+ @endif target-libjava
+@@ -46521,7 +46947,8 @@ all-target-zlib: configure-target-zlib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/zlib && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-zlib))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-zlib))
+ @endif target-zlib
+@@ -46962,7 +47389,8 @@ all-target-boehm-gc: configure-target-bo
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/boehm-gc && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-boehm-gc))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-boehm-gc))
+ @endif target-boehm-gc
+@@ -47403,7 +47831,8 @@ all-target-qthreads: configure-target-qt
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/qthreads && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-qthreads))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-qthreads))
+ @endif target-qthreads
+@@ -47844,7 +48273,8 @@ all-target-rda: configure-target-rda
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/rda && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-rda))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-rda))
+ @endif target-rda
+@@ -48285,7 +48715,8 @@ all-target-libada: configure-target-liba
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libada && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libada))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libada))
+ @endif target-libada
+@@ -48726,7 +49157,8 @@ all-target-libgomp: configure-target-lib
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(NORMAL_TARGET_EXPORTS) \
+       (cd $(TARGET_SUBDIR)/libgomp && \
+-        $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgomp))
++        $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)  \
++              $(TARGET-target-libgomp))
+ @endif target-libgomp
+Index: gcc-4.3.1/configure
+===================================================================
+--- gcc-4.3.1.orig/configure   2008-02-01 19:29:30.000000000 -0800
++++ gcc-4.3.1/configure        2008-07-21 11:22:34.000000000 -0700
+@@ -272,7 +272,7 @@ PACKAGE_STRING=
+ PACKAGE_BUGREPORT=
+ ac_unique_file="move-if-change"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
+ ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
+ # Initialize some variables set by options.
+@@ -5147,6 +5147,38 @@ else
+ fi;
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++  CFLAGS_FOR_TARGET=$CFLAGS
++  case " $CFLAGS " in
++    *" -O2 "*) ;;
++    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++  esac
++  case " $CFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++  esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++  CXXFLAGS_FOR_TARGET=$CXXFLAGS
++  case " $CXXFLAGS " in
++    *" -O2 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++  esac
++  case " $CXXFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++  esac
++fi
++
++
+ # Handle --with-headers=XXX.  If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+@@ -12825,6 +12857,8 @@ s,@gmpinc@,$gmpinc,;t t
+ s,@stage1_languages@,$stage1_languages,;t t
+ s,@SYSROOT_CFLAGS_FOR_TARGET@,$SYSROOT_CFLAGS_FOR_TARGET,;t t
+ s,@DEBUG_PREFIX_CFLAGS_FOR_TARGET@,$DEBUG_PREFIX_CFLAGS_FOR_TARGET,;t t
++s,@CFLAGS_FOR_TARGET@,$CFLAGS_FOR_TARGET,;t t
++s,@CXXFLAGS_FOR_TARGET@,$CXXFLAGS_FOR_TARGET,;t t
+ s,@RPATH_ENVVAR@,$RPATH_ENVVAR,;t t
+ s,@tooldir@,$tooldir,;t t
+ s,@build_tooldir@,$build_tooldir,;t t
index c8738ad..3858d88 100644 (file)
@@ -5,6 +5,7 @@ DEPENDS += "gmp-native mpfr-native"
 
 EXTRA_OECONF += " --disable-libmudflap \
                  --disable-libgomp \
+                 --enable-decimal-float=no \
                  --disable-libssp"
 
 # Hack till we fix *libc properly