# 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
@$(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' \
-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