This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FYI: make current_objfile local to symbol readers


Tom> No problem, I will rename them.

Here you go.

Tom

2011-06-14  Tom Tromey  <tromey@redhat.com>

	* coffread.c (coffread_objfile): Rename from current_objfile.
	* dbxread.c (dbxread_objfile): Rename from current_objfile.
	* mdebugread.c (mdebugread_objfile): Rename from current_objfile.

Index: coffread.c
===================================================================
RCS file: /cvs/src/src/gdb/coffread.c,v
retrieving revision 1.123
diff -u -r1.123 coffread.c
--- coffread.c	14 Jun 2011 16:49:40 -0000	1.123
+++ coffread.c	14 Jun 2011 18:51:28 -0000
@@ -51,7 +51,7 @@
 
 /* The objfile we are currently reading.  */
 
-static struct objfile *current_objfile;
+static struct objfile *coffread_objfile;
 
 struct coff_symfile_info
   {
@@ -359,7 +359,7 @@
      We will fill it in later if we find out how.  */
   if (type == NULL)
     {
-      type = alloc_type (current_objfile);
+      type = alloc_type (coffread_objfile);
       *type_addr = type;
     }
   return type;
@@ -749,7 +749,7 @@
   if (val < 0)
     perror_with_name (objfile->name);
 
-  current_objfile = objfile;
+  coffread_objfile = objfile;
   nlist_bfd_global = objfile->obfd;
   nlist_nsyms_global = nsyms;
   last_source_file = NULL;
@@ -1136,7 +1136,7 @@
   ALL_OBJFILE_SYMTABS (objfile, s)
     patch_opaque_types (s);
 
-  current_objfile = NULL;
+  coffread_objfile = NULL;
 }
 
 /* Routines for reading headers and symbols from executable.  */
@@ -1157,14 +1157,14 @@
   cs->c_symnum = symnum;
   bytes = bfd_bread (temp_sym, local_symesz, nlist_bfd_global);
   if (bytes != local_symesz)
-    error (_("%s: error reading symbols"), current_objfile->name);
+    error (_("%s: error reading symbols"), coffread_objfile->name);
   bfd_coff_swap_sym_in (symfile_bfd, temp_sym, (char *) sym);
   cs->c_naux = sym->n_numaux & 0xff;
   if (cs->c_naux >= 1)
     {
       bytes  = bfd_bread (temp_aux, local_auxesz, nlist_bfd_global);
       if (bytes != local_auxesz)
-	error (_("%s: error reading symbols"), current_objfile->name);
+	error (_("%s: error reading symbols"), coffread_objfile->name);
       bfd_coff_swap_aux_in (symfile_bfd, temp_aux,
 			    sym->n_type, sym->n_sclass,
 			    0, cs->c_naux, (char *) aux);
@@ -1174,7 +1174,7 @@
 	{
 	  bytes = bfd_bread (temp_aux, local_auxesz, nlist_bfd_global);
 	  if (bytes != local_auxesz)
-	    error (_("%s: error reading symbols"), current_objfile->name);
+	    error (_("%s: error reading symbols"), coffread_objfile->name);
 	}
     }
   cs->c_name = getsymname (sym);
Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.128
diff -u -r1.128 dbxread.c
--- dbxread.c	14 Jun 2011 16:49:41 -0000	1.128
+++ dbxread.c	14 Jun 2011 18:51:28 -0000
@@ -107,7 +107,7 @@
 
 /* The objfile we are currently reading.  */
 
-static struct objfile *current_objfile;
+static struct objfile *dbxread_objfile;
 
 /* Remember what we deduced to be the source language of this psymtab.  */
 
