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

Reply via email to