Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* FYI: make current_objfile local to symbol readers
@ 2011-06-14 16:49 Tom Tromey
  2011-06-14 17:52 ` Mark Kettenis
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2011-06-14 16:49 UTC (permalink / raw)
  To: gdb-patches

I'm checking this in on the trunk.

The global 'current_objfile' is used by some symbol readers, but only in
a local way.  This patch removes makes this global be local to the
readers which use it.  I think this is clearer and also prevents new
(bad) uses of this global in the future.

Built and regtested on the buildbot.

Tom

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

	* symtab.h (current_objfile): Don't declare.
	* objfiles.h (current_objfile): Don't declare.
	* objfiles.c (current_objfile): Remove.
	* mdebugread.c (current_objfile): New file-scope global.
	* dbxread.c (current_objfile): New file-scope global.
	* coffread.c (current_objfile): New file-scope global.

Index: coffread.c
===================================================================
RCS file: /cvs/src/src/gdb/coffread.c,v
retrieving revision 1.122
diff -u -r1.122 coffread.c
--- coffread.c	26 May 2011 07:47:10 -0000	1.122
+++ coffread.c	14 Jun 2011 16:46:16 -0000
@@ -49,6 +49,10 @@
 
 extern void _initialize_coffread (void);
 
+/* The objfile we are currently reading.  */
+
+static struct objfile *current_objfile;
+
 struct coff_symfile_info
   {
     file_ptr min_lineno_offset;	/* Where in file lowest line#s are.  */
Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.127
diff -u -r1.127 dbxread.c
--- dbxread.c	23 Mar 2011 18:23:54 -0000	1.127
+++ dbxread.c	14 Jun 2011 16:46:17 -0000
@@ -1,6 +1,6 @@
 /* Read dbx symbol tables and convert to internal format, for GDB.
    Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
-   1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2010.
+   1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2010, 2011.
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -105,6 +105,10 @@
 #define FILE_STRING_OFFSET(p) (SYMLOC(p)->file_string_offset)
 \f
 
+/* The objfile we are currently reading.  */
+
+static struct objfile *current_objfile;
+
 /* Remember what we deduced to be the source language of this psymtab.  */
 
 static enum language psymtab_language = language_unknown;
Index: mdebugread.c
===================================================================
RCS file: /cvs/src/src/gdb/mdebugread.c,v
retrieving revision 1.123
diff -u -r1.123 mdebugread.c
--- mdebugread.c	4 Apr 2011 15:11:19 -0000	1.123
+++ mdebugread.c	14 Jun 2011 16:46:17 -0000
@@ -78,6 +78,11 @@
    case the symbol's ELF section could not be represented in ECOFF.  */
 #define ECOFF_IN_ELF(bfd) (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
 			   && bfd_get_section_by_name (bfd, ".mdebug") != NULL)
+
+/* The objfile we are currently reading.  */
+
+static struct objfile *current_objfile;
+
 \f
 
 /* We put a pointer to this structure in the read_symtab_private field
Index: objfiles.c
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.c,v
retrieving revision 1.131
diff -u -r1.131 objfiles.c
--- objfiles.c	25 Apr 2011 19:38:15 -0000	1.131
+++ objfiles.c	14 Jun 2011 16:46:17 -0000
@@ -64,7 +64,6 @@
 /* Externally visible variables that are owned by this module.
    See declarations in objfile.h for more info.  */
 
-struct objfile *current_objfile;	/* For symbol file being read in */
 struct objfile *rt_common_objfile;	/* For runtime common symbols */
 
 struct objfile_pspace_info
Index: objfiles.h
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.h,v
retrieving revision 1.84
diff -u -r1.84 objfiles.h
--- objfiles.h	1 Jun 2011 14:46:23 -0000	1.84
+++ objfiles.h	14 Jun 2011 16:46:24 -0000
@@ -439,21 +439,6 @@
 
 extern struct objfile *rt_common_objfile;
 
-/* When we need to allocate a new type, we need to know which objfile_obstack
-   to allocate the type on, since there is one for each objfile.  The places
-   where types are allocated are deeply buried in function call hierarchies
-   which know nothing about objfiles, so rather than trying to pass a
-   particular objfile down to them, we just do an end run around them and
-   set current_objfile to be whatever objfile we expect to be using at the
-   time types are being allocated.  For instance, when we start reading
-   symbols for a particular objfile, we set current_objfile to point to that
-   objfile, and when we are done, we set it back to NULL, to ensure that we
-   never put a type someplace other than where we are expecting to put it.
-   FIXME:  Maybe we should review the entire type handling system and
-   see if there is a better way to avoid this problem.  */
-
-extern struct objfile *current_objfile;
-
 /* Declarations for functions defined in objfiles.c */
 
 extern struct objfile *allocate_objfile (bfd *, int);
Index: symtab.h
===================================================================
RCS file: /cvs/src/src/gdb/symtab.h,v
retrieving revision 1.182
diff -u -r1.182 symtab.h
--- symtab.h	6 May 2011 15:06:48 -0000	1.182
+++ symtab.h	14 Jun 2011 16:46:25 -0000
@@ -847,10 +847,6 @@
 
 /* External variables and functions for the objects described above.  */
 
-/* See the comment in symfile.c about how current_objfile is used.  */
-
-extern struct objfile *current_objfile;
-
 /* True if we are nested inside psymtab_to_symtab.  */
 
 extern int currently_reading_symtab;


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: FYI: make current_objfile local to symbol readers
  2011-06-14 16:49 FYI: make current_objfile local to symbol readers Tom Tromey
@ 2011-06-14 17:52 ` Mark Kettenis
  2011-06-14 18:01   ` Joel Brobecker
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Kettenis @ 2011-06-14 17:52 UTC (permalink / raw)
  To: tromey; +Cc: gdb-patches

> 
> I'm checking this in on the trunk.
> 
> The global 'current_objfile' is used by some symbol readers, but only in
> a local way.  This patch removes makes this global be local to the
> readers which use it.  I think this is clearer and also prevents new
> (bad) uses of this global in the future.
> 
> Built and regtested on the buildbot.

But isn't it a bad idea to have multiple static variables with the
same name?  It makes inspecting the variable with GDB a bit more
difficult...


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: FYI: make current_objfile local to symbol readers
  2011-06-14 17:52 ` Mark Kettenis
