/* The objfile we are currently reading. */
-static struct objfile *current_objfile;
+static struct objfile *coffread_objfile;
struct coff_symfile_info
{
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;
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;
ALL_OBJFILE_SYMTABS (objfile, s)
patch_opaque_types (s);
- current_objfile = NULL;
+ coffread_objfile = NULL;
}
\f
/* Routines for reading headers and symbols from executable. */
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);
{
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);
/* 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. */
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);
/* 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;
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)
{
objfile->section_offsets. */
section_offsets = pst->section_offsets;
- current_objfile = objfile;
+ dbxread_objfile = objfile;
subfile_stack = NULL;
stringtab_global = DBX_STRINGTAB (objfile);
end_stabs ();
- current_objfile = NULL;
+ dbxread_objfile = NULL;
}
\f
/* The objfile we are currently reading. */
-static struct objfile *current_objfile;
+static struct objfile *mdebugread_objfile;
\f
if (!p)
{
p = ((struct mdebug_pending *)
- obstack_alloc (¤t_objfile->objfile_obstack,
+ obstack_alloc (&mdebugread_objfile->objfile_obstack,
sizeof (struct mdebug_pending)));
p->s = sh;
p->t = t;
if (sh->iss == 0 || name[0] == '.' || name[0] == '\0')
TYPE_TAG_NAME (t) = NULL;
else
- TYPE_TAG_NAME (t) = obconcat (¤t_objfile->objfile_obstack,
+ TYPE_TAG_NAME (t) = obconcat (&mdebugread_objfile->objfile_obstack,
name, (char *) NULL);
TYPE_CODE (t) = type_code;
FIELD_BITSIZE (*f) = 0;
enum_sym = ((struct symbol *)
- obstack_alloc (¤t_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),
- ¤t_objfile->objfile_obstack));
+ &mdebugread_objfile->objfile_obstack));
SYMBOL_CLASS (enum_sym) = LOC_CONST;
SYMBOL_TYPE (enum_sym) = t;
SYMBOL_DOMAIN (enum_sym) = VAR_DOMAIN;
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 (¤t_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;
/* 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. */
break;
default:
basic_type_complaint (t->bt, sym_name);
- return basic_type (btInt, current_objfile);
+ return basic_type (btInt, mdebugread_objfile);
}
}
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
{
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;
/* 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. */
|| strcmp (TYPE_TAG_NAME (tp), name) != 0)
TYPE_TAG_NAME (tp)
= obsavestring (name, strlen (name),
- ¤t_objfile->objfile_obstack);
+ &mdebugread_objfile->objfile_obstack);
}
}
/* 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
if (TYPE_NAME (tp) == NULL
|| strcmp (TYPE_NAME (tp), name) != 0)
TYPE_NAME (tp) = obsavestring (name, strlen (name),
- ¤t_objfile->objfile_obstack);
+ &mdebugread_objfile->objfile_obstack);
}
}
if (t->bt == btTypedef)
{
complaint (&symfile_complaints,
_("unable to cross ref btTypedef for %s"), sym_name);
- tp = basic_type (btInt, current_objfile);
+ tp = basic_type (btInt, mdebugread_objfile);
}
}
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. */
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
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++)
procedure specific info. */
struct mdebug_extra_func_info *e =
((struct mdebug_extra_func_info *)
- obstack_alloc (¤t_objfile->objfile_obstack,
+ obstack_alloc (&mdebugread_objfile->objfile_obstack,
sizeof (struct mdebug_extra_func_info)));
struct symbol *s = new_symbol (MDEBUG_EFI_SYMBOL_NAME);
size = lines->nitems;
if (size > 1)
--size;
- LINETABLE (st) = obstack_copy (¤t_objfile->objfile_obstack,
+ LINETABLE (st) = obstack_copy (&mdebugread_objfile->objfile_obstack,
lines,
(sizeof (struct linetable)
+ size * sizeof (lines->item)));
/* Now link the psymtab and the symtab. */
pst->symtab = st;
- current_objfile = NULL;
+ mdebugread_objfile = NULL;
}
\f
/* Ancillary parsing procedures. */
{
*pname = "<undefined>";
*tpp = init_type (type_code, 0, TYPE_FLAG_STUB,
- (char *) NULL, current_objfile);
+ (char *) NULL, mdebugread_objfile);
return result;
}
{
case btVoid:
*tpp = init_type (type_code, 0, 0, (char *) NULL,
- current_objfile);
+ mdebugread_objfile);
*pname = "<undefined>";
break;
_("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;
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);
}
new_symbol (char *name)
{
struct symbol *s = ((struct symbol *)
- obstack_alloc (¤t_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;
}
{
struct type *t;
- t = alloc_type (current_objfile);
+ t = alloc_type (mdebugread_objfile);
TYPE_NAME (t) = name;
INIT_CPLUS_SPECIFIC (t);
return t;