All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [RFC]: Toolchain build sequence alteration.
Date: Mon, 21 Jul 2008 17:28:58 -0700	[thread overview]
Message-ID: <488529d2.0b97600a.428e.3313@mx.google.com> (raw)
In-Reply-To: <c384c5ea0807161343s2085dda5ua5f526967583e293@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1481 bytes --]

On Wednesday 16 July 2008 13:43:26 Leon Woestenberg wrote:
> Khem,
> 
> On Wed, Jul 16, 2008 at 10:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
> >> I have not tested it on older compiler/library combinations but I think
> >> it will work there too as I have build various combinations in the past
> >> with same sequence outside OE.
> >>
> >> Comments and feedback is welcome.
> >>
> 
> I will try some combinations over the next few days.
> 
> anyone: This would be a perfect candidate for some good testing
> outside of .dev, what would be the best approach for that currently
> besides the posted patch?
> 
> Excellent work by the way!
> 
> Regards,

I have done some more testing using various toolchain combinations. I could build all gcc 4.x + glibc 2.4+ combos and eglibc as well as uclibc 0.9.28 and uclibc 0.9.29 and uclibc_svn. In this gcc 3.4.4 glibc 2.3.6 was the oldest combination I could  build on x86 with some surgeries.

This is yet another version of the patch with more stuff in it. ( including the fix to build sdk with gcc 4.3.1) 

Unless you folks approve of this patch is going to get bigger and bigger :)

slugOS maintainers confirmed that they do not need the old combo's so I was more concentrating on gcc 4.x and glibc 2.4+ combos.

I would be happy if someone can test it in his scenario and see if the patch has problems.

I have tested arm and x86. I would appreciate other arch builds if possible.

Thanks

-Khem

