* dwarf2read.c (dwarf2_ranges_read): Ignore ranges starting at zero if
there's no section at address zero. (dwarf2_record_block_ranges): Ditto.
This commit is contained in:
parent
a7c3d16228
commit
0109304504
|
@ -1,3 +1,9 @@
|
||||||
|
2012-07-19 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* dwarf2read.c (dwarf2_ranges_read): Ignore ranges starting at zero if
|
||||||
|
there's no section at address zero.
|
||||||
|
(dwarf2_record_block_ranges): Ditto.
|
||||||
|
|
||||||
2012-07-19 Yao Qi <yao@codesourcery.com>
|
2012-07-19 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
* command.h, remote.c: Fix a typo in comment.
|
* command.h, remote.c: Fix a typo in comment.
|
||||||
|
|
|
@ -9284,6 +9284,17 @@ dwarf2_ranges_read (unsigned offset, CORE_ADDR *low_return,
|
||||||
range_beginning += base;
|
range_beginning += base;
|
||||||
range_end += base;
|
range_end += base;
|
||||||
|
|
||||||
|
/* A not-uncommon case of bad debug info.
|
||||||
|
Don't pollute the addrmap with bad data. */
|
||||||
|
if (range_beginning + baseaddr == 0
|
||||||
|
&& !dwarf2_per_objfile->has_section_at_zero)
|
||||||
|
{
|
||||||
|
complaint (&symfile_complaints,
|
||||||
|
_(".debug_ranges entry has start address of zero"
|
||||||
|
" [in module %s]"), objfile->name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (ranges_pst != NULL)
|
if (ranges_pst != NULL)
|
||||||
addrmap_set_empty (objfile->psymtabs_addrmap,
|
addrmap_set_empty (objfile->psymtabs_addrmap,
|
||||||
range_beginning + baseaddr,
|
range_beginning + baseaddr,
|
||||||
|
@ -9599,9 +9610,20 @@ dwarf2_record_block_ranges (struct die_info *die, struct block *block,
|
||||||
if (start == end)
|
if (start == end)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
record_block_range (block,
|
start += base + baseaddr;
|
||||||
baseaddr + base + start,
|
end += base + baseaddr;
|
||||||
baseaddr + base + end - 1);
|
|
||||||
|
/* A not-uncommon case of bad debug info.
|
||||||
|
Don't pollute the addrmap with bad data. */
|
||||||
|
if (start == 0 && !dwarf2_per_objfile->has_section_at_zero)
|
||||||
|
{
|
||||||
|
complaint (&symfile_complaints,
|
||||||
|
_(".debug_ranges entry has start address of zero"
|
||||||
|
" [in module %s]"), objfile->name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
record_block_range (block, start, end - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue