clayborg added inline comments.
================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:431
const size_t num_ranges =
- die->GetAttributeAddressRanges(dwarf, this, ranges, false);
+ die->GetAttributeAddressRanges(dwarf, this, ranges, check_hi_lo_pc);
if (num_ranges > 0) {
----------------
sgraenitz wrote:
> @JDevlieghere Thanks for your feedback!
>
> @everyone:
> This parameter is, actually, one of the key questions in this review: If
> there is no DW_AT_range attribute for the compile unit, can we safely fall
> back to DW_AT_low/high_pc?
I have seen DWARF where the DW_AT_ranges is incorrect and I have seen cases
where the low pc is just set to zero and the high pc is set to the max address.
So you might have many overlapping ranges between different CUs in the latter
case. We might need to be more vigilant with high/low pc values though and that
was the reason that we previously ignored high/low pc values. If the stuff is
missing, it should index the DWARF and generate the address ranges table
manually right? What was the reasoning behind this change?
https://reviews.llvm.org/D52375
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits