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
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to