diff --git a/ChangeLog b/ChangeLog
index 2fd95c81af79eb184be53e37324a245c8b559c81..213ae74f42da2fb3581e3572f62c2a8e4f83160d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
 
+	* Makefile.tpl: Make GCC use a separate config.cache.
+	* Makefile.in: Regenerate.
+
 	PR bootstrap/11932, PR bootstrap/11933
 	(I don't know if it will fix either of them, but it relates
 	to them.)
diff --git a/Makefile.in b/Makefile.in
index 8fe85ff369f621a92f2bb96de877bf0869e8d733..c8dad9cc65d7cd4875b9cf444f34d71281693900 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -23572,6 +23572,9 @@ install-target-rda: installdirs
 # build modules.  So GCC is a sort of hybrid.
 
 # gcc is the only module which uses GCC_FLAGS_TO_PASS.
+# Don't use shared host config.cache, as it will confuse later
+# directories; GCC wants slightly different values for some
+# precious variables.  *sigh*
 .PHONY: configure-gcc maybe-configure-gcc
 maybe-configure-gcc:
 configure-gcc:
@@ -23609,7 +23612,7 @@ configure-gcc:
 	    libsrcdir="$$s/gcc";; \
 	esac; \
 	$(SHELL) $${libsrcdir}/configure \
-	  $(HOST_CONFIGARGS) $${srcdiroption} \
+	  $(HOST_CONFIGARGS) $${srcdiroption} --cache-file=config.cache \
 	  || exit 1
 
 # Don't 'make all' in gcc if it's already been made by 'bootstrap'; that
diff --git a/Makefile.tpl b/Makefile.tpl
index 3b545c460953a27ea4a3025477167d92214efbd0..af5b2910c8c00156f7490a826789199b89a399b1 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1069,6 +1069,9 @@ install-target-[+module+]: installdirs
 # build modules.  So GCC is a sort of hybrid.
 
 # gcc is the only module which uses GCC_FLAGS_TO_PASS.
+# Don't use shared host config.cache, as it will confuse later
+# directories; GCC wants slightly different values for some
+# precious variables.  *sigh*
 .PHONY: configure-gcc maybe-configure-gcc
 maybe-configure-gcc:
 configure-gcc:
@@ -1106,7 +1109,7 @@ configure-gcc:
 	    libsrcdir="$$s/gcc";; \
 	esac; \
 	$(SHELL) $${libsrcdir}/configure \
-	  $(HOST_CONFIGARGS) $${srcdiroption} \
+	  $(HOST_CONFIGARGS) $${srcdiroption} --cache-file=config.cache \
 	  || exit 1
 
 # Don't 'make all' in gcc if it's already been made by 'bootstrap'; that