Remove gdbtypes special case from init.c rule
authorTom Tromey <tom@tromey.com>
Mon, 24 Dec 2018 17:07:51 +0000 (10:07 -0700)
committerTom Tromey <tom@tromey.com>
Thu, 27 Dec 2018 20:15:31 +0000 (13:15 -0700)
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-27  Tom Tromey  <tom@tromey.com>

* Makefile.in (stamp-init): Remove gdbtypes special case.

gdb/ChangeLog
gdb/Makefile.in

index 39b1b02..33cc257 100644 (file)
@@ -1,3 +1,7 @@
+2018-12-27  Tom Tromey  <tom@tromey.com>
+
+       * Makefile.in (stamp-init): Remove gdbtypes special case.
+
 2018-12-27  John Baldwin  <jhb@FreeBSD.org>
 
        * config/i386/nm-fbsd.h: Remove file.
index 90b0a72..1adbbca 100644 (file)
@@ -1835,18 +1835,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
@@ -1860,13 +1848,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' \
@@ -1875,7 +1861,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