aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog20
-rw-r--r--gdb/buildsym.c42
-rw-r--r--gdb/buildsym.h2
-rw-r--r--gdb/coffread.c1
-rw-r--r--gdb/dbxread.c5
-rw-r--r--gdb/dwarf2read.c2
-rw-r--r--gdb/elfread.c1
-rw-r--r--gdb/mdebugread.c1
-rw-r--r--gdb/mipsread.c1
-rw-r--r--gdb/xcoffread.c2
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.