Author: labath Date: Mon Oct 31 06:53:13 2016 New Revision: 285562 URL: http://llvm.org/viewvc/llvm-project?rev=285562&view=rev Log: Use the right dwarf attributes for parsing location list entries (fixup for r285441)
Note that the parsing code here is still incorrect wrt. the new draft of the dwarf 5 spec (seconds arguments to DW_LLE_startx_length should be uleb128, not u32). Once we have compilers actually emitting dwarf conformant with the new spec, we'll need to revisit this and figure out the proper behavior there. This should unbreak the linux bot. Modified: lldb/trunk/source/Expression/DWARFExpression.cpp Modified: lldb/trunk/source/Expression/DWARFExpression.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/DWARFExpression.cpp?rev=285562&r1=285561&r2=285562&view=diff ============================================================================== --- lldb/trunk/source/Expression/DWARFExpression.cpp (original) +++ lldb/trunk/source/Expression/DWARFExpression.cpp Mon Oct 31 06:53:13 2016 @@ -3031,14 +3031,14 @@ bool DWARFExpression::AddressRangeForLoc switch (debug_loc_data.GetU8(offset_ptr)) { case DW_LLE_end_of_list: return false; - case DW_LLE_start_end: { + case DW_LLE_startx_endx: { uint64_t index = debug_loc_data.GetULEB128(offset_ptr); low_pc = ReadAddressFromDebugAddrSection(dwarf_cu, index); index = debug_loc_data.GetULEB128(offset_ptr); high_pc = ReadAddressFromDebugAddrSection(dwarf_cu, index); return true; } - case DW_LLE_start_length: { + case DW_LLE_startx_length: { uint64_t index = debug_loc_data.GetULEB128(offset_ptr); low_pc = ReadAddressFromDebugAddrSection(dwarf_cu, index); uint32_t length = debug_loc_data.GetU32(offset_ptr); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits