[RFA 03/15] Remove parameters from start_psymtab_common

Tom Tromey
2018-05-10T22:25:24Z

start_psymtab_common takes references to the global_psymbols and
static_psymbols vectors, but it also has an objfile parameter. This
is redundant, so this patch simplifies the function by removing those
reference parameters.

2018-05-09 Tom Tromey <tom@tromey.com>

* xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and
static_psymbols parameters.
(scan_xcoff_symtab): Update.
* psymtab.c (start_psymtab_common): Remove global_psymbols and
static_psymbols parameters.
* psympriv.h (start_psymtab_common): Update.
* mdebugread.c (parse_partial_symbols): Update.
* dwarf2read.c (create_partial_symtab): Update.
* dbxread.c (read_dbx_symtab): Update.
(start_psymtab): Remove global_psymbols and static_psymbols
parameters.
---
gdb/ChangeLog | 14 ++++++++++++++
gdb/dbxread.c | 14 ++++----------
gdb/dwarf2read.c | 4 +---
gdb/mdebugread.c | 4 +---
gdb/psympriv.h | 4 +---
gdb/psymtab.c | 8 +++-----
gdb/xcoffread.c | 15 ++++-----------
7 files changed, 28 insertions(+), 35 deletions(-)

diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 84ade27b4d..97c4a847e3 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -291,9 +291,7 @@ static void add_old_header_file (const char *, int);
static void add_this_object_header_file (int);

static struct partial_symtab *start_psymtab (struct objfile *, const char *,
- CORE_ADDR, int,
- std::vector<partial_symbol *> &,
- std::vector<partial_symbol *> &);
+ CORE_ADDR, int);

/* Free up old header file tables. */

@@ -1352,9 +1350,7 @@ read_dbx_symtab (minimal_symbol_reader &reader, struct objfile *objfile)
{
pst = start_psymtab (objfile,
namestring, valu,
- first_so_symnum * symbol_size,
- objfile->global_psymbols,
- objfile->static_psymbols);
+ first_so_symnum * symbol_size);
pst->dirname = dirname_nso;
dirname_nso = NULL;
}
@@ -1982,12 +1978,10 @@ read_dbx_symtab (minimal_symbol_reader &reader, struct objfile *objfile)

static struct partial_symtab *
start_psymtab (struct objfile *objfile, const char *filename, CORE_ADDR textlow,
- int ldsymoff, std::vector<partial_symbol *> &global_psymbols,
- std::vector<partial_symbol *> &static_psymbols)
+ int ldsymoff)
{
struct partial_symtab *result =
- start_psymtab_common (objfile, filename, textlow,
- global_psymbols, static_psymbols);
+ start_psymtab_common (objfile, filename, textlow);

result->read_symtab_private =
XOBNEW (&objfile->objfile_obstack, struct symloc);
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index be477e3d30..664d0b0e53 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -7851,9 +7851,7 @@ create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
struct partial_symtab *pst;

- pst = start_psymtab_common (objfile, name, 0,
- objfile->global_psymbols,
- objfile->static_psymbols);
+ pst = start_psymtab_common (objfile, name, 0);

pst->psymtabs_addrmap_supported = 1;

diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 32d6f0b8fd..7b9af6020d 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -2648,9 +2648,7 @@ parse_partial_symbols (minimal_symbol_reader &reader,
textlow = 0;
pst = start_psymtab_common (objfile,
fdr_name (fh),
- textlow,
- objfile->global_psymbols,
- objfile->static_psymbols);
+ textlow);
pst->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
sizeof (struct symloc));
memset (pst->read_symtab_private, 0, sizeof (struct symloc));
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 2d81c16b40..95449e0ada 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -289,9 +289,7 @@ extern void add_psymbol_to_list (const char *, int,
extern void init_psymbol_list (struct objfile *, int);

extern struct partial_symtab *start_psymtab_common (struct objfile *,
- const char *, CORE_ADDR,
- std::vector<partial_symbol *> &,
- std::vector<partial_symbol *> &);
+ const char *, CORE_ADDR);

extern void end_psymtab_common (struct objfile *, struct partial_symtab *);

diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index ee593494f6..fe54f1c407 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1530,17 +1530,15 @@ sort_pst_symbols (struct objfile *objfile, struct partial_symtab *pst)
struct partial_symtab *
start_psymtab_common (struct objfile *objfile,
const char *filename,
- CORE_ADDR textlow,
- std::vector<partial_symbol *> &global_psymbols,
- std::vector<partial_symbol *> &static_psymbols)
+ CORE_ADDR textlow)
{
struct partial_symtab *psymtab;

psymtab = allocate_psymtab (filename, objfile);
SET_PSYMTAB_TEXTLOW (psymtab, textlow);
SET_PSYMTAB_TEXTHIGH (psymtab, PSYMTAB_RAW_TEXTLOW (psymtab)); /* default */
- psymtab->globals_offset = global_psymbols.size ();
- psymtab->statics_offset = static_psymbols.size ();
+ psymtab->globals_offset = objfile->global_psymbols.size ();
+ psymtab->statics_offset = objfile->static_psymbols.size ();
return psymtab;
}

diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index a26f4fe88c..788ea89fe4 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -2031,16 +2031,13 @@ static unsigned int first_fun_line_offset;

static struct partial_symtab *
xcoff_start_psymtab (struct objfile *objfile,
- const char *filename, int first_symnum,
- std::vector<partial_symbol *> &global_psymbols,
- std::vector<partial_symbol *> &static_psymbols)
+ const char *filename, int first_symnum)
{
struct partial_symtab *result =
start_psymtab_common (objfile,
filename,
/* We fill in textlow later. */
- 0,
- global_psymbols, static_psymbols);
+ 0);

result->read_symtab_private =
XOBNEW (&objfile->objfile_obstack, struct symloc);
@@ -2324,9 +2321,7 @@ scan_xcoff_symtab (minimal_symbol_reader &reader,
pst = xcoff_start_psymtab
(objfile,
filestring,
- symnum_before,
- objfile->global_psymbols,
- objfile->static_psymbols);
+ symnum_before);
}
}
/* Activate the misc_func_recorded mechanism for
@@ -2508,9 +2503,7 @@ scan_xcoff_symtab (minimal_symbol_reader &reader,

pst = xcoff_start_psymtab (objfile,
filestring,
- symnum_before,
- objfile->global_psymbols,
- objfile->static_psymbols);
+ symnum_before);
last_csect_name = NULL;
}
break;
--
2.13.6