This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA 02/15] Remove some unneeded psymtab initializations
- From: Tom Tromey <tom at tromey dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tom at tromey dot com>
- Date: Thu, 10 May 2018 16:23:44 -0600
- Subject: [RFA 02/15] Remove some unneeded psymtab initializations
- References: <20180510222357.27332-1-tom@tromey.com>
allocate_psymtab has long cleared the new psymtab that is returned.
This patch documents this behavior and then removes some redundant
initializations.
gdb/ChangeLog
2018-05-09 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_end_psymtab): Remove some initializations.
* psymtab.c (allocate_psymtab): Add comment.
* psympriv.h (allocate_psymtab): Add comment.
* dwarf2read.c (dwarf2_create_include_psymtab): Remove some
initializations.
* dbxread.c (dbx_end_psymtab): Remove some initializations.
---
gdb/ChangeLog | 9 +++++++++
gdb/dbxread.c | 7 -------
gdb/dwarf2read.c | 6 ------
gdb/psympriv.h | 10 ++++++++--
gdb/psymtab.c | 2 ++
gdb/xcoffread.c | 7 -------
6 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 1c4f564f4e..84ade27b4d 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2127,13 +2127,6 @@ dbx_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;
- subpst->globals_offset =
- subpst->n_global_syms =
- subpst->statics_offset =
- subpst->n_static_syms = 0;
-
- subpst->readin = 0;
- subpst->compunit_symtab = 0;
subpst->read_symtab = pst->read_symtab;
}
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 8960fdc38d..be477e3d30 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -6517,13 +6517,7 @@ dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;
- subpst->globals_offset = 0;
- subpst->n_global_syms = 0;
- subpst->statics_offset = 0;
- subpst->n_static_syms = 0;
- subpst->compunit_symtab = NULL;
subpst->read_symtab = pst->read_symtab;
- subpst->readin = 0;
/* No private part is necessary for include psymtabs. This property
can be used to differentiate between such include psymtabs and
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 487a34f053..2d81c16b40 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -295,8 +295,14 @@ extern struct partial_symtab *start_psymtab_common (struct objfile *,
extern void end_psymtab_common (struct objfile *, struct partial_symtab *);
-extern struct partial_symtab *allocate_psymtab (const char *,
- struct objfile *)
+/* Allocate a new partial symbol table associated with OBJFILE.
+ FILENAME (which must be non-NULL) is the filename of this partial
+ symbol table; it is copied into the appropriate storage. A new
+ partial symbol table is returned; aside from "next" and "filename",
+ its fields are initialized to zero. */
+
+extern struct partial_symtab *allocate_psymtab (const char *filename,
+ struct objfile *objfile)
ATTRIBUTE_NONNULL (1);
extern void discard_psymtab (struct objfile *, struct partial_symtab *);
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 28935291e4..ee593494f6 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1740,6 +1740,8 @@ init_psymbol_list (struct objfile *objfile, int total_symbols)
objfile->static_psymbols.reserve (total_symbols / 10);
}
+/* See psympriv.h. */
+
struct partial_symtab *
allocate_psymtab (const char *filename, struct objfile *objfile)
{
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 611e954a08..a26f4fe88c 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -2109,13 +2109,6 @@ xcoff_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;
- subpst->globals_offset =
- subpst->n_global_syms =
- subpst->statics_offset =
- subpst->n_static_syms = 0;
-
- subpst->readin = 0;
- subpst->compunit_symtab = NULL;
subpst->read_symtab = pst->read_symtab;
}
--
2.13.6