@@ -347,10 +347,10 @@
 static void
 add_old_header_file (char *name, int instance)
 {
-  struct header_file *p = HEADER_FILES (current_objfile);
+  struct header_file *p = HEADER_FILES (dbxread_objfile);
   int i;
 
-  for (i = 0; i < N_HEADER_FILES (current_objfile); i++)
+  for (i = 0; i < N_HEADER_FILES (dbxread_objfile); i++)
     if (filename_cmp (p[i].name, name) == 0 && instance == p[i].instance)
       {
 	add_this_object_header_file (i);
@@ -378,30 +378,30 @@
 
   /* Make sure there is room for one more header file.  */
 
-  i = N_ALLOCATED_HEADER_FILES (current_objfile);
+  i = N_ALLOCATED_HEADER_FILES (dbxread_objfile);
 
-  if (N_HEADER_FILES (current_objfile) == i)
+  if (N_HEADER_FILES (dbxread_objfile) == i)
     {
       if (i == 0)
 	{
-	  N_ALLOCATED_HEADER_FILES (current_objfile) = 10;
-	  HEADER_FILES (current_objfile) = (struct header_file *)
+	  N_ALLOCATED_HEADER_FILES (dbxread_objfile) = 10;
+	  HEADER_FILES (dbxread_objfile) = (struct header_file *)
 	    xmalloc (10 * sizeof (struct header_file));
 	}
       else
 	{
 	  i *= 2;
-	  N_ALLOCATED_HEADER_FILES (current_objfile) = i;
-	  HEADER_FILES (current_objfile) = (struct header_file *)
-	    xrealloc ((char *) HEADER_FILES (current_objfile),
+	  N_ALLOCATED_HEADER_FILES (dbxread_objfile) = i;
+	  HEADER_FILES (dbxread_objfile) = (struct header_file *)
+	    xrealloc ((char *) HEADER_FILES (dbxread_objfile),
 		      (i * sizeof (struct header_file)));
 	}
     }
 
   /* Create an entry for this header file.  */
 
-  i = N_HEADER_FILES (current_objfile)++;
-  hfile = HEADER_FILES (current_objfile) + i;
+  i = N_HEADER_FILES (dbxread_objfile)++;
+  hfile = HEADER_FILES (dbxread_objfile) + i;
   hfile->name = xstrdup (name);
   hfile->instance = instance;
   hfile->length = 10;
@@ -416,7 +416,7 @@
 static struct type **
 explicit_lookup_type (int real_filenum, int index)
 {
-  struct header_file *f = &HEADER_FILES (current_objfile)[real_filenum];
+  struct header_file *f = &HEADER_FILES (dbxread_objfile)[real_filenum];
 
   if (index >= f->length)
     {
@@ -2537,7 +2537,7 @@
      objfile->section_offsets.  */ 
   section_offsets = pst->section_offsets;
 
-  current_objfile = objfile;
+  dbxread_objfile = objfile;
   subfile_stack = NULL;
 
   stringtab_global = DBX_STRINGTAB (objfile);
@@ -2702,7 +2702,7 @@
 
   end_stabs ();
 
-  current_objfile = NULL;
+  dbxread_objfile = NULL;
 }
 
 
Index: mdebugread.c
===================================================================
RCS file: /cvs/src/src/gdb/mdebugread.c,v
retrieving revision 1.124
diff -u -r1.124 mdebugread.c
--- mdebugread.c	14 Jun 2011 16:49:41 -0000	1.124
+++ mdebugread.c	14 Jun 2011 18:51:35 -0000
@@ -81,7 +81,7 @@
 
 /* The objfile we are currently reading.  */
 
-static struct objfile *current_objfile;
+static struct objfile *mdebugread_objfile;
 
 
 
@@ -515,7 +515,7 @@
   if (!p)
     {
       p = ((struct mdebug_pending *)
-	   obstack_alloc (&current_objfile->objfile_obstack,
+	   obstack_alloc (&mdebugread_objfile->objfile_obstack,
 			  sizeof (struct mdebug_pending)));
       p->s = sh;
       p->t = t;
@@ -1008,7 +1008,7 @@
 	if (sh->iss == 0 || name[0] == '.' || name[0] == '\0')
 	  TYPE_TAG_NAME (t) = NULL;
 	else
-	  TYPE_TAG_NAME (t) = obconcat (&current_objfile->objfile_obstack,
+	  TYPE_TAG_NAME (t) = obconcat (&mdebugread_objfile->objfile_obstack,
 					name, (char *) NULL);
 
 	TYPE_CODE (t) = type_code;
@@ -1053,12 +1053,12 @@
 		FIELD_BITSIZE (*f) = 0;
 
 		enum_sym = ((struct symbol *)
-			    obstack_alloc (&current_objfile->objfile_obstack,
+			    obstack_alloc (&mdebugread_objfile->objfile_obstack,
 					   sizeof (struct symbol)));
 		memset (enum_sym, 0, sizeof (struct symbol));
 		SYMBOL_SET_LINKAGE_NAME
 		  (enum_sym, obsavestring (f->name, strlen (f->name),
-					   &current_objfile->objfile_obstack));
+					   &mdebugread_objfile->objfile_obstack));
 		SYMBOL_CLASS (enum_sym) = LOC_CONST;
 		SYMBOL_TYPE (enum_sym) = t;
 		SYMBOL_DOMAIN (enum_sym) = VAR_DOMAIN;
@@ -1149,9 +1149,9 @@
 	  s = new_symbol (MDEBUG_EFI_SYMBOL_NAME);
 	  SYMBOL_DOMAIN (s) = LABEL_DOMAIN;
 	  SYMBOL_CLASS (s) = LOC_CONST;
-	  SYMBOL_TYPE (s) = objfile_type (current_objfile)->builtin_void;
+	  SYMBOL_TYPE (s) = objfile_type (mdebugread_objfile)->builtin_void;
 	  e = ((struct mdebug_extra_func_info *)
-	       obstack_alloc (&current_objfile->objfile_obstack,
+	       obstack_alloc (&mdebugread_objfile->objfile_obstack,
 			      sizeof (struct mdebug_extra_func_info)));
 	  memset (e, 0, sizeof (struct mdebug_extra_func_info));
 	  SYMBOL_VALUE_BYTES (s) = (gdb_byte *) e;
@@ -1534,19 +1534,19 @@
 
   /* Handle undefined types, they have indexNil.  */
   if (aux_index == indexNil)
-    return basic_type (btInt, current_objfile);
+    return basic_type (btInt, mdebugread_objfile);
 
   /* Handle corrupt aux indices.  */
   if (aux_index >= (debug_info->fdr + fd)->caux)
     {
       index_complaint (sym_name);
-      return basic_type (btInt, current_objfile);
+      return basic_type (btInt, mdebugread_objfile);
     }
   ax += aux_index;
 
   /* Use aux as a type information record, map its basic type.  */
   (*debug_swap->swap_tir_in) (bigend, &ax->a_ti, t);
-  tp = basic_type (t->bt, current_objfile);
+  tp = basic_type (t->bt, mdebugread_objfile);
   if (tp == NULL)
     {
       /* Cannot use builtin types -- build our own.  */
@@ -1579,7 +1579,7 @@
 	  break;
 	default:
 	  basic_type_complaint (t->bt, sym_name);
-	  return basic_type (btInt, current_objfile);
+	  return basic_type (btInt, mdebugread_objfile);
 	}
     }
 
@@ -1597,9 +1597,9 @@
 	     as short and unsigned short types with a field width of 8.
 	     Enum types also have a field width which we ignore for now.  */
 	  if (t->bt == btShort && width == 8)
-	    tp = basic_type (btChar, current_objfile);
+	    tp = basic_type (btChar, mdebugread_objfile);
 	  else if (t->bt == btUShort && width == 8)
-	    tp = basic_type (btUChar, current_objfile);
+	    tp = basic_type (btUChar, mdebugread_objfile);
 	  else if (t->bt == btEnum)
 	    ;
 	  else
@@ -1635,7 +1635,7 @@
 	{
 	  complaint (&symfile_complaints,
 		     _("unable to cross ref btIndirect for %s"), sym_name);
-	  return basic_type (btInt, current_objfile);
+	  return basic_type (btInt, mdebugread_objfile);
 	}
       xref_fh = get_rfd (fd, rf);
       xref_fd = xref_fh - debug_info->fdr;
@@ -1659,7 +1659,7 @@
       /* Try to cross reference this type, build new type on failure.  */
       ax += cross_ref (fd, ax, &tp, type_code, &name, bigend, sym_name);
       if (tp == (struct type *) NULL)
-	tp = init_type (type_code, 0, 0, (char *) NULL, current_objfile);
+	tp = init_type (type_code, 0, 0, (char *) NULL, mdebugread_objfile);
 
       /* DEC c89 produces cross references to qualified aggregate types,
          dereference them.  */
@@ -1703,7 +1703,7 @@
 		   || strcmp (TYPE_TAG_NAME (tp), name) != 0)
 	    TYPE_TAG_NAME (tp)
 	      = obsavestring (name, strlen (name),
-			      &current_objfile->objfile_obstack);
+			      &mdebugread_objfile->objfile_obstack);
 	}
     }
 
@@ -1718,7 +1718,7 @@
       /* Try to cross reference this type, build new type on failure.  */
       ax += cross_ref (fd, ax, &tp, type_code, &name, bigend, sym_name);
       if (tp == (struct type *) NULL)
-	tp = init_type (type_code, 0, 0, (char *) NULL, current_objfile);
+	tp = init_type (type_code, 0, 0, (char *) NULL, mdebugread_objfile);
 
       /* Make sure that TYPE_CODE(tp) has an expected type code.
          Any type may be returned from cross_ref if file indirect entries
@@ -1739,7 +1739,7 @@
 	  if (TYPE_NAME (tp) == NULL
 	      || strcmp (TYPE_NAME (tp), name) != 0)
 	    TYPE_NAME (tp) = obsavestring (name, strlen (name),
-					   &current_objfile->objfile_obstack);
+					   &mdebugread_objfile->objfile_obstack);
 	}
     }
   if (t->bt == btTypedef)
@@ -1752,7 +1752,7 @@
 	{
 	  complaint (&symfile_complaints,
 		     _("unable to cross ref btTypedef for %s"), sym_name);
-	  tp = basic_type (btInt, current_objfile);
+	  tp = basic_type (btInt, mdebugread_objfile);
 	}
     }
 
@@ -1863,7 +1863,7 @@
 	  complaint (&symfile_complaints,
 		     _("illegal array index type for %s, assuming int"),
 		     sym_name);
-	  indx = objfile_type (current_objfile)->builtin_int;
+	  indx = objfile_type (mdebugread_objfile)->builtin_int;
 	}
 
       /* Get the bounds, and create the array type.  */
@@ -4016,7 +4016,7 @@
   external_pdr_size = debug_swap->external_pdr_size;
   swap_sym_in = debug_swap->swap_sym_in;
   swap_pdr_in = debug_swap->swap_pdr_in;
-  current_objfile = pst->objfile;
+  mdebugread_objfile = pst->objfile;
   cur_fd = FDR_IDX (pst);
   fh = ((cur_fd == -1)
 	? (FDR *) NULL
@@ -4052,7 +4052,7 @@
 
       if (fh->csym <= 2)	/* FIXME, this blows psymtab->symtab ptr.  */
 	{
-	  current_objfile = NULL;
+	  mdebugread_objfile = NULL;
 	  return;
 	}
       for (cur_sdx = 2; cur_sdx < fh->csym; cur_sdx++)
@@ -4114,7 +4114,7 @@
 		     procedure specific info.  */
 		  struct mdebug_extra_func_info *e =
 		    ((struct mdebug_extra_func_info *)
-		     obstack_alloc (&current_objfile->objfile_obstack,
+		     obstack_alloc (&mdebugread_objfile->objfile_obstack,
 				    sizeof (struct mdebug_extra_func_info)));
 		  struct symbol *s = new_symbol (MDEBUG_EFI_SYMBOL_NAME);
 
@@ -4319,7 +4319,7 @@
       size = lines->nitems;
       if (size > 1)
 	--size;
-      LINETABLE (st) = obstack_copy (&current_objfile->objfile_obstack,
+      LINETABLE (st) = obstack_copy (&mdebugread_objfile->objfile_obstack,
 				     lines,
 				     (sizeof (struct linetable)
 				      + size * sizeof (lines->item)));
@@ -4362,7 +4362,7 @@
   /* Now link the psymtab and the symtab.  */
   pst->symtab = st;
 
-  current_objfile = NULL;
+  mdebugread_objfile = NULL;
 }
 
 /* Ancillary parsing procedures.  */
@@ -4439,7 +4439,7 @@
     {
       *pname = "<undefined>";
       *tpp = init_type (type_code, 0, TYPE_FLAG_STUB,
-			(char *) NULL, current_objfile);
+			(char *) NULL, mdebugread_objfile);
       return result;
     }
 
@@ -4526,7 +4526,7 @@
 	    {
 	    case btVoid:
 	      *tpp = init_type (type_code, 0, 0, (char *) NULL,
-				current_objfile);
+				mdebugread_objfile);
 	      *pname = "<undefined>";
 	      break;
 
@@ -4562,7 +4562,7 @@
 			 _("illegal bt %d in forward typedef for %s"), tir.bt,
 			 sym_name);
 	      *tpp = init_type (type_code, 0, 0, (char *) NULL,
-				current_objfile);
+				mdebugread_objfile);
 	      break;
 	    }
 	  return result;