[-- Attachment #2: oe-new-toolchain-build-sequence.patch --]
[-- Type: text/x-patch, Size: 333474 bytes --]

#
# old_revision [7235543953cf5b68de17cb866a0f3ba5dc88ab8e]
#
# delete "packages/eglibc/eglibc-intermediate.inc"
# 
# delete "packages/eglibc/eglibc-intermediate_svn.bb"
# 
# delete "packages/glibc/glibc-intermediate.inc"
# 
# delete "packages/glibc/glibc-intermediate_2.3.2+cvs20040726.bb"
# 
# delete "packages/glibc/glibc-intermediate_2.3.6.bb"
# 
# delete "packages/glibc/glibc-intermediate_2.4.bb"
# 
# delete "packages/glibc/glibc-intermediate_2.5.bb"
# 
# delete "packages/glibc/glibc-intermediate_2.6.1.bb"
# 
# delete "packages/glibc/glibc-intermediate_2.7.bb"
# 
# delete "packages/glibc/glibc-intermediate_cvs.bb"
# 
# add_dir "packages/glibc/glibc-2.7"
# 
# add_file "packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch"
#  content [19c707575d5be816904f4ced86b7450a2e54c9c3]
# 
# add_file "packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch"
#  content [8e6d3785dd29dc45cdb795c6a4a1c70b3aa60300]
# 
# add_file "packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch"
#  content [2cbc3b136ee24e92a85a74d95f62c6efd87f7591]
# 
# add_file "packages/gcc/gcc-cross-intermediate.inc"
#  content [3fd758b824b19229a3f6e7df95246f0d382bc7ea]
# 
# add_file "packages/gcc/gcc-cross-intermediate_3.3.3.bb"
#  content [65e5d97bbf12d5db9a90b7522e39e7911d577562]
# 
# add_file "packages/gcc/gcc-cross-intermediate_3.3.4.bb"
#  content [65e5d97bbf12d5db9a90b7522e39e7911d577562]
# 
# add_file "packages/gcc/gcc-cross-intermediate_3.4.3.bb"
#  content [65e5d97bbf12d5db9a90b7522e39e7911d577562]
# 
# add_file "packages/gcc/gcc-cross-intermediate_3.4.4.bb"
#  content [65e5d97bbf12d5db9a90b7522e39e7911d577562]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.0.2.bb"
#  content [d6632d3d523fcb2d4e71bab2c5a7effd7c819ba5]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.1.0.bb"
#  content [211f0593c75ca9fb9078df3e4a57d18d80e1385f]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.1.1.bb"
#  content [3fc0ba21af09070a730a4b3e0b726ee8918c8f65]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.1.2.bb"
#  content [211f0593c75ca9fb9078df3e4a57d18d80e1385f]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.2.1.bb"
#  content [90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.2.2.bb"
#  content [90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.2.3.bb"
#  content [90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.2.4.bb"
#  content [90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4]
# 
# add_file "packages/gcc/gcc-cross-intermediate_4.3.1.bb"
#  content [30ce0ad3e7c44f2ebfbeb6ee12d62890fbc34086]
# 
# add_file "packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb"
#  content [bdfa3b2a9bb38d911fcba484a8f6a57ab9c6a6d8]
# 
# add_file "packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb"
#  content [7ca0df097d7377b3d3e86f9ab60edc17327fc874]
# 
# add_file "packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb"
#  content [b41165d11071d72ef03ff2bb5742b410f82555ab]
# 
# add_file "packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb"
#  content [b41165d11071d72ef03ff2bb5742b410f82555ab]
# 
# add_file "packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch"
#  content [cd6208674ca556cef23fcfe071a929d4c768e68f]
# 
# add_file "packages/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch"
#  content [1233a371e51da2cb27c42ec18bc33f11a9288f28]
# 
# add_file "packages/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch"
#  content [3cb1771cb1ffb55fd118435cae54bade8a5c7d4e]
# 
# add_file "packages/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch"
#  content [59253459fc269a11bbb26d9f5e7a42b6871fd287]
# 
# add_file "packages/glibc/glibc-2.3.6/glibc-memusage.patch"
#  content [2a58393c519f5c0ba7293bdd4643302367f2845d]
# 
# add_file "packages/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch"
#  content [f31f3425ae1f8afcb869cd8e0f3c414d01aa211f]
# 
# add_file "packages/glibc/glibc-2.7/all_glibc-i586-chk.patch"
#  content [5adb32eb0f211aa8fca2fcb25d68b7dbbce3d121]
# 
# patch "conf/distro/angstrom-2008.1.conf"
#  from [f64ebcf55e85b504d3be169befac3c7981aa74d9]
#    to [dd3ab976c49eec5fbb5e9e740aa8dfe99aa64fa6]
# 
# patch "conf/distro/celinux-test.conf"
#  from [89d7e451fc9af9bf40690f40acee9b8634d4239f]
#    to [1405fee6f781db757cd0819b219abd9f47fc4b93]
# 
# patch "conf/distro/chinook-compat.conf"
#  from [6792236a4e268fbe64e7adc994afef1224f52c9a]
#    to [19281a425235c6217a5de40204e18655583cf001]
# 
# patch "conf/distro/gmustix.conf"
#  from [88db2db3032412eac284ef6efa7a4668c79a29b2]
#    to [e5a0ed1602a23b5cbddbee1a07669efa041cd191]
# 
# patch "conf/distro/include/angstrom-2007-for-openmoko.inc"
#  from [4e926bdf5178cce4d068eeb210aba5adf7982351]
#    to [85b9d88526b7e40205f13f547c01c721f42fa32f]
# 
# patch "conf/distro/include/angstrom-eglibc.inc"
#  from [e0e7b6758775be96c0a58faecff645b05ef7c3e2]
#    to [e56df3f5a1f620f0dfa7795ff188661bf1524389]
# 
# patch "conf/distro/include/angstrom-glibc.inc"
#  from [64060b7ace4591e34cd8206bb5cd3ba77c6554d4]
#    to [9a81308293772bcff0ea1b412e0fa3a478a205fe]
# 
# patch "conf/distro/include/insane-srcrevs.inc"
#  from [e685e3b620d54ebf0b096e4709ed95ca3329b08c]
#    to [cbc144484de6ac4d699d0a609a011f4f1f04d2bf]
# 
# patch "conf/distro/include/sane-srcrevs.inc"
#  from [3f7f64ecffb3a08b7d6d6b1dcbb873b77c474243]
#    to [fff789e4d1f239ac260c9e3632a3b3e21fac565c]
# 
# patch "conf/distro/include/slugos.inc"
#  from [9b41afe5f573c4ce71c88ddf2bcda240c4dae42c]
#    to [15ec40d1c8105150bd6e9f5af9d3efa15ffa623d]
# 
# patch "conf/distro/jlime-donkey.conf"
#  from [fb7ea51917dde4bafa36f1b4a43be01e96610ad6]
#    to [af6cabdd09a5bd6796c790944232bdcb47f2c83b]
# 
# patch "conf/distro/jlime-henchman.conf"
#  from [40b971ca62e022ba5da642d0dd65e9472369efc9]
#    to [576306734d9284a03e4a2c7d9af7aeab477b903c]
# 
# patch "conf/distro/jlime-mongo.conf"
#  from [239a9bf19ee598d83ee84d5958a12b71bd7bef47]
#    to [326f98ce35aedb012b0e23bd6d1c4d5364d22c5b]
# 
# patch "conf/distro/jlime-shrek.conf"
#  from [4aa79fa3f008b3d4c92169d9af94ffa1dc1e8491]
#    to [4960e4997a76b212b2bda2ec3ddab16d81622075]
# 
# patch "conf/distro/mamona.conf"
#  from [fd683d8ddd62359322234b247211b416f546a004]
#    to [2259bb76e74ceface351ef6266ee9f3284c8e414]
# 
# patch "conf/distro/minimal.conf"
#  from [3659ec6bf90d9eac32c48e7ac2207b2a8c100d28]
#    to [bb050fd7b97576649bce4f1605b0c122f9cbea02]
# 
# patch "conf/distro/nylon.conf"
#  from [55b55fd58b093f18dc69ad389287e77c548403ae]
#    to [93b37b27f5a8b665966cdcd8b90187ec5428f2bc]
# 
# patch "conf/distro/openprotium.conf"
#  from [fa9e89af0f2d1321bd93fb2c08dfc7fa720a7d51]
#    to [982f64d7db8d48f170cd1aa284d266ddbc1030ce]
# 
# patch "conf/distro/oplinux-uclibc.conf"
#  from [ded77d3149a141de656d62e5c1ed7e161f1e500d]
#    to [af3019dae5fb6717311d042ac2f3114f99cdd50e]
# 
# patch "conf/distro/oplinux.conf"
#  from [0dbc9a811a5f426f5d3e4ead5a20330b56e51e41]
#    to [007c319d5693215e75c73b455c5c76a0f2465501]
# 
# patch "conf/distro/sharprom-compatible.conf"
#  from [866d17894061cd031cda619513332fa012433fa3]
#    to [89b78178c717a75e6dc950636c6903fbfb6fb989]
# 
# patch "conf/distro/ucslugc.conf"
#  from [13de2c9a77700ae97b0f7a3dbb79971cb6451ca6]
#    to [bb32cc5c8cbf8d2446f2bf2eef140a2ccd04ee1d]
# 
# patch "conf/distro/unslung.conf"
#  from [0ef6d906a67568b77e1f68fc1ac5c65f65586c67]
#    to [a7d66feda58ef5de37cbaf33395cb0dd4e1e7586]
# 
# patch "conf/distro/wrt54oe.conf"
#  from [9d556281a94a6474ec9b7e6edffabcecd876b083]
#    to [511263e0f8d97edcbcab96283a7c703b27f7072b]
# 
# patch "conf/local.conf.sample"
#  from [fa7f5ad0f812c943367b2c88b4e4f7165797959d]
#    to [5164ed855456a3c58975fcfbad1c9da8dd8d60f2]
# 
# patch "conf/machine/native.conf"
#  from [9f73a28ea65b27265df3e4afa2107401f9463ead]
#    to [e4b8c17ba26581950b67bf9e306d9f1664c0741f]
# 
# patch "packages/eglibc/eglibc-initial.inc"
#  from [9cc9a816e903fd588bfe9b6529f690d24297a54b]
#    to [4b2b73384f3c8f940e42387057da88a76435f44c]
# 
# patch "packages/eglibc/eglibc.inc"
#  from [20ecb0b8894a6fa79214db154c8cd4e8458d7237]
#    to [eef22ba34145bef9522d66a4eb30da587ba3e6a2]
# 
# patch "packages/gcc/gcc-3.4.4.inc"
#  from [b6121dbf8fda33791722c94759192ce86145319f]
#    to [db48eb2b8c53c3d57d561258a42cace119a70438]
# 
# patch "packages/gcc/gcc-4.3.1.inc"
#  from [c95319fe788a145ce0a5aecd6d6c270424e47e03]
#    to [7ee3a1d24f6fe58cc59653a6e65c7e8bcc68a8a7]
# 
# patch "packages/gcc/gcc-configure-cross.inc"
#  from [703d1979546f41f4a81d5aed72bf335e2bc5c69e]
#    to [4882906171abcb3738dfefb319ad714053c3adbe]
# 
# patch "packages/gcc/gcc-cross-initial.inc"
#  from [ad4596bca70fbc850a629b1582fafb6479bcb65d]
#    to [6dc1ca2688a86e10d96b345c271514ca7e6b0f1e]
# 
# patch "packages/gcc/gcc-cross-initial_4.3.1.bb"
#  from [4b22e8ec5d3911ce0553e074354f5ad218d7fce8]
#    to [1aadd72b822c32000450e9ae18faceef0112a99a]
# 
# patch "packages/glibc/glibc-initial.inc"
#  from [0480105971d23c66b379db96774c07f2a0913989]
#    to [7a1a79ecca0658f29a905c2140d27445a57bad55]
# 
# patch "packages/glibc/glibc-initial_2.5.bb"
#  from [c87dce64dc313f734e0764420892401b0c7301ee]
#    to [717f9cbf298c7866010b883caec46b01814a1ca4]
# 
# patch "packages/glibc/glibc-stage.inc"
#  from [8abe1d7d9fd4c34d725a7f26db2110bb66ec3e16]
#    to [9add53332fea43aff1a7efdeba79858facecfc1a]
# 
# patch "packages/glibc/glibc.inc"
#  from [94a32473f1193137d45da97d6ed786ae9e755094]
#    to [d7da3e08d193524257645bad4468dbb3dd7ed044]
# 
# patch "packages/glibc/glibc_2.3.6.bb"
#  from [a180c138b01077df8b234264ee6abd46cbf72314]
#    to [7ce57da5312cee1deb44c097867123d097f84146]
# 
# patch "packages/glibc/glibc_2.5.bb"
#  from [3c1686afff4b72f25b0ee4879fa7df5bed91c6b3]
#    to [330520507426ad66fcbf5a266a8aa5845504a744]
# 
# patch "packages/glibc/glibc_2.6.1.bb"
#  from [8b5e0d298c84d71b8a15be26527883a393e5483d]
#    to [17745de42ba1ebc4c1d4242154c294e27aa5a73c]
# 
# patch "packages/glibc/glibc_2.7.bb"
#  from [02c169c2754286db4f842bbe42a680e438defb73]
#    to [73c2cf870a5fd5c6da7625ada47fefdf0948c1be]
# 
# patch "packages/meta/external-toolchain.bb"
#  from [ebcd8679c393d51824573b5a70c7a071f8521117]
#    to [fe769763ba169fd561e2c5f1153726281afa9952]
# 
# patch "packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb"
#  from [63c582236d5e631780a864456ba4db4862602a0e]
#    to [8e92e1882cb3bc63515abe5cc42b6577706e118d]
# 
# patch "packages/uclibc/uclibc-initial_0.9.26.bb"
#  from [4add23305e16ae6d0973c44aae89b3f01d0f5bf8]
#    to [a184826f227450c3799472708b38d95c759f1457]
# 
# patch "packages/uclibc/uclibc-initial_0.9.27.bb"
#  from [4add23305e16ae6d0973c44aae89b3f01d0f5bf8]
#    to [bf5a03c0a95f607474c7585a1cdaec562bbb1747]
# 
# patch "packages/uclibc/uclibc-initial_0.9.28.bb"
#  from [4add23305e16ae6d0973c44aae89b3f01d0f5bf8]
#    to [bf5a03c0a95f607474c7585a1cdaec562bbb1747]
# 
# patch "packages/uclibc/uclibc-initial_0.9.29.bb"
#  from [d9cf01fb4dec69ff1f796d39c9078030982eacca]
#    to [af0ccde83d59f1948f1f2b5f7d4952d4855c58bc]
# 
# patch "packages/uclibc/uclibc-initial_svn.bb"
#  from [2715cc791b3fdd1b8e62328291e3ef33973bacc0]
#    to [766c264be7d787f2285f02b13a392f43cb2a87d2]
# 
# patch "packages/uclibc/uclibc.inc"
#  from [48b0ba2e4cff05071b3b812ef0be0861870cd00c]
#    to [4f97a9d058115dbb12ae1c5d047fb84965500a51]
#
============================================================
--- packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch	19c707575d5be816904f4ced86b7450a2e54c9c3
+++ packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch	19c707575d5be816904f4ced86b7450a2e54c9c3
@@ -0,0 +1,21 @@
+---
+ gcc/config/i386/linux.h |    2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: gcc-3.4.4/gcc/config/i386/linux.h
+===================================================================
+--- gcc-3.4.4.orig/gcc/config/i386/linux.h	2008-07-17 23:40:00.000000000 -0700
++++ gcc-3.4.4/gcc/config/i386/linux.h	2008-07-17 23:40:41.000000000 -0700
+@@ -218,6 +218,7 @@ Boston, MA 02111-1307, USA.  */
+ /* Do code reading to identify a signal frame, and set the frame
+    state data appropriately.  See unwind-dw2.c for the structs.  */
+ 
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ /* There's no sys/ucontext.h for some (all?) libc1, so no
+    signal-turned-exceptions for them.  There's also no configure-run for
+@@ -282,3 +283,4 @@ Boston, MA 02111-1307, USA.  */
+   } while (0)
+ #endif /* not USE_GNULIBC_1 */
+ #endif /* IN_LIBGCC2 */
++#endif
============================================================
--- packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch	8e6d3785dd29dc45cdb795c6a4a1c70b3aa60300
+++ packages/gcc/gcc-4.3.1/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch	8e6d3785dd29dc45cdb795c6a4a1c70b3aa60300
@@ -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
============================================================
--- packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch	2cbc3b136ee24e92a85a74d95f62c6efd87f7591
+++ packages/gcc/gcc-4.3.1/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch	2cbc3b136ee24e92a85a74d95f62c6efd87f7591
@@ -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
============================================================
--- packages/gcc/gcc-cross-intermediate.inc	3fd758b824b19229a3f6e7df95246f0d382bc7ea
+++ packages/gcc/gcc-cross-intermediate.inc	3fd758b824b19229a3f6e7df95246f0d382bc7ea
@@ -0,0 +1,21 @@
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+# sysroot is needed in case we use libc-initial
+EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
+		--enable-shared \
+		--disable-multilib \
+		--disable-threads \
+		--enable-languages=c \
+		--enable-target-optspace \
+		--program-prefix=${TARGET_PREFIX} \
+		--with-sysroot=${STAGING_DIR_TARGET} \
+		--with-build-sysroot=${STAGING_DIR_TARGET} \
+		${@get_gcc_fpu_setting(bb, d)}"
+
+do_install () {
+	:
+}
============================================================
--- packages/gcc/gcc-cross-intermediate_3.3.3.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
+++ packages/gcc/gcc-cross-intermediate_3.3.3.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
@@ -0,0 +1,2 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
============================================================
--- packages/gcc/gcc-cross-intermediate_3.3.4.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
+++ packages/gcc/gcc-cross-intermediate_3.3.4.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
@@ -0,0 +1,2 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
============================================================
--- packages/gcc/gcc-cross-intermediate_3.4.3.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
+++ packages/gcc/gcc-cross-intermediate_3.4.3.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
@@ -0,0 +1,2 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
============================================================
--- packages/gcc/gcc-cross-intermediate_3.4.4.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
+++ packages/gcc/gcc-cross-intermediate_3.4.4.bb	65e5d97bbf12d5db9a90b7522e39e7911d577562
@@ -0,0 +1,2 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
============================================================
--- packages/gcc/gcc-cross-intermediate_4.0.2.bb	d6632d3d523fcb2d4e71bab2c5a7effd7c819ba5
+++ packages/gcc/gcc-cross-intermediate_4.0.2.bb	d6632d3d523fcb2d4e71bab2c5a7effd7c819ba5
@@ -0,0 +1,4 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-multilib"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.1.0.bb	211f0593c75ca9fb9078df3e4a57d18d80e1385f
+++ packages/gcc/gcc-cross-intermediate_4.1.0.bb	211f0593c75ca9fb9078df3e4a57d18d80e1385f
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.1.1.bb	3fc0ba21af09070a730a4b3e0b726ee8918c8f65
+++ packages/gcc/gcc-cross-intermediate_4.1.1.bb	3fc0ba21af09070a730a4b3e0b726ee8918c8f65
@@ -0,0 +1,6 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap \
+		--disable-libunwind-exceptions \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.1.2.bb	211f0593c75ca9fb9078df3e4a57d18d80e1385f
+++ packages/gcc/gcc-cross-intermediate_4.1.2.bb	211f0593c75ca9fb9078df3e4a57d18d80e1385f
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.2.1.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
+++ packages/gcc/gcc-cross-intermediate_4.2.1.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.2.2.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
+++ packages/gcc/gcc-cross-intermediate_4.2.2.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.2.3.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
+++ packages/gcc/gcc-cross-intermediate_4.2.3.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.2.4.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
+++ packages/gcc/gcc-cross-intermediate_4.2.4.bb	90a8bfb6cf14f9e38af8a574b9b5fa9d55ccadd4
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_4.3.1.bb	30ce0ad3e7c44f2ebfbeb6ee12d62890fbc34086
+++ packages/gcc/gcc-cross-intermediate_4.3.1.bb	30ce0ad3e7c44f2ebfbeb6ee12d62890fbc34086
@@ -0,0 +1,14 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+DEPENDS += "gmp-native mpfr-native"
+
+EXTRA_OECONF += " --disable-libmudflap \
+		  --disable-libgomp \
+		  --disable-libssp"
+
+# Hack till we fix *libc properly
+do_stage_append() {
+        ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
============================================================
--- packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb	bdfa3b2a9bb38d911fcba484a8f6a57ab9c6a6d8
+++ packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb	bdfa3b2a9bb38d911fcba484a8f6a57ab9c6a6d8
@@ -0,0 +1,2 @@
+require gcc-cross_csl-arm-2005q3.bb
+require gcc-cross-intermediate.inc
============================================================
--- packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb	7ca0df097d7377b3d3e86f9ab60edc17327fc874
+++ packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb	7ca0df097d7377b3d3e86f9ab60edc17327fc874
@@ -0,0 +1,7 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-2006q1"
+
+EXTRA_OECONF += "--disable-libmudflap \
+		--disable-libssp"
============================================================
--- packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb	b41165d11071d72ef03ff2bb5742b410f82555ab
+++ packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb	b41165d11071d72ef03ff2bb5742b410f82555ab
@@ -0,0 +1,12 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-4.2"
+
+EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
+
+# Hack till we fix *libc properly
+do_stage_append() {
+	ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
============================================================
--- packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb	b41165d11071d72ef03ff2bb5742b410f82555ab
+++ packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb	b41165d11071d72ef03ff2bb5742b410f82555ab
@@ -0,0 +1,12 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-4.2"
+
+EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
+
+# Hack till we fix *libc properly
+do_stage_append() {
+	ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
============================================================
--- packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch	cd6208674ca556cef23fcfe071a929d4c768e68f
+++ packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch	cd6208674ca556cef23fcfe071a929d4c768e68f
@@ -0,0 +1,30 @@
+Source: http://sourceware.org/ml/libc-alpha/2008-01/msg00017.html
+
+I am checking this x86 assembler patch:
+
+http://sourceware.org/ml/binutils/2008-01/msg00148.html
+
+to check operand size. fnstsw stores 16bit into %ax. The upper
+16bit of %eax is unchanged.  The new assembler will disallow
+"fnstsw %eax".  Here is a patch for glibc.
+
+
+H.J.
+
+---
+ sysdeps/i386/fpu/ftestexcept.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
+===================================================================
+--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c	2008-07-19 11:00:45.000000000 -0700
++++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c	2008-07-19 11:01:25.000000000 -0700
+@@ -26,7 +26,7 @@
+ int
+ fetestexcept (int excepts)
+ {
+-  int temp;
++  short temp;
+   int xtemp = 0;
+ 
+   /* Get current exceptions.  */
============================================================
--- packages/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch	1233a371e51da2cb27c42ec18bc33f11a9288f28
+++ packages/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch	1233a371e51da2cb27c42ec18bc33f11a9288f28
@@ -0,0 +1,37 @@
+--- glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/raise.c.org	2008-07-16 22:57:58.000000000 -0700
++++ glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/raise.c	2008-07-16 22:58:26.000000000 -0700
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991, 1996, 2002, 2003 Free Software Foundation, Inc.
++/* Copyright (C) 1991, 1996, 2002, 2003, 2005 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -18,10 +18,13 @@
+ 
+ #include <signal.h>
+ #include <unistd.h>
+-#include <bits/libc-lock.h>
+ 
+-#ifndef SHARED
++#ifndef IS_IN_rtld
++# include <bits/libc-lock.h>
++
++# ifndef SHARED
+ weak_extern (__pthread_raise)
++# endif
+ #endif
+ 
+ /* Raise the signal SIG.  */
+@@ -29,8 +32,12 @@ int
+ raise (sig)
+      int sig;
+ {
++#ifdef IS_IN_rtld
++  return __kill (__getpid (), sig);
++#else
+   return __libc_maybe_call2 (pthread_raise, (sig),
+ 			     __kill (__getpid (), sig));
++#endif
+ }
+ libc_hidden_def (raise)
+ weak_alias (raise, gsignal)
============================================================
--- packages/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch	3cb1771cb1ffb55fd118435cae54bade8a5c7d4e
+++ packages/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch	3cb1771cb1ffb55fd118435cae54bade8a5c7d4e
@@ -0,0 +1,45 @@
+This one was taken from debian.
+
+# DP: Description: Fix __bind redefinition problem
+# DP: Related bugs: 
+# DP: Dpatch author: Phil Blundell
+# DP: Patch author: Daniel Jacobowitz
+# DP: Upstream status: In CVS
+# DP: Status Details:
+# DP: Date: 2005-12-25
+
+Index: sysdeps/unix/sysv/linux/arm/socket.S
+===================================================================
+RCS file: /cvs/glibc/ports/sysdeps/unix/sysv/linux/arm/socket.S,v
+retrieving revision 1.12
+retrieving revision 1.13
+diff -u -r1.12 -r1.13
+--- glibc-2.3.6.ds1.orig/sysdeps/unix/sysv/linux/arm/socket.S	4 Dec 2004 21:20:16 -0000	1.12
++++ glibc-2.3.6.ds1/sysdeps/unix/sysv/linux/arm/socket.S	27 Oct 2005 18:50:12 -0000	1.13
+@@ -1,4 +1,6 @@
+-/* Copyright (C) 1995, 1996, 1997, 1998, 2003 Free Software Foundation, Inc.
++/* Copyright (C) 1995, 1996, 1997, 1998, 2003, 2004, 2005
++   Free Software Foundation, Inc.
++
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -32,7 +34,11 @@
+    The .S files for the other calls just #define socket and #include this.  */
+ 
+ #ifndef __socket
++#ifndef NO_WEAK_ALIAS
+ #define __socket P(__,socket)
++#else
++#define __socket socket
++#endif
+ #endif
+ 
+ #define PUSHARGS_1	str a1, [sp, $-4]!
+@@ -120,4 +126,6 @@
+ 
+ PSEUDO_END (__socket)
+ 
++#ifndef NO_WEAK_ALIAS
+ weak_alias (__socket, socket)
++#endif
============================================================
--- packages/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch	59253459fc269a11bbb26d9f5e7a42b6871fd287
+++ packages/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch	59253459fc269a11bbb26d9f5e7a42b6871fd287
@@ -0,0 +1,79 @@
+Fix rpcsvc headers missing from glibc, also
+allows glibc to produce the rpc headers when cross compiling,
+And fix for glibc-bootstrap package doesn't currently build because the
+generated sunrpc headers are not available
+    
+
+---
+ sunrpc/Makefile |   28 ++++++++++++++++++++++++----
+ 1 file changed, 24 insertions(+), 4 deletions(-)
+
+Index: glibc-2.3.6/sunrpc/Makefile
+===================================================================
+--- glibc-2.3.6.orig/sunrpc/Makefile	2005-07-17 20:03:49.000000000 -0700
++++ glibc-2.3.6/sunrpc/Makefile	2008-07-17 15:28:04.000000000 -0700
+@@ -75,6 +75,8 @@ install-sbin := rpcinfo
+ rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
+ 	      rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \
+ 	      rpc_tblout.o rpc_sample.o
++host-rpcgen-objs = $(addprefix host-,$(rpcgen-objs))
++
+ # These headers are part of rpcgen.
+ distribute := proto.h rpc_util.h rpc_parse.h rpc_scan.h \
+ 	      $(rpcgen-objs:.o=.c) etc.rpc \
+@@ -98,8 +100,8 @@ otherlibs += $(nssobjdir)/libnss_files.a
+ 	     $(resolvobjdir)/libresolv.a
+ endif
+ 
+-ifeq (no,$(cross-compiling))
+-# We can only build this library if we can run the rpcgen we build.
++ifneq (,$(findstring subdir_install,$(MAKECMDGOALS)))
++## We can only build this library if we can run the rpcgen we build.
+ headers += $(rpcsvc:%.x=rpcsvc/%.h)
+ extra-libs := librpcsvc
+ extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass.
+@@ -144,8 +146,26 @@ cpp-srcs-left := $(rpcgen-objs:.o=.c)
+ lib := nonlib
+ include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+ 
++# Rely on the target rpcgen objects for dependency information.
++$(objpfx)host-%.o: %.c $(objpfx)%.o
++	$(patsubst %/,cd % &&,$(objpfx)) \
++	$(BUILD_CC) $($(basename $(<F))-CFLAGS) \
++		-I$(shell cd .. && pwd) \
++		-Dattribute_hidden= \
++		-include $(shell cd ../include && pwd)/libintl.h \
++		-O2 $(ALL_BUILD_CFLAGS) $(shell pwd)/$(<F) -c -o $(@F)
++
++$(objpfx)host-rpcgen: $(addprefix $(objpfx),$(host-rpcgen-objs))
++	$(BUILD_CC) $(BUILD_CFLAGS) $+ -o $(objpfx)host-rpcgen
++
+ # Tell rpcgen where to find the C preprocessor.
++ifeq ($(cross-compiling),no)
+ rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts
++rpcgen-prog = $(objpfx)rpcgen
++else
++rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)host-rpcgen -Y ../scripts
++rpcgen-prog = $(objpfx)host-rpcgen
++endif
+ 
+ # Install the rpc data base file.
+ $(inst_sysconfdir)/rpc: etc.rpc $(+force)
+@@ -156,7 +176,7 @@ $(inst_sysconfdir)/rpc: etc.rpc $(+force
+ # relinked.
+ $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
+ 	@:
+-$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
++$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(rpcgen-prog)
+ 	$(make-target-directory)
+ 	-@rm -f ${@:stmp=T} $@
+ 	$(rpcgen-cmd) -h $< -o ${@:stmp=T}
+@@ -166,7 +186,7 @@ $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(obj
+ # Generate the rpcsvc XDR functions with rpcgen.
+ $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp
+ 	@:
+-$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
++$(objpfx)x%.stmp: rpcsvc/%.x $(rpcgen-prog)
+ 	-@rm -f ${@:stmp=T} $@
+ 	$(rpcgen-cmd) -c $< -o ${@:stmp=T}
+ 	$(move-if-change) $(@:stmp=T) $(@:stmp=c)
============================================================
--- packages/glibc/glibc-2.3.6/glibc-memusage.patch	2a58393c519f5c0ba7293bdd4643302367f2845d
+++ packages/glibc/glibc-2.3.6/glibc-memusage.patch	2a58393c519f5c0ba7293bdd4643302367f2845d
@@ -0,0 +1,44 @@
+---
+ malloc/Makefile    |    4 +++-
+ malloc/memusage.sh |    6 ++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+Index: glibc-2.3.6/malloc/Makefile
+===================================================================
+--- glibc-2.3.6.orig/malloc/Makefile	2008-07-17 14:40:54.000000000 -0700
++++ glibc-2.3.6/malloc/Makefile	2008-07-17 14:42:07.000000000 -0700
+@@ -80,7 +80,7 @@ ifneq ($(cross-compiling),yes)
+ ifneq ($(LIBGD),no)
+ install-bin = memusagestat
+ install-bin-script += memusage
+-generated += memusagestat memusage
++generated += memusagestat
+ extra-objs += memusagestat.o
+ 
+ # The configure.in check for libgd and its headers did not use $SYSINCLUDES.
+@@ -90,6 +90,8 @@ extra-objs += memusagestat.o
+ $(objpfx)memusagestat.o: sysincludes = # nothing
+ endif
+ endif
++install-bin-script += memusage
++generated += memusage
+ 
+ # Another goal which can be used to override the configure decision.
+ .PHONY: do-memusagestat
+Index: glibc-2.3.6/malloc/memusage.sh
+===================================================================
+--- glibc-2.3.6.orig/malloc/memusage.sh	2008-07-17 14:42:17.000000000 -0700
++++ glibc-2.3.6/malloc/memusage.sh	2008-07-17 14:42:54.000000000 -0700
+@@ -205,6 +205,12 @@ if test $# -eq 0; then
+   do_usage
+ fi
+ 
++# Find memusagestat.
++if test -n "$png" -a ! -x $memusagestat; then
++  echo >&2 $"PNG generation is not supported."
++  png=""
++fi
++
+ # This will be in the environment.
+ add_env="LD_PRELOAD=$memusageso"
+ 
============================================================
--- packages/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch	f31f3425ae1f8afcb869cd8e0f3c414d01aa211f
+++ packages/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch	f31f3425ae1f8afcb869cd8e0f3c414d01aa211f
@@ -0,0 +1,25 @@
+---
+ elf/Makefile |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: glibc-2.3.6/elf/Makefile
+===================================================================
+--- glibc-2.3.6.orig/elf/Makefile	2008-07-17 01:10:39.000000000 -0700
++++ glibc-2.3.6/elf/Makefile	2008-07-17 01:17:18.000000000 -0700
+@@ -279,7 +279,7 @@ $(objpfx)rtld-libc.a: $(objpfx)librtld.m
+ 	$(MAKE) -f $< -f rtld-Rules
+ 
+ $(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(objpfx)rtld-libc.a
+-	$(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc '-Wl,-)' \
++	$(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc -lgcc_eh '-Wl,-)' \
+ 		  -Wl,-Map,$@.map
+ 
+ generated += librtld.map librtld.mk rtld-libc.a librtld.os.map
+@@ -295,6 +295,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld
+ 		      -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
+ 		  > $@.lds
+ 	$(LINK.o) -nostdlib -nostartfiles -shared -o $@			\
++		  -lgcc -lgcc_eh					\
+ 		  $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now))	\
+ 		  $(filter-out $(map-file),$^) $(load-map-file)		\
+ 		  -Wl,-soname=$(rtld-installed-name) -T $@.lds
============================================================
--- packages/glibc/glibc-2.7/all_glibc-i586-chk.patch	5adb32eb0f211aa8fca2fcb25d68b7dbbce3d121
+++ packages/glibc/glibc-2.7/all_glibc-i586-chk.patch	5adb32eb0f211aa8fca2fcb25d68b7dbbce3d121
@@ -0,0 +1,33 @@
+http://bugs.gentoo.org/199479
+
+2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/i386/i586/memcpy_chk.S: New file.
+	* sysdeps/i386/i586/mempcpy_chk.S: Likewise.
+	* sysdeps/i386/i586/memset_chk.S: Likewise.
+
+Index: glibc/sysdeps/i386/i586/memcpy_chk.S
+===================================================================
+RCS file: sysdeps/i386/i586/memcpy_chk.S
+diff -N sysdeps/i386/i586/memcpy_chk.S
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ glibc/sysdeps/i386/i586/memcpy_chk.S	13 Nov 2007 01:56:18 -0000	1.1
+@@ -0,0 +1 @@
++#include <sysdeps/i386/i686/memcpy_chk.S>
+Index: glibc/sysdeps/i386/i586/mempcpy_chk.S
+===================================================================
+RCS file: sysdeps/i386/i586/mempcpy_chk.S
+diff -N sysdeps/i386/i586/mempcpy_chk.S
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ glibc/sysdeps/i386/i586/mempcpy_chk.S	13 Nov 2007 01:56:18 -0000	1.1
+@@ -0,0 +1 @@
++#include <sysdeps/i386/i686/mempcpy_chk.S>
+Index: glibc/sysdeps/i386/i586/memset_chk.S
+===================================================================
+RCS file: sysdeps/i386/i586/memset_chk.S
+diff -N sysdeps/i386/i586/memset_chk.S
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ glibc/sysdeps/i386/i586/memset_chk.S	13 Nov 2007 01:56:18 -0000	1.1
+@@ -0,0 +1 @@
++#include <sysdeps/i386/i686/memset_chk.S>
+
============================================================
--- conf/distro/angstrom-2008.1.conf	f64ebcf55e85b504d3be169befac3c7981aa74d9
+++ conf/distro/angstrom-2008.1.conf	dd3ab976c49eec5fbb5e9e740aa8dfe99aa64fa6
@@ -71,7 +71,6 @@ PREFERRED_VERSION_glibc 		?= "2.6.1"
 
 #Prefer glibc 2.6 and uclibc 0.9.29, these have had the most testing.
 PREFERRED_VERSION_glibc 		?= "2.6.1"
-PREFERRED_VERSION_glibc-intermediate 	?= "2.6.1"
 PREFERRED_VERSION_glibc-initial 	?= "2.6.1"
 
 #Prefer a newer GTK+ and friends
@@ -103,12 +102,14 @@ ANGSTROM_GCC_VERSION_avr32		?= "4.2.2"
 ANGSTROM_GCC_VERSION_avr32		?= "4.2.2"
 
 #Everybody else can just use this: 
-ANGSTROM_GCC_VERSION 			?= "4.2.4"
+ANGSTROM_GCC_VERSION 			?= "4.3.1"
+#PREFERRED_VERSION_binutils-cross 	?= "2.18"
 
-PREFERRED_VERSION_gcc               ?= "${ANGSTROM_GCC_VERSION}"
-PREFERRED_VERSION_gcc-cross         ?= "${ANGSTROM_GCC_VERSION}"
-PREFERRED_VERSION_gcc-cross-sdk     ?= "${ANGSTROM_GCC_VERSION}"
-PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc                    ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross              ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-sdk          ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-initial      ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
 
 #Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
 require conf/distro/include/preferred-gpe-versions-2.8.inc
@@ -123,6 +124,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 # Virtuals:
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 
============================================================
--- conf/distro/celinux-test.conf	89d7e451fc9af9bf40690f40acee9b8634d4239f
+++ conf/distro/celinux-test.conf	1405fee6f781db757cd0819b219abd9f47fc4b93
@@ -35,6 +35,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 # toolchain
 #
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
@@ -46,6 +47,7 @@ PREFERRED_VERSION_gcc-cross-initial = "3
 PREFERRED_VERSION_gcc = "3.4.4"
 PREFERRED_VERSION_gcc-cross = "3.4.4"
 PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
 
 PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
 
============================================================
--- conf/distro/chinook-compat.conf	6792236a4e268fbe64e7adc994afef1224f52c9a
+++ conf/distro/chinook-compat.conf	19281a425235c6217a5de40204e18655583cf001
@@ -42,14 +42,15 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 MACHINE_KERNEL_VERSION = "2.6"
 
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 
 PREFERRED_PROVIDER_virtual/libc = "glibc"
 
 # NPTL stuff
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-libc-for-gcc = "glibc"
 
 PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-binutils = "binutils-cross"
 PREFERRED_PROVIDER_linux-libc-header = "linux-libc-headers"
@@ -64,6 +65,7 @@ PREFERRED_VERSION_gcc-cross-initial = "4
 PREFERRED_VERSION_gcc = "3.4.4cs2005q3.2"
 PREFERRED_VERSION_gcc-cross = "3.4.4cs2005q3.2"
 PREFERRED_VERSION_gcc-cross-initial = "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.1.1"
 
 #PREFERRED_VERSION_gcc-cross-initial = "3.4.4cs2005q3.2"
 
@@ -71,7 +73,6 @@ PREFERRED_VERSION_glibc = "2.5"
 PREFERRED_VERSION_linux-libc-headers = "2.6.20"
 
 PREFERRED_VERSION_glibc = "2.5"
-PREFERRED_VERSION_glibc-intermediate = "2.5"
 PREFERRED_VERSION_glibc-initial = "2.5"
 
 PREFERRED_VERSION_libtool = "1.5.6"
============================================================
--- conf/distro/gmustix.conf	88db2db3032412eac284ef6efa7a4668c79a29b2
+++ conf/distro/gmustix.conf	e5a0ed1602a23b5cbddbee1a07669efa041cd191
@@ -8,6 +8,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 IMAGE_FSTYPES = "jffs2"
 
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:uclibc"
@@ -15,6 +16,7 @@ PREFERRED_VERSION_gcc-cross-initial = "3
 PREFERRED_PROVIDER_classpath = "classpath-minimal"
 
 PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
 PREFERRED_VERSION_gcc-cross = "3.4.4"
 PREFERRED_VERSION_gcc-cross-sdk = "3.4.4" 
 PREFERRED_VERSION_gcc = "3.4.4"
============================================================
--- conf/distro/include/angstrom-2007-for-openmoko.inc	4e926bdf5178cce4d068eeb210aba5adf7982351
+++ conf/distro/include/angstrom-2007-for-openmoko.inc	85b9d88526b7e40205f13f547c01c721f42fa32f
@@ -89,21 +89,25 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_gcc-cross         ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-sdk     ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.2"
 
 PREFERRED_VERSION_gcc_dht-walnut               ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross_dht-walnut         ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-sdk_dht-walnut     ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial_dht-walnut ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate_dht-walnut ?= "4.1.1"
 
 PREFERRED_VERSION_gcc_xilinx-ml403               ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross_xilinx-ml403         ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-sdk_xilinx-ml403     ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial_xilinx-ml403 ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate_xilinx-ml403 ?= "4.1.1"
 
 PREFERRED_VERSION_gcc_mpc8323e-rdb               ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross_mpc8323e-rdb         ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-sdk_mpc8323e-rdb     ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial_mpc8323e-rdb ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate_mpc8323e-rdb ?= "4.1.1"
 
 PREFERRED_VERSION_binutils          ?= "2.18"
 PREFERRED_VERSION_binutils-cross    ?= "2.18"
@@ -115,6 +119,7 @@ PREFERRED_VERSION_gcc-cross-initial_avr3
 PREFERRED_VERSION_avr32-gcc-cross         = "4.1.2"
 PREFERRED_VERSION_gcc-cross-sdk_avr32     = "4.0.2"
 PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.0.2"
+PREFERRED_VERSION_gcc-cross-intermediate_avr32 = "4.0.2"
 
 PREFERRED_VERSION_binutils_avr32 = "2.17"
 PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
@@ -133,9 +138,6 @@ PREFERRED_VERSION_uclibc-initial_avr32 =
 PREFERRED_VERSION_uclibc_avr32 = "0.9.28"
 PREFERRED_VERSION_uclibc-initial_avr32 = "0.9.28"
 
-PREFERRED_VERSION_glibc-intermediate_i686 ?= "2.4"
-PREFERRED_VERSION_glibc-intermediate ?= "2.5"
-
 PREFERRED_VERSION_glibc-initial ?= "2.5"
 
 # To use an EABI compatible version 3 series gcc, either uncomment 
@@ -143,6 +145,7 @@ PREFERRED_VERSION_glibc-initial ?= "2.5"
 #
 # PREFERRED_VERSION_gcc-cross = "3.4.4+csl-arm-2005q3"
 # PREFERRED_VERSION_gcc-cross-initial = "3.4.4+csl-arm-2005q3"
+# PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4+csl-arm-2005q3"
 
 #Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
 require conf/distro/include/preferred-xorg-versions.inc
@@ -153,17 +156,17 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 # Virtuals:
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 
 #Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc    = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc  = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc            = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc        = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc         = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc          = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "glibc"
+PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc    = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc  = "glibc"
+PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc        = "glibc"
+PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc         = "glibc"
+PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc          = "glibc"
 
 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc    = "uclibc-initial"
 PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc  = "uclibc-initial"
============================================================
--- conf/distro/include/angstrom-eglibc.inc	e0e7b6758775be96c0a58faecff645b05ef7c3e2
+++ conf/distro/include/angstrom-eglibc.inc	e56df3f5a1f620f0dfa7795ff188661bf1524389
@@ -4,13 +4,13 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 PREFERRED_PROVIDER_virtual/libc = "eglibc"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc    = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc  = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-libc-for-gcc            = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc        = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc         = "eglibc-intermediate"
-PREFERRED_PROVIDER_virtual/sparc${TARGET_VENDOR}-linux-libc-for-gcc          = "eglibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "eglibc"
+PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc    = "eglibc"
+PREFERRED_PROVIDER_virtual/armeb${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc  = "eglibc"
+PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-libc-for-gcc            = "eglibc"
+PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc        = "eglibc"
+PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc         = "eglibc"
+PREFERRED_PROVIDER_virtual/sparc${TARGET_VENDOR}-linux-libc-for-gcc          = "eglibc"
 
 TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
 
============================================================
--- conf/distro/include/angstrom-glibc.inc	64060b7ace4591e34cd8206bb5cd3ba77c6554d4
+++ conf/distro/include/angstrom-glibc.inc	9a81308293772bcff0ea1b412e0fa3a478a205fe
@@ -6,13 +6,13 @@ PREFERRED_PROVIDER_linux-libc-headers ?=
 PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
 
 #Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc    = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc  = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc            = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc        = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc         = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc          = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc               = "glibc"
+PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc    = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc  = "glibc"
+PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc            = "glibc"
+PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc        = "glibc"
+PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc         = "glibc"
+PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc          = "glibc"
 
 
 TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
@@ -25,13 +25,11 @@ FULL_OPTIMIZATION_pn-perl = "-fexpensive
 FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -Os"
 
 FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
-FULL_OPTIMIZATION_pn-glibc-intermediate = "-O2"
 FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2"
 FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
 
 BUILD_OPTIMIZATION = "-Os"
 BUILD_OPTIMIZATION_pn-perl = "-O1"
-BUILD_OPTIMIZATION_pn-glibc-intermediate = "-O2"
 BUILD_OPTIMIZATION_pn-glibc = "-O2"
 BUILD_OPTIMIZATION_sparc = "-O2"
 
============================================================
--- conf/distro/include/insane-srcrevs.inc	e685e3b620d54ebf0b096e4709ed95ca3329b08c
+++ conf/distro/include/insane-srcrevs.inc	cbc144484de6ac4d699d0a609a011f4f1f04d2bf
@@ -4,7 +4,6 @@ SRCREV_pn-eglibc-initial ?= "${AUTOREV}"
 SRCREV_pn-eds-dbus ?= "${AUTOREV}"
 SRCREV_pn-eglibc ?= "${AUTOREV}"
 SRCREV_pn-eglibc-initial ?= "${AUTOREV}"
-SRCREV_pn-eglibc-intermediate ?= "${AUTOREV}"
 SRCREV_pn-ezxd ?= "${AUTOREV}"
 SRCREV_pn-fbgrab-viewer-native ?= "${AUTOREV}"
 SRCREV_pn-fstests ?= "${AUTOREV}"
============================================================
--- conf/distro/include/sane-srcrevs.inc	3f7f64ecffb3a08b7d6d6b1dcbb873b77c474243
+++ conf/distro/include/sane-srcrevs.inc	fff789e4d1f239ac260c9e3632a3b3e21fac565c
@@ -28,7 +28,6 @@ SRCREV_pn-eglibc-initial ?= "6229"
 SRCREV_pn-eds-dbus ?= "659"
 SRCREV_pn-eglibc ?= "6229"
 SRCREV_pn-eglibc-initial ?= "6229"
-SRCREV_pn-eglibc-intermediate ?= "6229"
 SRCREV_pn-enlazar ?= "37"
 SRCREV_pn-exalt ?= "79"
 SRCREV_pn-exalt-daemon ?= "78"
============================================================
--- conf/distro/include/slugos.inc	9b41afe5f573c4ce71c88ddf2bcda240c4dae42c
+++ conf/distro/include/slugos.inc	15ec40d1c8105150bd6e9f5af9d3efa15ffa623d
@@ -96,13 +96,14 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 
 # Virtuals:
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 
 #Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc       = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc     = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc       = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc     = "glibc"
 
 # Set the preferred provider for a few toolchain-related items, otherwise
 # these may be selected from the external-toolchain instead.
@@ -118,8 +119,8 @@ PREFERRED_VERSION_gcc-cross-initial  ?= 
 PREFERRED_VERSION_gcc-cross          ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-sdk      ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-initial  ?= "4.1.2"
+PREFERRED_VERSION_gcc-cross-intermediate  ?= "4.1.2"
 PREFERRED_VERSION_glibc              ?= "2.5"
-PREFERRED_VERSION_glibc-intermediate ?= "2.5"
 PREFERRED_VERSION_glibc-initial      ?= "2.5"
 
 # Select the smallest provider of x11 libraries
============================================================
--- conf/distro/jlime-donkey.conf	fb7ea51917dde4bafa36f1b4a43be01e96610ad6
+++ conf/distro/jlime-donkey.conf	af6cabdd09a5bd6796c790944232bdcb47f2c83b
@@ -20,10 +20,11 @@ PREFERRED_PROVIDERS +=  "virtual/${TARGE
 #<> We will set CVS DATE when things are known to work.
 #<>-----------------------------------------------------------------<
 PREFERRED_PROVIDERS +=  "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS +=  "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS +=  "virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS +=  "virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDER_virtual/sh3-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/sh3-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
 
 #<>----------------------------------------------------------------->
 #<> We want this so we can crosscompile the kernel using gcc 3.4.3
@@ -51,10 +52,10 @@ PREFERRED_VERSION_gcc-cross-initial = "4
 PREFERRED_VERSION_gcc = "4.2.2"
 PREFERRED_VERSION_gcc-cross = "4.2.2"
 PREFERRED_VERSION_gcc-cross-initial = "4.2.2"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2"
 PREFERRED_VERSION_linux-libc-headers = "2.6.23"                                             		    
 PREFERRED_VERSION_glibc = "2.6.1"
 PREFERRED_VERSION_glibc-initial = "2.6.1"
-PREFERRED_VERSION_glibc-intermediate = "2.6.1"
 
 #<>------------------------------------------------------------------>
 #<>
============================================================
--- conf/distro/jlime-henchman.conf	40b971ca62e022ba5da642d0dd65e9472369efc9
+++ conf/distro/jlime-henchman.conf	576306734d9284a03e4a2c7d9af7aeab477b903c
@@ -50,12 +50,14 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 # Binutils & Compiler
 #
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 
 PREFERRED_VERSION_gcc = "4.2.2"
 PREFERRED_VERSION_gcc-cross = "4.2.2"
 PREFERRED_VERSION_gcc-cross-initial = "4.2.2"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2"
 PREFERRED_VERSION_binutils = "2.18"
 PREFERRED_VERSION_binutils-cross = "2.18"
 
@@ -69,12 +71,11 @@ PREFERRED_PROVIDER_virtual/libc = "glibc
 PREFERRED_PROVIDER_virtual/libiconv = "glibc"
 PREFERRED_PROVIDER_virtual/libintl = "glibc"
 PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc"
 PREFERRED_VERSION_linux-libc-headers = "2.6.23"
 PREFERRED_VERSION_glibc = "2.5"
-PREFERRED_VERSION_glibc-intermediate = "2.5"
 
 #
 # Bootstrap & Init
============================================================
--- conf/distro/jlime-mongo.conf	239a9bf19ee598d83ee84d5958a12b71bd7bef47
+++ conf/distro/jlime-mongo.conf	326f98ce35aedb012b0e23bd6d1c4d5364d22c5b
@@ -51,12 +51,14 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 # Binutils & Compiler
 #
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 
 PREFERRED_VERSION_gcc = "4.2.2"
 PREFERRED_VERSION_gcc-cross = "4.2.2"
 PREFERRED_VERSION_gcc-cross-initial = "4.2.2"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.2.2"
 PREFERRED_VERSION_binutils = "2.18"
 PREFERRED_VERSION_binutils-cross = "2.18"
 
@@ -70,12 +72,11 @@ PREFERRED_PROVIDER_virtual/libc = "glibc
 PREFERRED_PROVIDER_virtual/libiconv = "glibc"
 PREFERRED_PROVIDER_virtual/libintl = "glibc"
 PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc"
 PREFERRED_VERSION_linux-libc-headers = "2.6.18"
 PREFERRED_VERSION_glibc = "2.5"
-PREFERRED_VERSION_glibc-intermediate = "2.5"
 
 #
 # Bootstrap & Init
============================================================
--- conf/distro/jlime-shrek.conf	4aa79fa3f008b3d4c92169d9af94ffa1dc1e8491
+++ conf/distro/jlime-shrek.conf	4960e4997a76b212b2bda2ec3ddab16d81622075
@@ -12,6 +12,7 @@ PREFERRED_PROVIDERS  =  "virtual/${TARGE
 SRCDATE = "20050518"
 
 PREFERRED_PROVIDERS  =  "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS  =  "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
@@ -24,6 +25,7 @@ PREFERRED_VERSION_gcc-cross-initial = "3
 PREFERRED_VERSION_gcc = "3.4.3"
 PREFERRED_VERSION_gcc-cross = "3.4.3"
 PREFERRED_VERSION_gcc-cross-initial = "3.4.3"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.4.3"
 PREFERRED_VERSION_linux-libc-headers = "2.6.7.0"                                             		    
 PREFERRED_VERSION_glib-2.0-native = "2.6.2"
 PREFERRED_VERSION_glib-2.0 = "2.6.2"
============================================================
--- conf/distro/mamona.conf	fd683d8ddd62359322234b247211b416f546a004
+++ conf/distro/mamona.conf	2259bb76e74ceface351ef6266ee9f3284c8e414
@@ -34,6 +34,7 @@ PREFERRED_PROVIDERS_virtual/${TARGET_PRE
 
 # gcc
 PREFERRED_PROVIDERS_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDERS_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDERS_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDERS_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 
@@ -41,6 +42,7 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_gcc-cross ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.2"
 
 # binutils
 PREFERRED_VERSION_binutils ?= "2.18"
@@ -55,17 +57,15 @@ PREFERRED_VERSION_glibc ?= "2.5"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial ?= "glibc-initial"
 
 PREFERRED_VERSION_glibc ?= "2.5"
-PREFERRED_VERSION_glibc-intermediate_i686 ?= "2.4"
-PREFERRED_VERSION_glibc-intermediate ?= "2.5"
 PREFERRED_VERSION_glibc-initial ?= "2.5"
 PREFERRED_VERSION_uclibc ?= "0.9.29"
 
 # NPTL stuff
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-mamona-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-mamona-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-mamona-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/i586-mamona-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-mamona-linux-gnueabi-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-mamona-linux-gnueabi-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-mamona-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/i586-mamona-linux-libc-for-gcc = "glibc"
 
 # Other Packages
 # ==============
@@ -82,4 +82,4 @@ PREFERRED_VERSION_gpsd ?= "2.33"
 
 PREFERRED_VERSION_apt = "0.7.6"
 PREFERRED_VERSION_gpsd ?= "2.33"
-PREFERRED_VERSION_hal_nokia770 = "0.5.7"
\ No newline at end of file
+PREFERRED_VERSION_hal_nokia770 = "0.5.7"
============================================================
--- conf/distro/minimal.conf	3659ec6bf90d9eac32c48e7ac2207b2a8c100d28
+++ conf/distro/minimal.conf	bb050fd7b97576649bce4f1605b0c122f9cbea02
@@ -37,6 +37,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 # Binutils & Compiler
 #
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 PREFERRED_PROVIDER_virtual/arm-linux-binutils = "binutils-cross"
@@ -45,6 +46,7 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_gcc ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.1"
 PREFERRED_VERSION_binutils ?= "2.18"
 PREFERRED_VERSION_binutils-cross ?= "2.18"
 
@@ -61,11 +63,10 @@ PREFERRED_PROVIDER_virtual/libc = "glibc
 PREFERRED_PROVIDER_virtual/libiconv = "glibc"
 PREFERRED_PROVIDER_virtual/libintl = "glibc"
 PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
 PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
 PREFERRED_VERSION_linux-libc-headers ?= "2.6.23"
 PREFERRED_VERSION_glibc ?= "2.5"
-PREFERRED_VERSION_glibc-intermediate ?= "2.5"
 
 #
 # Bootstrap & Init
============================================================
--- conf/distro/nylon.conf	55b55fd58b093f18dc69ad389287e77c548403ae
+++ conf/distro/nylon.conf	93b37b27f5a8b665966cdcd8b90187ec5428f2bc
@@ -17,6 +17,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 INHERIT += "linux-kernel-base"
 
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
@@ -35,6 +36,7 @@ PREFERRED_VERSION_gcc-cross-initial = "3
 PREFERRED_VERSION_kismet = "2005-01-R1"
 
 PREFERRED_VERSION_gcc-cross-initial = "3.3.4"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.3.4"
 PREFERRED_VERSION_gcc-cross = "3.3.4"
 PREFERRED_VERSION_gcc-cross-sdk = "3.3.4" 
 PREFERRED_VERSION_gcc = "3.3.4"
@@ -50,6 +52,7 @@ PREFERRED_VERSION_gcc-cross-initial_mtx-
 
 #PREFERRED_VERSION_glibc_mtx-3 = "2.3.5+cvs20050627"
 PREFERRED_VERSION_gcc-cross-initial_mtx-3 = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate_mtx-3 = "3.4.4"
 PREFERRED_VERSION_gcc-cross_mtx-3 = "3.4.4"
 PREFERRED_VERSION_gcc-cross-sdk_mtx-3 = "3.4.4" 
 PREFERRED_VERSION_gcc_mtx-3 = "3.4.4"
@@ -71,6 +74,7 @@ PREFERRED_VERSION_gcc-cross-initial_mtx-
 
 #PREFERRED_VERSION_glibc_mtx-3a = "2.3.5+cvs20050627"
 PREFERRED_VERSION_gcc-cross-initial_mtx-3a = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate_mtx-3a = "3.4.4"
 PREFERRED_VERSION_gcc-cross_mtx-3a = "3.4.4"
 PREFERRED_VERSION_gcc-cross-sdk_mtx-3a = "3.4.4" 
 PREFERRED_VERSION_gcc_mtx-3a = "3.4.4"
============================================================
--- conf/distro/openprotium.conf	fa9e89af0f2d1321bd93fb2c08dfc7fa720a7d51
+++ conf/distro/openprotium.conf	982f64d7db8d48f170cd1aa284d266ddbc1030ce
@@ -45,9 +45,9 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_gcc-cross ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.2"
 
 PREFERRED_VERSION_glibc		     = "2.6.1"
-PREFERRED_VERSION_glibc-intermediate = "2.6.1"
 PREFERRED_VERSION_glibc-initial      = "2.6.1"
 
 PREFERRED_VERSION_linux-libc-headers = "2.6.11.1"
@@ -59,11 +59,12 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREF
 #
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/powerpc-linux-libc-for-gcc = "glibc"
 PREFERRED_PROVIDER_virtual/powerpc-linux-libc-initial = "glibc-initial"
 
 PREFERRED_PROVIDER_virtual/libc     = "glibc"
============================================================
--- conf/distro/oplinux-uclibc.conf	ded77d3149a141de656d62e5c1ed7e161f1e500d
+++ conf/distro/oplinux-uclibc.conf	af3019dae5fb6717311d042ac2f3114f99cdd50e
@@ -43,12 +43,14 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 # Binutils & Compiler
 #
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 
 PREFERRED_VERSION_gcc ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.1"
 PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
 PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
 
============================================================
--- conf/distro/oplinux.conf	0dbc9a811a5f426f5d3e4ead5a20330b56e51e41
+++ conf/distro/oplinux.conf	007c319d5693215e75c73b455c5c76a0f2465501
@@ -35,6 +35,7 @@ PREFERRED_PROVIDERS += "virtual/${TARGET
 TARGET_OS = "linux"
 
 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
 
@@ -51,14 +52,14 @@ PREFERRED_PROVIDER_virtual/libc ?= "glib
 PREFERRED_PROVIDER_virtual/libc ?= "glibc"
 
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-oplinux-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-oplinux-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-oplinux-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/mipsel-oplinux-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/sparc-oplinux-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-oplinux-linux-gnueabi-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-oplinux-linux-gnueabi-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/powerpc-oplinux-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/mipsel-oplinux-linux-libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_virtual/sparc-oplinux-linux-libc-for-gcc = "glibc"
 
 
 
@@ -84,6 +85,7 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_gcc-cross ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1"
 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "4.1.1"
 
 PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
 PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
@@ -96,7 +98,6 @@ PREFERRED_VERSION_glibc-initial ?= "2.5"
 PREFERRED_VERSION_linux-libc-headers ?= "2.6.18"
 
 PREFERRED_VERSION_glibc-initial ?= "2.5"
-PREFERRED_VERSION_glibc-intermediate ?= "2.5"
 PREFERRED_VERSION_glibc ?= "2.5"
 
 PCMCIA_MANAGER = "pcmciautils"
============================================================
--- conf/distro/sharprom-compatible.conf	866d17894061cd031cda619513332fa012433fa3
+++ conf/distro/sharprom-compatible.conf	89b78178c717a75e6dc950636c6903fbfb6fb989
@@ -41,6 +41,7 @@ PREFERRED_PROVIDER_virtual/arm-linux-gcc
 PREFERRED_PROVIDER_virtual/arm-linux-gcc = "sharprom-toolchain-native" 
 PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
 PREFERRED_PROVIDER_virtual/arm-linux-gcc-initial = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-gcc-intermediate = "sharprom-toolchain-native"
 
 PREFERRED_VERSION_glibc = "2.2.5"
 
============================================================
--- conf/distro/ucslugc.conf	13de2c9a77700ae97b0f7a3dbb79971cb6451ca6
+++ conf/distro/ucslugc.conf	bb32cc5c8cbf8d2446f2bf2eef140a2ccd04ee1d
@@ -10,6 +10,7 @@ PREFERRED_VERSION_gcc-cross-initial = "3
 TARGET_OS = "linux-uclibc"
 
 PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
 PREFERRED_VERSION_gcc-cross = "3.4.4"
 PREFERRED_VERSION_gcc = "3.4.4"
 
============================================================
--- conf/distro/unslung.conf	0ef6d906a67568b77e1f68fc1ac5c65f65586c67
+++ conf/distro/unslung.conf	a7d66feda58ef5de37cbaf33395cb0dd4e1e7586
@@ -42,6 +42,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 
 # Select between multiple alternative providers, if more than one is eligible.
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
@@ -54,6 +55,7 @@ PREFERRED_VERSION_gcc-cross-initial ?= "
 PREFERRED_VERSION_binutils ?= "2.15.94.0.1"
 PREFERRED_VERSION_binutils-cross ?= "2.15.94.0.1"
 PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "3.4.4"
 PREFERRED_VERSION_gcc-cross ?= "3.4.4"
 PREFERRED_VERSION_gcc ?= "3.4.4"
 PREFERRED_VERSION_glibc ?= "2.2.5"
============================================================
--- conf/distro/wrt54oe.conf	9d556281a94a6474ec9b7e6edffabcecd876b083
+++ conf/distro/wrt54oe.conf	511263e0f8d97edcbcab96283a7c703b27f7072b
@@ -14,11 +14,13 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 TARGET_OS = "linux-uclibc"
 
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:uclibc"
 
 PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
 PREFERRED_VERSION_gcc-cross = "3.4.4"
 PREFERRED_VERSION_gcc-cross-sdk = "3.4.4" 
 PREFERRED_VERSION_gcc = "3.4.4"
============================================================
--- conf/local.conf.sample	fa7f5ad0f812c943367b2c88b4e4f7165797959d
+++ conf/local.conf.sample	5164ed855456a3c58975fcfbad1c9da8dd8d60f2
@@ -51,6 +51,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGE
 PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie"
 PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-x11"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 
============================================================
--- conf/machine/native.conf	9f73a28ea65b27265df3e4afa2107401f9463ead
+++ conf/machine/native.conf	e4b8c17ba26581950b67bf9e306d9f1664c0741f
@@ -7,7 +7,7 @@ PREFERRED_PROVIDER_virtual/kernel = "nat
 VENDOR = "-oe"
 
 PREFERRED_PROVIDER_virtual/kernel = "native-kernel"
-ASSUME_PROVIDED += "virtual/gcc-initial virtual/gcc virtual/g++ virtual/libc virtual/libintl virtual/libiconv"
+ASSUME_PROVIDED += "virtual/gcc-initial virtual/gcc-intermediate virtual/gcc virtual/g++"
 ASSUME_PROVIDED += "binutils-cross"
 ASSUME_PROVIDED += "virtual/libiconv virtual/libintl virtual/libc"
 
============================================================
--- packages/eglibc/eglibc-initial.inc	9cc9a816e903fd588bfe9b6529f690d24297a54b
+++ packages/eglibc/eglibc-initial.inc	4b2b73384f3c8f940e42387057da88a76435f44c
@@ -1,5 +1,5 @@ SECTION = "libs"
 SECTION = "libs"
-DEPENDS = "linux-libc-headers"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
@@ -9,11 +9,13 @@ do_configure () {
 do_configure () {
 	sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
 	chmod +x ${S}/configure
-	CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" \
+        (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+        find ${S} -name "configure" | xargs touch
 	${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+		--prefix=/usr \
 		--without-cvs --disable-sanity-checks \
 		--with-headers=${STAGING_DIR_TARGET}${layout_includedir} \
-		--enable-hacker-mode
+		--enable-hacker-mode --enable-addons
 }
 
 do_compile () {
@@ -22,8 +24,14 @@ do_stage () {
 
 do_stage () {
 	oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \
-	includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers
+	includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers \
+	install-bootstrap-headers=yes
+        oe_runmake csu/subdir_lib
 
+        mkdir -p ${STAGING_DIR_TARGET}${layout_libdir}
+        install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir}
+        ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+                       -o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so
 }
 
 do_install () {
============================================================
--- packages/eglibc/eglibc.inc	20ecb0b8894a6fa79214db154c8cd4e8458d7237
+++ packages/eglibc/eglibc.inc	eef22ba34145bef9522d66a4eb30da587ba3e6a2
@@ -4,12 +4,12 @@ LICENSE = "LGPL"
 PRIORITY = "required"
 LICENSE = "LGPL"
 # nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
 #this leads to circular deps, so lets not add it yet
 #RDEPENDS_ldd += " bash"
 # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
-RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
-PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES += "virtual/libintl virtual/libiconv"
 
 inherit autotools
============================================================
--- packages/gcc/gcc-3.4.4.inc	b6121dbf8fda33791722c94759192ce86145319f
+++ packages/gcc/gcc-3.4.4.inc	db48eb2b8c53c3d57d561258a42cace119a70438
@@ -17,6 +17,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/g
 	   file://always-fixincperm.patch;patch=1 \
 	   file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \
 	   file://zecke-xgcc-cpp.patch;patch=1 \
+	   file://gcc-libgcc2-inhibit-libc.patch;patch=1 \
 	   file://gcc4-mtune-compat.patch;patch=1"
 
 SRC_URI += "file://gcc34-configure.in.patch;patch=1"
============================================================
--- packages/gcc/gcc-4.3.1.inc	c95319fe788a145ce0a5aecd6d6c270424e47e03
+++ packages/gcc/gcc-4.3.1.inc	7ee3a1d24f6fe58cc59653a6e65c7e8bcc68a8a7
@@ -45,7 +45,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc
 	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
 #	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 "
============================================================
--- packages/gcc/gcc-configure-cross.inc	703d1979546f41f4a81d5aed72bf335e2bc5c69e
+++ packages/gcc/gcc-configure-cross.inc	4882906171abcb3738dfefb319ad714053c3adbe
@@ -7,10 +7,6 @@ EXTRA_OECONF_PATHS = "--with-local-prefi
                       --with-sysroot=${STAGING_DIR_TARGET} \
                       --with-build-sysroot=${STAGING_DIR_TARGET}"
 
-do_configure_prepend () {
-	rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
-}
-
 do_compile_prepend () {
 	export CC="${BUILD_CC}"
 	export AR_FOR_TARGET="${TARGET_SYS}-ar"
============================================================
--- packages/gcc/gcc-cross-initial.inc	ad4596bca70fbc850a629b1582fafb6479bcb65d
+++ packages/gcc/gcc-cross-initial.inc	6dc1ca2688a86e10d96b345c271514ca7e6b0f1e
@@ -1,6 +1,4 @@ DEPENDS = "virtual/${TARGET_PREFIX}binut
 DEPENDS = "virtual/${TARGET_PREFIX}binutils"
-# @todo Please add comment on why this is (still?) needed?
-DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel', 'powerpc']]}"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 PACKAGES = ""
 
@@ -8,6 +6,7 @@ EXTRA_OECONF = "--with-local-prefix=${ST
 # sysroot is needed in case we use libc-initial
 EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
 		--with-newlib \
+		--without-headers \
 		--disable-shared \
 		--disable-threads \
 		--disable-multilib \
@@ -19,11 +18,6 @@ EXTRA_OECONF = "--with-local-prefix=${ST
 		--with-build-sysroot=${STAGING_DIR_TARGET} \
 		${@get_gcc_fpu_setting(bb, d)}"
 
-do_stage_prepend () {
-	mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
-	ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
-}
-
 do_install () {
 	:
 }
============================================================
--- packages/gcc/gcc-cross-initial_4.3.1.bb	4b22e8ec5d3911ce0553e074354f5ad218d7fce8
+++ packages/gcc/gcc-cross-initial_4.3.1.bb	1aadd72b822c32000450e9ae18faceef0112a99a
@@ -5,6 +5,7 @@ EXTRA_OECONF += " --disable-libmudflap \
 
 EXTRA_OECONF += " --disable-libmudflap \
 		  --disable-libgomp \
+		  --enable-decimal-float=no \
 		  --disable-libssp"
 
 # Hack till we fix *libc properly
============================================================
--- packages/glibc/glibc-initial.inc	0480105971d23c66b379db96774c07f2a0913989
+++ packages/glibc/glibc-initial.inc	7a1a79ecca0658f29a905c2140d27445a57bad55
@@ -1,5 +1,5 @@ SECTION = "libs"
 SECTION = "libs"
-DEPENDS = "linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
@@ -9,7 +9,8 @@ do_configure () {
 do_configure () {
 	sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
 	chmod +x ${S}/configure
-	CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+	find ${S} -name "configure" | xargs touch
+	${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
 		--without-cvs --disable-sanity-checks \
 		--with-headers=${STAGING_DIR_TARGET}${layout_includedir} \
 		--enable-hacker-mode
@@ -30,8 +31,11 @@ do_stage () {
 }
 
 do_stage () {
-	oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers
+	oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \
+	includedir='${layout_includedir}' prefix='${layout_prefix}' \
+	install-bootstrap-headers=yes install-headers
 
+	oe_runmake csu/subdir_lib
 	# Two headers -- stubs.h and features.h -- aren't installed by install-headers,
 	# so do them by hand.  We can tolerate an empty stubs.h for the moment.
 	# See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
@@ -42,6 +46,10 @@ do_stage () {
 	if [ -e ${B}/bits/stdio_lim.h ]; then
 		cp ${B}/bits/stdio_lim.h  ${STAGING_INCDIR}/bits/
 	fi
+	mkdir -p ${STAGING_DIR_TARGET}${layout_libdir}
+	install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir}
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so
 }
 
 do_install () {
============================================================
--- packages/glibc/glibc-initial_2.5.bb	c87dce64dc313f734e0764420892401b0c7301ee
+++ packages/glibc/glibc-initial_2.5.bb	717f9cbf298c7866010b883caec46b01814a1ca4
@@ -5,7 +5,7 @@ do_configure () {
 	sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
 	chmod +x ${S}/configure
 	unset CFLAGS
-	CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+	${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
 		--without-cvs --disable-sanity-checks \
 		--with-headers=${STAGING_INCDIR} \
 		--enable-hacker-mode
============================================================
--- packages/glibc/glibc-stage.inc	8abe1d7d9fd4c34d725a7f26db2110bb66ec3e16
+++ packages/glibc/glibc-stage.inc	9add53332fea43aff1a7efdeba79858facecfc1a
@@ -3,7 +3,7 @@ do_stage() {
 	oe_runmake 'install_root=${STAGING_DIR_HOST}' \
 		   'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \
 		   '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \
-		   install-headers install-lib
+		   install
 
 	install -d ${STAGING_INCDIR}/gnu \
 		   ${STAGING_INCDIR}/bits \
@@ -15,9 +15,4 @@ do_stage() {
 		h=`echo $r|sed -e's,\.x$,.h,'`
 		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
 	done
-	for i in libc.a libc_pic.a libc_nonshared.a; do
-		install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_libdir}/ || die "failed to install $i"
-	done
-	echo 'GROUP ( ${layout_base_libdir}/libpthread.so.0 ${layout_libdir}/libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_libdir}/libpthread.so
-	echo 'GROUP ( ${layout_base_libdir}/libc.so.6 ${layout_libdir}/libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_libdir}/libc.so
 }
============================================================
--- packages/glibc/glibc.inc	94a32473f1193137d45da97d6ed786ae9e755094
+++ packages/glibc/glibc.inc	d7da3e08d193524257645bad4468dbb3dd7ed044
@@ -4,12 +4,12 @@ LICENSE = "LGPL"
 PRIORITY = "required"
 LICENSE = "LGPL"
 # nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
 #this leads to circular deps, so lets not add it yet
 #RDEPENDS_ldd += " bash"
 # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
-RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
-PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES += "virtual/libintl virtual/libiconv"
 
 inherit autotools
============================================================
--- packages/glibc/glibc_2.3.6.bb	a180c138b01077df8b234264ee6abd46cbf72314
+++ packages/glibc/glibc_2.3.6.bb	7ce57da5312cee1deb44c097867123d097f84146
@@ -19,13 +19,16 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gli
            ${CROSSTOOL_PATCH_URL}glibc-2.3.6-fix-pr631.patch;patch=1 \
            ${CROSSTOOL_PATCH_URL}glibc-fp-byteorder.patch;patch=1 \
            ${CROSSTOOL_PATCH_URL}glibc-mips-bootstrap-gcc-header-install.patch;patch=1 \
+           ${CROSSTOOL_PATCH_URL}arm-ctl_bus_isa.patch;patch=1 \
            ${CROSSTOOL_PATCH_URL}make-install-lib-all.patch;patch=1 \
            ${CROSSTOOL_PATCH_URL}maybe/glibc-2.3.6-allow-gcc-4.0-powerpc32.patch;patch=1 \
            file://glibc-2.3.6-bind-already-defined-on-powerpc.patch;patch=1 \
            file://glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch;patch=1 \
            file://glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch;patch=1 \
-           file://late-install-loop-break.patch \
-	   \
+           file://late-install-loop-break.patch;patch=1 \
+           file://glibc-arm-socket-weakalias.patch;patch=1 \
+           file://glibc-2.3.6-linuxthreads-pthread-raise.patch;patch=1 \
+           file://glibc-cross_sunrpc.patch;patch=1 \
            file://etc/ld.so.conf \
 	   file://generate-supported.mk"
 
@@ -60,7 +63,7 @@ do_configure () {
 		exit 1
 	fi
 	(cd ${S} && gnu-configize) || die "failure in running gnu-configize"
-	CPPFLAGS="" oe_runconf
+	CPPFLAGS="" libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes oe_runconf
 }
 
 rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
============================================================
--- packages/glibc/glibc_2.5.bb	3c1686afff4b72f25b0ee4879fa7df5bed91c6b3
+++ packages/glibc/glibc_2.5.bb	330520507426ad66fcbf5a266a8aa5845504a744
@@ -48,6 +48,7 @@ SRC_URI = "\
   file://glibc-check_pf.patch;patch=1;pnum=0 \
   file://zecke-sane-readelf.patch;patch=1 \
   file://ldd-unbash.patch;patch=1 \
+  file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
   file://generic-bits_select.h \
   file://generic-bits_types.h \
   file://generic-bits_typesizes.h \
============================================================
--- packages/glibc/glibc_2.6.1.bb	8b5e0d298c84d71b8a15be26527883a393e5483d
+++ packages/glibc/glibc_2.6.1.bb	17745de42ba1ebc4c1d4242154c294e27aa5a73c
@@ -56,6 +56,7 @@ SRC_URI = "\
   file://etc/ld.so.conf \
   file://generate-supported.mk \
   file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \
+  file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
 "
 
 # Build fails on sh3 and sh4 without additional patches
============================================================
--- packages/glibc/glibc_2.7.bb	02c169c2754286db4f842bbe42a680e438defb73
+++ packages/glibc/glibc_2.7.bb	73c2cf870a5fd5c6da7625ada47fefdf0948c1be
@@ -12,7 +12,7 @@ TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGE
 TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}"
 
 
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-2.4"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
 GLIBC_ADDONS ?= "ports,nptl,libidn"
 
@@ -58,6 +58,8 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gli
 #	   file://zecke-sane-readelf.patch;patch=1 \
            file://ldd-unbash.patch;patch=1 \
 	   file://glibc-arm-IO-acquire-lock-fix.diff;patch=1 \
+	   file://all_glibc-i586-chk.patch;patch=1 \
+	   file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
 	   file://generic-bits_select.h \
 	   file://generic-bits_types.h \
 	   file://generic-bits_typesizes.h \
============================================================
--- packages/meta/external-toolchain.bb	ebcd8679c393d51824573b5a70c7a071f8521117
+++ packages/meta/external-toolchain.bb	fe769763ba169fd561e2c5f1153726281afa9952
@@ -6,6 +6,7 @@ PROVIDES = "\
     linux-libc-headers \
     virtual/${TARGET_PREFIX}gcc \
     virtual/${TARGET_PREFIX}gcc-initial \
+    virtual/${TARGET_PREFIX}gcc-intermediate \
     virtual/${TARGET_PREFIX}binutils \
     virtual/${TARGET_PREFIX}libc-for-gcc \
     virtual/libc \
============================================================
--- packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb	63c582236d5e631780a864456ba4db4862602a0e
+++ packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb	8e92e1882cb3bc63515abe5cc42b6577706e118d
@@ -12,6 +12,7 @@ PROVIDES_sharprom-compatible = "\
   virtual/libiconv \
   virtual/arm-linux-gcc \
   virtual/arm-linux-libc-for-gcc \
+  virtual/arm-linux-gcc-intermediate \
   virtual/arm-linux-gcc-initial "
 PR = "r2"
 
============================================================
--- packages/uclibc/uclibc-initial_0.9.26.bb	4add23305e16ae6d0973c44aae89b3f01d0f5bf8
+++ packages/uclibc/uclibc-initial_0.9.26.bb	a184826f227450c3799472708b38d95c759f1457
@@ -3,20 +3,26 @@ FILESPATH = "${@base_set_filespath([ '${
 
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
-DEPENDS = "linux-libc-headers"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 PACKAGES = ""
 
 do_stage() {
 	# Install initial headers into the cross dir
-	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		pregen install_dev
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		install_headers
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		lib/crt1.o lib/crti.o lib/crtn.o
 
 	ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
 
 	# This conflicts with the c++ version of this header
-	rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h
+	rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+	install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
 }
 
 do_install() {
============================================================
--- packages/uclibc/uclibc-initial_0.9.27.bb	4add23305e16ae6d0973c44aae89b3f01d0f5bf8
+++ packages/uclibc/uclibc-initial_0.9.27.bb	bf5a03c0a95f607474c7585a1cdaec562bbb1747
@@ -3,20 +3,27 @@ FILESPATH = "${@base_set_filespath([ '${
 
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
-DEPENDS = "linux-libc-headers"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 PACKAGES = ""
 
 do_stage() {
 	# Install initial headers into the cross dir
-	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		pregen install_dev
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		install_headers
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		lib/crt1.o lib/crti.o lib/crtn.o
 
 	ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
 
 	# This conflicts with the c++ version of this header
-	rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h
+	rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+	install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
+
 }
 
 do_install() {
============================================================
--- packages/uclibc/uclibc-initial_0.9.28.bb	4add23305e16ae6d0973c44aae89b3f01d0f5bf8
+++ packages/uclibc/uclibc-initial_0.9.28.bb	bf5a03c0a95f607474c7585a1cdaec562bbb1747
@@ -3,20 +3,27 @@ FILESPATH = "${@base_set_filespath([ '${
 
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
-DEPENDS = "linux-libc-headers"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 PACKAGES = ""
 
 do_stage() {
 	# Install initial headers into the cross dir
-	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \
-		pregen install_dev
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		install_headers
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		lib/crt1.o lib/crti.o lib/crtn.o
 
 	ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
 
 	# This conflicts with the c++ version of this header
-	rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h
+	rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+	install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
+
 }
 
 do_install() {
============================================================
--- packages/uclibc/uclibc-initial_0.9.29.bb	d9cf01fb4dec69ff1f796d39c9078030982eacca
+++ packages/uclibc/uclibc-initial_0.9.29.bb	af0ccde83d59f1948f1f2b5f7d4952d4855c58bc
@@ -3,7 +3,7 @@ FILESPATH = "${@base_set_filespath([ '${
 
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
-DEPENDS = "linux-libc-headers ncurses-native"
+DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 PACKAGES = ""
 
@@ -11,13 +11,20 @@ do_stage() {
 	# Install initial headers into the cross dir
 	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
 		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
-		pregen install_dev
+		install_headers
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		lib/crt1.o lib/crti.o lib/crtn.o
 
 	install -d ${CROSS_DIR}/${TARGET_SYS}	
 	ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
 
 	# This conflicts with the c++ version of this header
 	rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+	install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
+
 }
 
 do_install() {
============================================================
--- packages/uclibc/uclibc-initial_svn.bb	2715cc791b3fdd1b8e62328291e3ef33973bacc0
+++ packages/uclibc/uclibc-initial_svn.bb	766c264be7d787f2285f02b13a392f43cb2a87d2
@@ -3,7 +3,7 @@ FILESPATH = "${@base_set_filespath([ '${
 
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
 
-DEPENDS = "linux-libc-headers ncurses-native"
+DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial"
 PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
 PACKAGES = ""
 
@@ -11,12 +11,18 @@ do_stage() {
 	# Install initial headers into the cross dir
 	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
 		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
-		pregen install_dev
+		install_headers
+	make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+		lib/crt1.o lib/crti.o lib/crtn.o
 
 	ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
 
 	# This conflicts with the c++ version of this header
 	rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+	install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+	${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+		-o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
 }
 
 do_install() {
============================================================
--- packages/uclibc/uclibc.inc	48b0ba2e4cff05071b3b812ef0be0861870cd00c
+++ packages/uclibc/uclibc.inc	4f97a9d058115dbb12ae1c5d047fb84965500a51
@@ -22,7 +22,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binut
 PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES += "${@['virtual/libiconv', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']}"
 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
-	   virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers ncurses-native"
+	   virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers ncurses-native"
 RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
 
 # Blackfin needs a wrapper around ld

  parent reply	other threads:[~2008-07-22  0:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-15  1:58 [RFC]: Toolchain build sequence alteration Khem Raj
2008-07-15  7:34 ` Henning Heinold
2008-07-16  8:10 ` Khem Raj
2008-07-16  8:46   ` Koen Kooi
2008-07-16 15:27     ` Khem Raj
2008-07-16 20:43   ` Leon Woestenberg
2008-07-17  8:43     ` Khem Raj
2008-07-22  0:28     ` Khem Raj [this message]
     [not found]     ` <20080720014112.GA13759@oberlord>
2008-07-23  9:04       ` Khem Raj
2008-07-24  9:10         ` Richard Purdie
2008-07-24 16:05           ` Richard Purdie
2008-07-24 16:18             ` Koen Kooi
2008-07-25  7:33               ` Khem Raj
2008-07-25 10:01                 ` Henning Heinold
2008-07-25 16:06                   ` Khem Raj
2008-07-28  6:27           ` SH7760 Problems Stefano Regno
2008-08-02 12:03 ` [RFC]: Toolchain build sequence alteration Koen Kooi
2008-08-02 15:14   ` Phil Blundell
2008-08-02 15:45     ` Koen Kooi
2008-08-03  2:47       ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=488529d2.0b97600a.428e.3313@mx.google.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.