* coffread.c (coffread_objfile): Rename from current_objfile.
* dbxread.c (dbxread_objfile): Rename from current_objfile. * mdebugread.c (mdebugread_objfile): Rename from current_objfile.
This commit is contained in:
parent
86cc002925
commit
dd707e8e61
|
@ -1,3 +1,9 @@
|
|||
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.
|
||||
|
||||
2011-06-14 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* jv-lang.c (jv_type_objfile_data_key, dynamics_objfile)
|
||||
|
|
|
@ -51,7 +51,7 @@ extern void _initialize_coffread (void);
|
|||
|
||||
/* The objfile we are currently reading. */
|
||||
|
||||
static struct objfile *current_objfile;
|
||||
static struct objfile *coffread_objfile;
|
||||
|
||||
struct coff_symfile_info
|
||||
{
|
||||
|
@ -359,7 +359,7 @@ coff_alloc_type (int index)
|
|||
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 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
|
|||
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 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
|
|||
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 @@ read_one_sym (struct coff_symbol *cs,
|
|||
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 @@ read_one_sym (struct coff_symbol *cs,
|
|||
{
|
||||
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);
|
||||
|
|
|
@ -107,7 +107,7 @@ struct symloc
|
|||
|
||||
/* 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 @@ add_this_object_header_file (int i)
|
|||
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 @@ add_new_header_file (char *name, int instance)
|
|||
|
||||
/* 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 @@ add_new_header_file (char *name, int instance)
|
|||
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 @@ read_ofile_symtab (struct partial_symtab *pst)
|
|||
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 @@ read_ofile_symtab (struct partial_symtab *pst)
|
|||
|
||||
end_stabs ();
|
||||
|
||||
current_objfile = NULL;
|
||||
dbxread_objfile = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ extern void _initialize_mdebugread (void);
|
|||
|
||||
/* The objfile we are currently reading. */
|
||||
|
||||
static struct objfile *current_objfile;
|
||||
static struct objfile *mdebugread_objfile;
|
||||
|
||||
|
||||
|
||||
|
@ -515,7 +515,7 @@ add_pending (FDR *fh, char *sh, struct type *t)
|
|||
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;
|
||||
|
@ -1008,7 +1008,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
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;
|
||||
|
@ -1053,12 +1053,12 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
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;
|
||||
|
@ -1149,9 +1149,9 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
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;
|
||||
|
@ -1534,19 +1534,19 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
|
||||
/* 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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
{
|
||||
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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
/* 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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
|| strcmp (TYPE_TAG_NAME (tp), name) != 0)
|
||||
TYPE_TAG_NAME (tp)
|
||||
= obsavestring (name, strlen (name),
|
||||
¤t_objfile->objfile_obstack);
|
||||
&mdebugread_objfile->objfile_obstack);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1718,7 +1718,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
/* 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 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
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)
|
||||
|
@ -1752,7 +1752,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
{
|
||||
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 @@ upgrade_type (int fd, struct type **tpp, int tq, union aux_ext *ax, int bigend,
|
|||
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 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, const char *filename)
|
|||
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 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, const char *filename)
|
|||
|
||||
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 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, const char *filename)
|
|||
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);
|
||||
|
||||
|
@ -4319,7 +4319,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, const char *filename)
|
|||
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)));
|
||||
|
@ -4362,7 +4362,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, const char *filename)
|
|||
/* Now link the psymtab and the symtab. */
|
||||
pst->symtab = st;
|
||||
|
||||
current_objfile = NULL;
|
||||
mdebugread_objfile = NULL;
|
||||
}
|
||||
|
||||
/* Ancillary parsing procedures. */
|
||||
|
@ -4439,7 +4439,7 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp,
|
|||
{
|
||||
*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 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp,
|
|||
{
|
||||
case btVoid:
|
||||
*tpp = init_type (type_code, 0, 0, (char *) NULL,
|
||||
current_objfile);
|
||||
mdebugread_objfile);
|
||||
*pname = "<undefined>";
|
||||
break;
|
||||
|
||||
|
@ -4562,7 +4562,7 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp,
|
|||
_("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 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp,
|
|||
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 @@ static struct symbol *
|
|||
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;
|
||||
}
|
||||
|
||||
|
@ -4896,7 +4896,7 @@ new_type (char *name)
|
|||
{
|
||||
struct type *t;
|
||||
|
||||
t = alloc_type (current_objfile);
|
||||
t = alloc_type (mdebugread_objfile);
|
||||
TYPE_NAME (t) = name;
|
||||
INIT_CPLUS_SPECIFIC (t);
|
||||
return t;
|
||||
|
|
Loading…
Reference in New Issue