@@ -46,8 +46,10 @@ ReadAddressFromDebugAddrSection(const DWARFUnit *dwarf_cu,
46
46
uint32_t index_size = dwarf_cu->GetAddressByteSize ();
47
47
dw_offset_t addr_base = dwarf_cu->GetAddrBase ();
48
48
lldb::offset_t offset = addr_base + index * index_size;
49
- return dwarf_cu->GetSymbolFileDWARF ()->get_debug_addr_data ().GetMaxU64 (
50
- &offset, index_size);
49
+ return dwarf_cu->GetSymbolFileDWARF ()
50
+ ->GetDWARFContext ()
51
+ .getOrLoadAddrData ()
52
+ .GetMaxU64 (&offset, index_size);
51
53
}
52
54
53
55
// DWARFExpression constructor
@@ -2813,12 +2815,7 @@ bool DWARFExpression::Evaluate(
2813
2815
return false ;
2814
2816
}
2815
2817
uint64_t index = opcodes.GetULEB128 (&offset);
2816
- uint32_t index_size = dwarf_cu->GetAddressByteSize ();
2817
- dw_offset_t addr_base = dwarf_cu->GetAddrBase ();
2818
- lldb::offset_t offset = addr_base + index * index_size;
2819
- uint64_t value =
2820
- dwarf_cu->GetSymbolFileDWARF ()->get_debug_addr_data ().GetMaxU64 (
2821
- &offset, index_size);
2818
+ lldb::addr_t value = ReadAddressFromDebugAddrSection (dwarf_cu, index );
2822
2819
stack.push_back (Scalar (value));
2823
2820
stack.back ().SetValueType (Value::eValueTypeFileAddress);
2824
2821
} break ;
@@ -2838,22 +2835,8 @@ bool DWARFExpression::Evaluate(
2838
2835
return false ;
2839
2836
}
2840
2837
uint64_t index = opcodes.GetULEB128 (&offset);
2841
- uint32_t index_size = dwarf_cu->GetAddressByteSize ();
2842
- dw_offset_t addr_base = dwarf_cu->GetAddrBase ();
2843
- lldb::offset_t offset = addr_base + index * index_size;
2844
- const DWARFDataExtractor &debug_addr =
2845
- dwarf_cu->GetSymbolFileDWARF ()->get_debug_addr_data ();
2846
- switch (index_size) {
2847
- case 4 :
2848
- stack.push_back (Scalar (debug_addr.GetU32 (&offset)));
2849
- break ;
2850
- case 8 :
2851
- stack.push_back (Scalar (debug_addr.GetU64 (&offset)));
2852
- break ;
2853
- default :
2854
- assert (false && " Unhandled index size" );
2855
- return false ;
2856
- }
2838
+ lldb::addr_t value = ReadAddressFromDebugAddrSection (dwarf_cu, index );
2839
+ stack.push_back (Scalar (value));
2857
2840
} break ;
2858
2841
2859
2842
default :
0 commit comments