diff options
-rw-r--r-- | gdb/ChangeLog | 20 | ||||
-rw-r--r-- | gdb/buildsym.c | 42 | ||||
-rw-r--r-- | gdb/buildsym.h | 2 | ||||
-rw-r--r-- | gdb/coffread.c | 1 | ||||
-rw-r--r-- | gdb/dbxread.c | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 2 | ||||
-rw-r--r-- | gdb/elfread.c | 1 | ||||
-rw-r--r-- | gdb/mdebugread.c | 1 | ||||
-rw-r--r-- | gdb/mipsread.c | 1 | ||||
-rw-r--r-- | gdb/xcoffread.c | 2 |
10 files changed, 27 insertions, 50 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2176298..308b067 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,25 @@ 2018-07-20 Tom Tromey <tom@tromey.com> + * coffread.c (coff_symtab_read): Update. + * 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. + +2018-07-20 Tom Tromey <tom@tromey.com> + * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update. * stabsread.c (patch_block_stabs, define_symbol, read_type) (read_enum_type, common_block_start, common_block_end) diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 5503132..d7f8f48 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 ... @@ -985,19 +981,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 @@ -1014,7 +997,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); @@ -1051,7 +1036,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), @@ -1135,11 +1122,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) @@ -1748,14 +1731,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 bb4cef0..9f04314 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 (); diff --git a/gdb/coffread.c b/gdb/coffread.c index 9649db4..23dee4c 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -804,7 +804,6 @@ coff_symtab_read (minimal_symbol_reader &reader, CORE_ADDR tmpaddr; struct minimal_symbol *msym; - buildsym_init (); scoped_free_pendings free_pending; /* Work around a stdio bug in SunOS4.1.1 (this makes me nervous.... diff --git a/gdb/dbxread.c b/gdb/dbxread.c index df03df4..db49243 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -567,7 +567,6 @@ static void dbx_new_init (struct objfile *ignore) { stabsread_new_init (); - buildsym_init (); init_header_files (); } @@ -2164,7 +2163,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); @@ -3037,7 +3035,6 @@ coffstab_build_psymtabs (struct objfile *objfile, perror_with_name (name); stabsread_new_init (); - buildsym_init (); free_header_files (); init_header_files (); @@ -3125,7 +3122,6 @@ elfstab_build_psymtabs (struct objfile *objfile, asection *stabsect, perror_with_name (name); stabsread_new_init (); - buildsym_init (); free_header_files (); init_header_files (); @@ -3227,7 +3223,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 805eaf2..985a233 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -10241,7 +10241,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. */ @@ -10344,7 +10343,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 a5c4cdf..10daef0 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 0bc7fa6..240498a 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -344,7 +344,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 3bdc507..52130da 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 9268a3f..ba377d4 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1870,7 +1870,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); @@ -1922,7 +1921,6 @@ static void xcoff_new_init (struct objfile *objfile) { stabsread_new_init (); - buildsym_init (); } /* Do initialization in preparation for reading symbols from OBJFILE. |