mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-11 11:23:35 +08:00
* 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>
|
||||
|
||||
* 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_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)
|
||||
addrmap_set_empty (objfile->psymtabs_addrmap,
|
||||
range_beginning + baseaddr,
|
||||
@ -9599,9 +9610,20 @@ dwarf2_record_block_ranges (struct die_info *die, struct block *block,
|
||||
if (start == end)
|
||||
continue;
|
||||
|
||||
record_block_range (block,
|
||||
baseaddr + base + start,
|
||||
baseaddr + base + end - 1);
|
||||
start += base + baseaddr;
|
||||
end += base + baseaddr;
|
||||
|
||||
/* 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
Block a user