[1/3] Remove gdbtypes special case from init.c rule

Message ID 20181224210927.16741-2-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey Dec. 24, 2018, 9:09 p.m. UTC
  The rule to make init.c has a special case for gdbtypes, with a long
explanatory comment.  All of this is obsolete, as the globals referred
to by the comment no longer exist.  This patch simplifies the rule.

gdb/ChangeLog
2018-12-24  Tom Tromey  <tom@tromey.com>

	* Makefile.in (stamp-init): Remove gdbtypes special case.
---
 gdb/ChangeLog   |  4 ++++
 gdb/Makefile.in | 16 +---------------
 2 files changed, 5 insertions(+), 15 deletions(-)
  

Patch

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index a2cf02e1a9..38d00b0632 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1836,18 +1836,6 @@  test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY)
 # FIXME: There is a problem with this approach - init.c may force
 # unnecessary files to be linked in.
 
-# FIXME: cagney/2002-06-09: gdb/564: gdb/563: Force the order so that
-# the first call is to _initialize_gdbtypes (implemented by explicitly
-# putting that function's name first in the init.l-tmp file).  This is
-# a hack to ensure that all the architecture dependant global
-# builtin_type_* variables are initialized before anything else
-# (per-architecture code is called in the same order that it is
-# registered).  The ``correct fix'' is to have all the builtin types
-# made part of the architecture and initialize them on-demand (using
-# gdbarch_data) just like everything else.  The catch is that other
-# modules still take the address of these builtin types forcing them
-# to be variables, sigh!
-
 # NOTE: cagney/2003-03-18: The sed pattern ``s|^\([^ /]...'' is
 # anchored on the first column and excludes the ``/'' character so
 # that it doesn't add the $(srcdir) prefix to any file that already
@@ -1861,13 +1849,11 @@  stamp-init: $(INIT_FILES)
 	@$(ECHO_INIT_C) echo "Making init.c"
 	@rm -f init.c-tmp init.l-tmp
 	@touch init.c-tmp
-	@echo gdbtypes > init.l-tmp
 	@-LANG=C ; export LANG ; \
 	LC_ALL=C ; export LC_ALL ; \
 	echo $(INIT_FILES) | \
 	tr ' ' '\012' | \
 	sed \
-	    -e '/^gdbtypes.[co]$$/d' \
 	    -e '/^init.[co]$$/d' \
 	    -e '/version.[co]$$/d' \
 	    -e '/^[a-z0-9A-Z_]*_[SU].[co]$$/d' \
@@ -1876,7 +1862,7 @@  stamp-init: $(INIT_FILES)
 	    -e 's|^\([^  /][^     ]*\)|$(srcdir)/\1|g' | \
 	while read f; do \
 	    sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/\1/p' $$f 2>/dev/null; \
-	done >> init.l-tmp
+	done > init.l-tmp
 	@echo '/* Do not modify this file.  */' >>init.c-tmp
 	@echo '/* It is created automatically by the Makefile.  */'>>init.c-tmp
 	@echo '#include "defs.h"      /* For initialize_file_ftype.  */' >>init.c-tmp