Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ bool DWARFFormValue::ExtractValue(const DWARFDataExtractor &data,
bool indirect = false;
bool is_block = false;
m_value.data = nullptr;
uint8_t ref_addr_size;
// Read the value for the form into value and follow and DW_FORM_indirect
// instances we run into
do {
Expand Down Expand Up @@ -78,8 +77,8 @@ bool DWARFFormValue::ExtractValue(const DWARFDataExtractor &data,
case DW_FORM_line_strp:
case DW_FORM_sec_offset:
assert(m_unit);
ref_addr_size = m_unit->GetFormParams().getDwarfOffsetByteSize();
m_value.uval = data.GetMaxU64(offset_ptr, ref_addr_size);
m_value.uval = data.GetMaxU64(
offset_ptr, m_unit->GetFormParams().getDwarfOffsetByteSize());
break;
case DW_FORM_addrx1:
case DW_FORM_strx1:
Expand Down Expand Up @@ -121,8 +120,8 @@ bool DWARFFormValue::ExtractValue(const DWARFDataExtractor &data,
break;
case DW_FORM_ref_addr:
assert(m_unit);
ref_addr_size = m_unit->GetFormParams().getRefAddrByteSize();
m_value.uval = data.GetMaxU64(offset_ptr, ref_addr_size);
m_value.uval = data.GetMaxU64(
offset_ptr, m_unit->GetFormParams().getRefAddrByteSize());
break;
case DW_FORM_indirect:
m_form = static_cast<dw_form_t>(data.GetULEB128(offset_ptr));
Expand Down Expand Up @@ -208,7 +207,6 @@ bool DWARFFormValue::SkipValue(dw_form_t form,
const DWARFDataExtractor &debug_info_data,
lldb::offset_t *offset_ptr,
const DWARFUnit *unit) {
uint8_t ref_addr_size;
switch (form) {
// Blocks if inlined data that have a length field and the data bytes inlined
// in the .debug_info
Expand Down Expand Up @@ -247,8 +245,7 @@ bool DWARFFormValue::SkipValue(dw_form_t form,
case DW_FORM_ref_addr:
assert(unit); // Unit must be valid for DW_FORM_ref_addr objects or we will
// get this wrong
ref_addr_size = unit->GetFormParams().getRefAddrByteSize();
*offset_ptr += ref_addr_size;
*offset_ptr += unit->GetFormParams().getRefAddrByteSize();
return true;

// 0 bytes values (implied from DW_FORM)
Expand Down Expand Up @@ -284,8 +281,7 @@ bool DWARFFormValue::SkipValue(dw_form_t form,
case DW_FORM_strp:
case DW_FORM_line_strp:
assert(unit);
ref_addr_size = unit->GetFormParams().getDwarfOffsetByteSize();
*offset_ptr += ref_addr_size;
*offset_ptr += unit->GetFormParams().getDwarfOffsetByteSize();
return true;

// 4 byte values
Expand Down
Loading