[RFA,30/42] Remove buildsym_init

Message ID 20180523045851.11660-31-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey May 23, 2018, 4:58 a.m. UTC
  Now that buildsym_init does nothing, it can be removed.

gdb/ChangeLog
2018-05-22  Tom Tromey  <tom@tromey.com>

	* xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
	(xcoff_new_init): Update.
	* mipsread.c (mipscoff_new_init): Update.
	* mdebugread.c (mdebug_build_psymtabs): Update.
	* elfread.c (elf_new_init): Update.
	* dwarf2read.c (process_full_comp_unit, process_full_type_unit):
	Update.
	* dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
	(coffstab_build_psymtabs, elfstab_build_psymtabs)
	(stabsect_build_psymtabs): Update.
	* buildsym.h (buildsym_init): Don't declare.
	* buildsym.c: Update comment.
	(prepare_for_building): Remove.
	(start_symtab, restart_symtab): Update.
	(reset_symtab_globals): Update comment.
	(buildsym_init): Remove.
---
 gdb/ChangeLog    | 19 +++++++++++++++++++
 gdb/buildsym.c   | 42 +++++++-----------------------------------
 gdb/buildsym.h   |  2 --
 gdb/dbxread.c    |  5 -----
 gdb/dwarf2read.c |  2 --
 gdb/elfread.c    |  1 -
 gdb/mdebugread.c |  1 -
 gdb/mipsread.c   |  1 -
 gdb/xcoffread.c  |  2 --
 9 files changed, 26 insertions(+), 49 deletions(-)
  

Comments

Simon Marchi July 10, 2018, 3:41 a.m. UTC | #1
On 2018-05-23 12:58 AM, Tom Tromey wrote:
> Now that buildsym_init does nothing, it can be removed.

Good milestone, LGTM!

Simon
  

Patch

diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 0e21cfd83a..fec06f3d88 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -25,7 +25,6 @@ 
 
    The basic way this module is used is as follows:
 
-   buildsym_init ();
    scoped_free_pendings free_pending;
    cust = start_symtab (...);
    ... read debug info ...
@@ -40,7 +39,6 @@ 
 
    Reading DWARF Type Units is another variation:
 
-   buildsym_init ();
    scoped_free_pendings free_pending;
    cust = start_symtab (...);
    ... read debug info ...
@@ -49,7 +47,6 @@ 
    And then reading subsequent Type Units within the containing "Comp Unit"
    will use a second flow:
 
-   buildsym_init ();
    scoped_free_pendings free_pending;
    cust = restart_symtab (...);
    ... read debug info ...
@@ -57,7 +54,6 @@ 
 
    dbxread.c and xcoffread.c use another variation:
 
-   buildsym_init ();
    scoped_free_pendings free_pending;
    cust = start_symtab (...);
    ... read debug info ...
@@ -1000,19 +996,6 @@  get_macro_table (void)
   return buildsym_compunit->get_macro_table ();
 }
 
-/* Init state to prepare for building a symtab.
-   Note: This can't be done in buildsym_init because dbxread.c and xcoffread.c
-   can call start_symtab+end_symtab multiple times after one call to
-   buildsym_init.  */
-
-static void
-prepare_for_building ()
-{
-  /* These should have been reset either by successful completion of building
-     a symtab, or by the scoped_free_pendings destructor.  */
-  gdb_assert (buildsym_compunit == nullptr);
-}
-
 /* Start a new symtab for a new source file in OBJFILE.  Called, for example,
    when a stabs symbol of type N_SO is seen, or when a DWARF
    TAG_compile_unit DIE is seen.  It indicates the start of data for
@@ -1029,7 +1012,9 @@  struct compunit_symtab *
 start_symtab (struct objfile *objfile, const char *name, const char *comp_dir,
 	      CORE_ADDR start_addr, enum language language)
 {
-  prepare_for_building ();
+  /* These should have been reset either by successful completion of building
+     a symtab, or by the scoped_free_pendings destructor.  */
+  gdb_assert (buildsym_compunit == nullptr);
 
   buildsym_compunit = new struct buildsym_compunit (objfile, name, comp_dir,
 						    language, start_addr);
@@ -1066,7 +1051,9 @@  void
 restart_symtab (struct compunit_symtab *cust,
 		const char *name, CORE_ADDR start_addr)
 {
-  prepare_for_building ();
+  /* These should have been reset either by successful completion of building
+     a symtab, or by the scoped_free_pendings destructor.  */
+  gdb_assert (buildsym_compunit == nullptr);
 
   buildsym_compunit
     = new struct buildsym_compunit (COMPUNIT_OBJFILE (cust),
@@ -1150,11 +1137,7 @@  watch_main_source_file_lossage (void)
     }
 }
 