@@ -4590,7 +4590,7 @@
 	     has not been parsed yet.
 	     Initialize the type only, it will be filled in when
 	     it's definition is parsed.  */
-	  *tpp = init_type (type_code, 0, 0, (char *) NULL, current_objfile);
+	  *tpp = init_type (type_code, 0, 0, (char *) NULL, mdebugread_objfile);
 	}
       add_pending (fh, esh, *tpp);
     }
@@ -4880,12 +4880,12 @@
 new_symbol (char *name)
 {
   struct symbol *s = ((struct symbol *)
-		      obstack_alloc (&current_objfile->objfile_obstack,
+		      obstack_alloc (&mdebugread_objfile->objfile_obstack,
 				     sizeof (struct symbol)));
 
   memset (s, 0, sizeof (*s));
   SYMBOL_SET_LANGUAGE (s, psymtab_language);
-  SYMBOL_SET_NAMES (s, name, strlen (name), 1, current_objfile);
+  SYMBOL_SET_NAMES (s, name, strlen (name), 1, mdebugread_objfile);
   return s;
 }
 
@@ -4896,7 +4896,7 @@
 {
   struct type *t;
 
-  t = alloc_type (current_objfile);
+  t = alloc_type (mdebugread_objfile);
   TYPE_NAME (t) = name;
   INIT_CPLUS_SPECIFIC (t);
   return t;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]