From 6b91e405e375a27a5be3bc460395cf8c6e799a36 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Mon, 31 Oct 2016 11:53:13 +0000 Subject: [PATCH] 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. llvm-svn: 285562 --- lldb/source/Expression/DWARFExpression.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp index 4503182..c8b0b59 100644 --- a/lldb/source/Expression/DWARFExpression.cpp +++ b/lldb/source/Expression/DWARFExpression.cpp @@ -3031,14 +3031,14 @@ bool DWARFExpression::AddressRangeForLocationListEntry( 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); -- 2.7.4