* dwarf2read.c (dwarf2_symbol_mark_computed): Fix formatting.

Use the original objfile if necessary.
This commit is contained in:
Daniel Jacobowitz
2007-06-05 15:04:40 +00:00
parent 5ba684e24c
commit 93e7bd98af
2 changed files with 17 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2007-06-05 Daniel Jacobowitz <dan@codesourcery.com>
* dwarf2read.c (dwarf2_symbol_mark_computed): Fix formatting.
Use the original objfile if necessary.
2007-06-04 Daniel Jacobowitz <dan@codesourcery.com> 2007-06-04 Daniel Jacobowitz <dan@codesourcery.com>
* defs.h (ldirname): New prototype. * defs.h (ldirname): New prototype.

View File

@ -1046,8 +1046,8 @@ static void dwarf_decode_macros (struct line_header *, unsigned int,
static int attr_form_is_block (struct attribute *); static int attr_form_is_block (struct attribute *);
static void static void dwarf2_symbol_mark_computed (struct attribute *attr,
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym, struct symbol *sym,
struct dwarf2_cu *cu); struct dwarf2_cu *cu);
static gdb_byte *skip_one_die (gdb_byte *info_ptr, struct abbrev_info *abbrev, static gdb_byte *skip_one_die (gdb_byte *info_ptr, struct abbrev_info *abbrev,
@ -9698,6 +9698,13 @@ static void
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym, dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu) struct dwarf2_cu *cu)
{ {
struct objfile *objfile = cu->objfile;
/* Save the master objfile, so that we can report and look up the
correct file containing this variable. */
if (objfile->separate_debug_objfile_backlink)
objfile = objfile->separate_debug_objfile_backlink;
if ((attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8) if ((attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8)
/* ".debug_loc" may not exist at all, or the offset may be outside /* ".debug_loc" may not exist at all, or the offset may be outside
the section. If so, fall through to the complaint in the the section. If so, fall through to the complaint in the
@ -9708,7 +9715,7 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
baton = obstack_alloc (&cu->objfile->objfile_obstack, baton = obstack_alloc (&cu->objfile->objfile_obstack,
sizeof (struct dwarf2_loclist_baton)); sizeof (struct dwarf2_loclist_baton));
baton->objfile = cu->objfile; baton->objfile = objfile;
/* We don't know how long the location list is, but make sure we /* We don't know how long the location list is, but make sure we
don't run off the edge of the section. */ don't run off the edge of the section. */
@ -9728,7 +9735,7 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
baton = obstack_alloc (&cu->objfile->objfile_obstack, baton = obstack_alloc (&cu->objfile->objfile_obstack,
sizeof (struct dwarf2_locexpr_baton)); sizeof (struct dwarf2_locexpr_baton));
baton->objfile = cu->objfile; baton->objfile = objfile;
if (attr_form_is_block (attr)) if (attr_form_is_block (attr))
{ {