diff options
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/coffread.c | 7 | ||||
-rw-r--r-- | gdb/dbxread.c | 10 | ||||
-rw-r--r-- | gdb/elfread.c | 12 |
4 files changed, 20 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3a40ecc..795ba45 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2019-06-10 Tom Tromey <tromey@adacore.com> + + * elfread.c (elf_read_minimal_symbols): Don't set the dbx objfile + data. + (elf_new_init): Don't call stabsread_new_init. + * dbxread.c (coffstab_build_psymtabs): Set dbx objfile data. + (elfstab_build_psymtabs): Likewise. Call stabsread_new_init. + * coffread.c (coff_symfile_init): Don't set the dbx objfile data. + 2019-06-10 Tom de Vries <tdevries@suse.de> PR symtab/16264 diff --git a/gdb/coffread.c b/gdb/coffread.c index 0956f38..6e379dd1 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -31,7 +31,6 @@ #include "libcoff.h" /* FIXME secret internal data from BFD */ #include "objfiles.h" #include "buildsym-legacy.h" -#include "gdb-stabs.h" #include "stabsread.h" #include "complaints.h" #include "target.h" @@ -484,12 +483,6 @@ record_minimal_symbol (minimal_symbol_reader &reader, static void coff_symfile_init (struct objfile *objfile) { - struct dbx_symfile_info *dbx; - - /* Allocate struct to keep track of stab reading. */ - dbx = XCNEW (struct dbx_symfile_info); - set_objfile_data (objfile, dbx_objfile_data_key, dbx); - /* Allocate struct to keep track of the symfile. */ coff_objfile_data_key.emplace (objfile); diff --git a/gdb/dbxread.c b/gdb/dbxread.c index ad2edc3..307debd 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -2951,6 +2951,10 @@ coffstab_build_psymtabs (struct objfile *objfile, char *name = bfd_get_filename (sym_bfd); unsigned int stabsize; + /* Allocate struct to keep track of stab reading. */ + struct dbx_symfile_info *dbx = XCNEW (struct dbx_symfile_info); + set_objfile_data (objfile, dbx_objfile_data_key, dbx); + DBX_TEXT_ADDR (objfile) = textaddr; DBX_TEXT_SIZE (objfile) = textsize; @@ -3034,6 +3038,12 @@ elfstab_build_psymtabs (struct objfile *objfile, asection *stabsect, bfd *sym_bfd = objfile->obfd; char *name = bfd_get_filename (sym_bfd); + stabsread_new_init (); + + /* Allocate struct to keep track of stab reading. */ + struct dbx_symfile_info *dbx = XCNEW (struct dbx_symfile_info); + set_objfile_data (objfile, dbx_objfile_data_key, dbx); + /* Find the first and last text address. dbx_symfile_read seems to want this. */ find_text_range (sym_bfd, objfile); diff --git a/gdb/elfread.c b/gdb/elfread.c index cb98b83..630550b 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -29,7 +29,6 @@ #include "symfile.h" #include "objfiles.h" #include "stabsread.h" -#include "gdb-stabs.h" #include "complaints.h" #include "demangle.h" #include "psympriv.h" @@ -1039,7 +1038,6 @@ elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags, long symcount = 0, dynsymcount = 0, synthcount, storage_needed; asymbol **symbol_table = NULL, **dyn_symbol_table = NULL; asymbol *synthsyms; - struct dbx_symfile_info *dbx; if (symtab_create_debug) { @@ -1065,10 +1063,6 @@ elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags, minimal_symbol_reader reader (objfile); - /* Allocate struct to keep track of the symfile. */ - dbx = XCNEW (struct dbx_symfile_info); - set_objfile_data (objfile, dbx_objfile_data_key, dbx); - /* Process the normal ELF symbol table first. */ storage_needed = bfd_get_symtab_upper_bound (objfile->obfd); @@ -1316,15 +1310,11 @@ read_psyms (struct objfile *objfile) /* Initialize anything that needs initializing when a completely new symbol file is specified (not just adding some symbols from another file, e.g. a - shared library). - - We reinitialize buildsym, since we may be reading stabs from an ELF - file. */ + shared library). */ static void elf_new_init (struct objfile *ignore) { - stabsread_new_init (); } /* Perform any local cleanups required when we are done with a particular |