-/* Reset state after a successful building of a symtab.
-   This exists because dbxread.c and xcoffread.c can call
-   start_symtab+end_symtab multiple times after one call to buildsym_init,
-   and before the scoped_free_pendings destructor is called.
-   We keep the free_pendings list around for dbx/xcoff sake.  */
+/* Reset state after a successful building of a symtab.  */
 
 static void
 reset_symtab_globals (void)
@@ -1767,14 +1750,3 @@  get_global_symbols ()
   gdb_assert (buildsym_compunit != nullptr);
   return &buildsym_compunit->m_global_symbols;
 }
-
-
-
-/* Initialize anything that needs initializing when starting to read a
-   fresh piece of a symbol file, e.g. reading in the stuff
-   corresponding to a psymtab.  */
-
-void
-buildsym_init ()
-{
-}
diff --git a/gdb/buildsym.h b/gdb/buildsym.h
index 71d133e6ad..b6d16876d6 100644
--- a/gdb/buildsym.h
+++ b/gdb/buildsym.h
@@ -171,8 +171,6 @@  extern struct compunit_symtab *end_expandable_symtab (CORE_ADDR end_addr,
 
 extern void augment_type_symtab (void);
 
-extern void buildsym_init ();
-
 extern struct context_stack *push_context (int desc, CORE_ADDR valu);
 
 extern struct context_stack *pop_context (void);
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 989ce77be2..d660157a61 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -568,7 +568,6 @@  static void
 dbx_new_init (struct objfile *ignore)
 {
   stabsread_new_init ();
-  buildsym_init ();
   init_header_files ();
 }
 
@@ -2224,7 +2223,6 @@  dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst)
     {
       /* Init stuff necessary for reading in symbols */
       stabsread_init ();
-      buildsym_init ();
       scoped_free_pendings free_pending;
       file_string_table_offset = FILE_STRING_OFFSET (pst);
       symbol_size = SYMBOL_SIZE (pst);
@@ -3103,7 +3101,6 @@  coffstab_build_psymtabs (struct objfile *objfile,
     perror_with_name (name);
 
   stabsread_new_init ();
-  buildsym_init ();
   free_header_files ();
   init_header_files ();
 
@@ -3192,7 +3189,6 @@  elfstab_build_psymtabs (struct objfile *objfile, asection *stabsect,
     perror_with_name (name);
 
   stabsread_new_init ();
-  buildsym_init ();
   free_header_files ();
   init_header_files ();
 
@@ -3292,7 +3288,6 @@  stabsect_build_psymtabs (struct objfile *objfile, char *stab_name,
     perror_with_name (name);
 
   stabsread_new_init ();
-  buildsym_init ();
   free_header_files ();
   init_header_files ();
 
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index b73f13bb19..9753a5b57d 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -10275,7 +10275,6 @@  process_full_comp_unit (struct dwarf2_per_cu_data *per_cu,
 
   baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
 
-  buildsym_init ();
   scoped_free_pendings free_pending;
 
   /* Clear the list here in case something was left over.  */
@@ -10378,7 +10377,6 @@  process_full_type_unit (struct dwarf2_per_cu_data *per_cu,
   gdb_assert (per_cu->is_debug_types);
   sig_type = (struct signatured_type *) per_cu;
 
-  buildsym_init ();
   scoped_free_pendings free_pending;
 
   /* Clear the list here in case something was left over.  */
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 8978f15e88..9bbd0c85e4 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -1325,7 +1325,6 @@  static void
 elf_new_init (struct objfile *ignore)
 {
   stabsread_new_init ();
-  buildsym_init ();
 }
 
 /* Perform any local cleanups required when we are done with a particular
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 1045426c67..466e36599b 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -345,7 +345,6 @@  mdebug_build_psymtabs (minimal_symbol_reader &reader,
   debug_info = info;
 
   stabsread_new_init ();
-  buildsym_init ();
   free_header_files ();
   init_header_files ();
         
diff --git a/gdb/mipsread.c b/gdb/mipsread.c
index 3bdc50733d..52130dab20 100644
--- a/gdb/mipsread.c
+++ b/gdb/mipsread.c
@@ -54,7 +54,6 @@  static void
 mipscoff_new_init (struct objfile *ignore)
 {
   stabsread_new_init ();
-  buildsym_init ();
 }
 
 /* Initialize to read a symbol file (nothing to do).  */
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 4ccc5bf7fc..6b561a82b3 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -1875,7 +1875,6 @@  xcoff_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst)
     {
       /* Init stuff necessary for reading in symbols.  */
       stabsread_init ();
-      buildsym_init ();
 
       scoped_free_pendings free_pending;
       read_xcoff_symtab (objfile, pst);
@@ -1927,7 +1926,6 @@  static void
 xcoff_new_init (struct objfile *objfile)
 {
   stabsread_new_init ();
-  buildsym_init ();
 }
 
 /* Do initialization in preparation for reading symbols from OBJFILE.