[v2,05/12] Change symbol_set_names to take an objfile_per_bfd_storage

Message ID 20181125192043.8405-6-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey Nov. 25, 2018, 7:20 p.m. UTC
  This changes symbol_set_names to take an objfile_per_bfd_storage
argument, and updates the users.  It also changes PSYMBOL_SET_NAMES to
take this argument directly; I feel this clarifies the storage
location of objects created in psymtab.c.

gdb/ChangeLog
2018-11-25  Tom Tromey  <tom@tromey.com>

	* symtab.h (SYMBOL_SET_NAMES): Update.
	(symbol_set_names): Update.
	(MSYMBOL_SET_NAMES): Update.
	* symtab.c (symbol_set_names): Change argument to be an
	objfile_per_bfd_storage.
	* psymtab.c (add_psymbol_to_bcache): Update.
	* psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument.
---
 gdb/ChangeLog | 10 ++++++++++
 gdb/psymtab.c |  2 +-
 gdb/symtab.c  |  3 +--
 gdb/symtab.h  |  8 +++++---
 4 files changed, 17 insertions(+), 6 deletions(-)
  

Patch

diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 31c0d4d6a2..ffe99004d4 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1652,7 +1652,7 @@  add_psymbol_to_bcache (const char *name, int namelength, int copy_name,
   memset (&psymbol.language_specific, 0, sizeof (psymbol.language_specific));
   psymbol.ada_mangled = 0;
   symbol_set_language (&psymbol, language, &objfile->objfile_obstack);
-  symbol_set_names (&psymbol, name, namelength, copy_name, objfile);
+  symbol_set_names (&psymbol, name, namelength, copy_name, objfile->per_bfd);
 
   /* Stash the partial symbol away in the cache.  */
   return psymbol_bcache_full (&psymbol, objfile->psymbol_cache, added);
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 2911e5c83c..55a79640d6 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -774,13 +774,12 @@  symbol_find_demangled_name (struct general_symbol_info *gsymbol,
 void
 symbol_set_names (struct general_symbol_info *gsymbol,
 		  const char *linkage_name, int len, int copy_name,
-		  struct objfile *objfile)
+		  struct objfile_per_bfd_storage *per_bfd)
 {
   struct demangled_name_entry **slot;
   /* A 0-terminated copy of the linkage name.  */
   const char *linkage_name_copy;
   struct demangled_name_entry entry;
-  struct objfile_per_bfd_storage *per_bfd = objfile->per_bfd;
 
   if (gsymbol->language == language_ada)
     {
diff --git a/gdb/symtab.h b/gdb/symtab.h
index e0b870135b..41004f2760 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -493,10 +493,11 @@  extern void symbol_set_language (struct general_symbol_info *symbol,
 /* Set the linkage and natural names of a symbol, by demangling
    the linkage name.  */
 #define SYMBOL_SET_NAMES(symbol,linkage_name,len,copy_name,objfile)	\
-  symbol_set_names (&(symbol)->ginfo, linkage_name, len, copy_name, objfile)
+  symbol_set_names (&(symbol)->ginfo, linkage_name, len, copy_name, \
+		    (objfile)->per_bfd)
 extern void symbol_set_names (struct general_symbol_info *symbol,
 			      const char *linkage_name, int len, int copy_name,
-			      struct objfile *objfile);
+			      struct objfile_per_bfd_storage *per_bfd);
 
 /* Now come lots of name accessor macros.  Short version as to when to
    use which: Use SYMBOL_NATURAL_NAME to refer to the name of the
@@ -733,7 +734,8 @@  struct minimal_symbol
 #define MSYMBOL_SEARCH_NAME(symbol)					 \
    (symbol_search_name (&(symbol)->mginfo))
 #define MSYMBOL_SET_NAMES(symbol,linkage_name,len,copy_name,objfile)	\
-  symbol_set_names (&(symbol)->mginfo, linkage_name, len, copy_name, objfile)
+  symbol_set_names (&(symbol)->mginfo, linkage_name, len, copy_name, \
+		    (objfile)->per_bfd)
 
 #include "minsyms.h"