diff --git a/Makefile.def b/Makefile.def
index e015a7aaeb76555b929c8694f748f5cdd4facdcd..d70020d743dbdc1565fda96eb073b9815fede274 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -89,8 +89,10 @@ host_modules= { module= libcody; bootstrap=true;
 		missing= info;
 		missing= install-pdf;
 		missing= install-html;
-		missing= install-info; };
-host_modules= { module= libdecnumber; bootstrap=true; };
+		missing= install-info;
+		missing=TAGS; };
+host_modules= { module= libdecnumber; bootstrap=true;
+		missing=TAGS; };
 host_modules= { module= libgui; };
 host_modules= { module= libiberty; bootstrap=true;
 	        extra_configure_flags='@extra_host_libiberty_configure_flags@';};
@@ -134,7 +136,8 @@ host_modules= { module= libtermcap; no_check=true;
                 missing=distclean;
                 missing=maintainer-clean; };
 host_modules= { module= utils; no_check=true; };
-host_modules= { module= c++tools; };
+host_modules= { module= c++tools;
+                missing=TAGS; };
 host_modules= { module= gnattools; };
 host_modules= { module= lto-plugin; bootstrap=true;
 		extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
@@ -160,11 +163,13 @@ target_modules = { module= liboffloadmic;
 		   extra_configure_flags='@extra_liboffloadmic_configure_flags@'; };
 target_modules = { module= libssp; lib_path=.libs; };
 target_modules = { module= newlib; };
-target_modules = { module= libgcc; bootstrap=true; no_check=true; };
+target_modules = { module= libgcc; bootstrap=true; no_check=true;
+		  missing=TAGS; };
 target_modules = { module= libbacktrace; };
 target_modules = { module= libquadmath; };
 target_modules = { module= libgfortran; };
-target_modules = { module= libobjc; };
+target_modules = { module= libobjc;
+		  missing=TAGS; };
 target_modules = { module= libgo; };
 target_modules = { module= libphobos;
 		   lib_path=src/.libs; };
diff --git a/Makefile.in b/Makefile.in
index 9219ebfb02b6f44d0b16f80317f2d43375cac384..27e8a680d10a6323c5f7709fb297d984886ef30d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -25921,23 +25921,8 @@ maybe-TAGS-libcody:
 @if libcody
 maybe-TAGS-libcody: TAGS-libcody
 
-TAGS-libcody: \
-    configure-libcody 
-	@[ -f ./libcody/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
-	for flag in $(EXTRA_HOST_FLAGS) ; do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	echo "Doing TAGS in libcody"; \
-	(cd $(HOST_SUBDIR)/libcody && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	          TAGS) \
-	  || exit 1
+# libcody doesn't support TAGS.
+TAGS-libcody:
 
 @endif libcody
 
@@ -26987,23 +26972,8 @@ maybe-TAGS-libdecnumber:
 @if libdecnumber
 maybe-TAGS-libdecnumber: TAGS-libdecnumber
 
-TAGS-libdecnumber: \
-    configure-libdecnumber 
-	@[ -f ./libdecnumber/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
-	for flag in $(EXTRA_HOST_FLAGS) ; do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	echo "Doing TAGS in libdecnumber"; \
-	(cd $(HOST_SUBDIR)/libdecnumber && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	          TAGS) \
-	  || exit 1
+# libdecnumber doesn't support TAGS.
+TAGS-libdecnumber:
 
 @endif libdecnumber
 
@@ -38319,24 +38289,8 @@ maybe-TAGS-c++tools:
 @if c++tools
 maybe-TAGS-c++tools: TAGS-c++tools
 
-TAGS-c++tools: \
-    configure-c++tools 
-	@: $(MAKE); $(unstage)
-	@[ -f ./c++tools/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
-	for flag in $(EXTRA_HOST_FLAGS) ; do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	echo "Doing TAGS in c++tools"; \
-	(cd $(HOST_SUBDIR)/c++tools && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	          TAGS) \
-	  || exit 1
+# c++tools doesn't support TAGS.
+TAGS-c++tools:
 
 @endif c++tools
 
@@ -48225,24 +48179,8 @@ maybe-TAGS-target-libgcc:
 @if target-libgcc
 maybe-TAGS-target-libgcc: TAGS-target-libgcc
 
-TAGS-target-libgcc: \
-    configure-target-libgcc 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing TAGS in $(TARGET_SUBDIR)/libgcc"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libgcc && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           TAGS) \
-	  || exit 1
+# libgcc doesn't support TAGS.
+TAGS-target-libgcc:
 
 @endif target-libgcc
 
@@ -50057,24 +49995,8 @@ maybe-TAGS-target-libobjc:
 @if target-libobjc
 maybe-TAGS-target-libobjc: TAGS-target-libobjc
 
-TAGS-target-libobjc: \
-    configure-target-libobjc 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libobjc && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           TAGS) \
-	  || exit 1
+# libobjc doesn't support TAGS.
+TAGS-target-libobjc:
 
 @endif target-libobjc