@ 2011-06-14 18:01   ` Joel Brobecker
  2011-06-14 18:46     ` Tom Tromey
  0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2011-06-14 18:01 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: tromey, gdb-patches

> But isn't it a bad idea to have multiple static variables with the
> same name?  It makes inspecting the variable with GDB a bit more
> difficult...

That's true. It's easy to fix though: We can rename them to
coff_current_objfile, or current_coff_objfile, etc.

-- 
Joel


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: FYI: make current_objfile local to symbol readers
  2011-06-14 18:01   ` Joel Brobecker
@ 2011-06-14 18:46     ` Tom Tromey
  2011-06-14 18:53       ` Tom Tromey
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2011-06-14 18:46 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Mark Kettenis, gdb-patches

Mark> But isn't it a bad idea to have multiple static variables with the
Mark> same name?  It makes inspecting the variable with GDB a bit more
Mark> difficult...

Joel> That's true. It's easy to fix though: We can rename them to
Joel> coff_current_objfile, or current_coff_objfile, etc.

No problem, I will rename them.

Tom


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: FYI: make current_objfile local to symbol readers
  2011-06-14 18:46     ` Tom Tromey
@ 2011-06-14 18:53       ` Tom Tromey
  2011-06-14 18:57         ` Mark Kettenis
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2011-06-14 18:53 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Mark Kettenis, gdb-patches

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;
 }
 \f
 /* 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;
 }
 \f
 
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;
 
 \f
 
@@ -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;
 }
 \f
 /* 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;


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: FYI: make current_objfile local to symbol readers
  2011-06-14 18:53       ` Tom Tromey
@ 2011-06-14 18:57         ` Mark Kettenis
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Kettenis @ 2011-06-14 18:57 UTC (permalink / raw)
  To: tromey; +Cc: brobecker, gdb-patches

> From: Tom Tromey <tromey@redhat.com>
> Date: Tue, 14 Jun 2011 12:52:59 -0600

> 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.

Thanks


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-06-14 18:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-14 16:49 FYI: make current_objfile local to symbol readers Tom Tromey
2011-06-14 17:52 ` Mark Kettenis
2011-06-14 18:01   ` Joel Brobecker
2011-06-14 18:46     ` Tom Tromey
2011-06-14 18:53       ` Tom Tromey
2011-06-14 18:57         ` Mark Kettenis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox