diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile')
38 files changed, 230 insertions, 169 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt b/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt index 6464dc3fa8b..05aa0b83e9f 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt +++ b/lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt @@ -3,6 +3,7 @@ set(LLVM_NO_RTTI 1) add_lldb_library(lldbPluginSymbolFileDWARF DWARFAbbreviationDeclaration.cpp DWARFCompileUnit.cpp + DWARFDataExtractor.cpp DWARFDebugAbbrev.cpp DWARFDebugAranges.cpp DWARFDebugArangeSet.cpp diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp index 06e87eab33c..ff2e3762556 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp @@ -32,13 +32,13 @@ DWARFAbbreviationDeclaration::DWARFAbbreviationDeclaration(dw_tag_t tag, uint8_t } bool -DWARFAbbreviationDeclaration::Extract(const DataExtractor& data, lldb::offset_t* offset_ptr) +DWARFAbbreviationDeclaration::Extract(const DWARFDataExtractor& data, lldb::offset_t* offset_ptr) { return Extract(data, offset_ptr, data.GetULEB128(offset_ptr)); } bool -DWARFAbbreviationDeclaration::Extract(const DataExtractor& data, lldb::offset_t *offset_ptr, dw_uleb128_t code) +DWARFAbbreviationDeclaration::Extract(const DWARFDataExtractor& data, lldb::offset_t *offset_ptr, dw_uleb128_t code) { m_code = code; m_attributes.clear(); @@ -139,7 +139,7 @@ DWARFAbbreviationDeclaration::CopyExcludingAddressAttributes(const DWARFAbbrevia void DWARFAbbreviationDeclaration::CopyChangingStringToStrp( const DWARFAbbreviationDeclaration& abbr_decl, - const DataExtractor& debug_info_data, + const DWARFDataExtractor& debug_info_data, dw_offset_t debug_info_offset, const DWARFCompileUnit* cu, const uint32_t strp_min_len diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h index f462b7fc108..48b9ebe37ee 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h @@ -58,13 +58,13 @@ public: void CopyExcludingAddressAttributes(const DWARFAbbreviationDeclaration& abbr_decl, const uint32_t idx); void CopyChangingStringToStrp( const DWARFAbbreviationDeclaration& abbr_decl, - const lldb_private::DataExtractor& debug_info_data, + const lldb_private::DWARFDataExtractor& debug_info_data, dw_offset_t debug_info_offset, const DWARFCompileUnit* cu, const uint32_t strp_min_len); uint32_t FindAttributeIndex(dw_attr_t attr) const; - bool Extract(const lldb_private::DataExtractor& data, lldb::offset_t *offset_ptr); - bool Extract(const lldb_private::DataExtractor& data, lldb::offset_t *offset_ptr, dw_uleb128_t code); + bool Extract(const lldb_private::DWARFDataExtractor& data, lldb::offset_t *offset_ptr); + bool Extract(const lldb_private::DWARFDataExtractor& data, lldb::offset_t *offset_ptr, dw_uleb128_t code); // void Append(BinaryStreamBuf& out_buff) const; bool IsValid(); void Dump(lldb_private::Stream *s) const; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp index b1b8e36e655..cf664db28ac 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp @@ -69,7 +69,7 @@ DWARFCompileUnit::Clear() } bool -DWARFCompileUnit::Extract(const DataExtractor &debug_info, lldb::offset_t *offset_ptr) +DWARFCompileUnit::Extract(const DWARFDataExtractor &debug_info, lldb::offset_t *offset_ptr) { Clear(); @@ -163,7 +163,7 @@ DWARFCompileUnit::ExtractDIEsIfNeeded (bool cu_die_only) uint32_t depth = 0; // We are in our compile unit, parse starting at the offset // we were told to parse - const DataExtractor& debug_info_data = m_dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = m_dwarf2Data->get_debug_info_data(); std::vector<uint32_t> die_index_stack; die_index_stack.reserve(32); die_index_stack.push_back(0); @@ -288,7 +288,7 @@ DWARFCompileUnit::GetAbbrevOffset() const bool DWARFCompileUnit::Verify(Stream *s) const { - const DataExtractor& debug_info = m_dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info = m_dwarf2Data->get_debug_info_data(); bool valid_offset = debug_info.ValidOffset(m_offset); bool length_OK = debug_info.ValidOffset(GetNextCompileUnitOffset()-1); bool version_OK = SymbolFileDWARF::SupportedVersion(m_version); @@ -588,7 +588,7 @@ DWARFCompileUnit::Index (const uint32_t cu_idx, NameToDIE& types, NameToDIE& namespaces) { - const DataExtractor* debug_str = &m_dwarf2Data->get_debug_str_data(); + const DWARFDataExtractor* debug_str = &m_dwarf2Data->get_debug_str_data(); const uint8_t *fixed_form_sizes = DWARFFormValue::GetFixedFormSizesForAddressSize (GetAddressByteSize()); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h index c4116a85efe..35597f38942 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h @@ -29,7 +29,7 @@ public: DWARFCompileUnit(SymbolFileDWARF* dwarf2Data); - bool Extract(const lldb_private::DataExtractor &debug_info, lldb::offset_t *offset_ptr); + bool Extract(const lldb_private::DWARFDataExtractor &debug_info, lldb::offset_t *offset_ptr); size_t ExtractDIEsIfNeeded (bool cu_die_only); bool LookupAddress( const dw_addr_t address, diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp new file mode 100644 index 00000000000..9bf47cd7a9a --- /dev/null +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp @@ -0,0 +1,30 @@ +//===-- DWARFDataExtractor.cpp ----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "DWARFDataExtractor.h" + +namespace lldb_private { + +uint64_t +DWARFDataExtractor::GetDWARFInitialLength(lldb::offset_t *offset_ptr) const +{ + uint64_t length = GetU32(offset_ptr); + m_is_dwarf64 = (length == UINT32_MAX); + if (m_is_dwarf64) + length = GetU64(offset_ptr); + return length; +} + +dw_offset_t +DWARFDataExtractor::GetDWARFOffset(lldb::offset_t *offset_ptr) const +{ + return GetMaxU64(offset_ptr, m_is_dwarf64 ? 8 : 4); +} + +} diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h new file mode 100644 index 00000000000..eef565ec52a --- /dev/null +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h @@ -0,0 +1,40 @@ +//===-- DWARFDataExtractor.h ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_DWARFDataExtractor_h_ +#define liblldb_DWARFDataExtractor_h_ + +// Other libraries and framework includes. +#include "lldb/Core/DataExtractor.h" +#include "lldb/Core/dwarf.h" + +namespace lldb_private { + +class DWARFDataExtractor : public lldb_private::DataExtractor +{ +public: + DWARFDataExtractor() : DataExtractor(), m_is_dwarf64(false) { }; + + DWARFDataExtractor (const DWARFDataExtractor& data, lldb::offset_t offset, lldb::offset_t length) : + DataExtractor(data, offset, length), m_is_dwarf64(false) { }; + + uint64_t + GetDWARFInitialLength(lldb::offset_t *offset_ptr) const; + + dw_offset_t + GetDWARFOffset(lldb::offset_t *offset_ptr) const; + +protected: + mutable bool m_is_dwarf64; +}; + +} + +#endif // liblldb_DWARFDataExtractor_h_ + diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp index 47657d5089b..6773d0762a2 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// #include "DWARFDebugAbbrev.h" -#include "lldb/Core/DataExtractor.h" +#include "DWARFDataExtractor.h" #include "lldb/Core/Stream.h" using namespace lldb; @@ -30,7 +30,7 @@ DWARFAbbreviationDeclarationSet::Clear() // DWARFAbbreviationDeclarationSet::Extract() //---------------------------------------------------------------------- bool -DWARFAbbreviationDeclarationSet::Extract(const DataExtractor& data, lldb::offset_t *offset_ptr) +DWARFAbbreviationDeclarationSet::Extract(const DWARFDataExtractor& data, lldb::offset_t *offset_ptr) { const lldb::offset_t begin_offset = *offset_ptr; m_offset = begin_offset; @@ -142,7 +142,7 @@ DWARFDebugAbbrev::DWARFDebugAbbrev() : // DWARFDebugAbbrev::Parse() //---------------------------------------------------------------------- void -DWARFDebugAbbrev::Parse(const DataExtractor& data) +DWARFDebugAbbrev::Parse(const DWARFDataExtractor& data) { lldb::offset_t offset = 0; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h index eba439928a2..8ec2c4ba8e2 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h @@ -43,7 +43,7 @@ public: void Clear(); dw_offset_t GetOffset() const { return m_offset; } void Dump(lldb_private::Stream *s) const; - bool Extract(const lldb_private::DataExtractor& data, lldb::offset_t *offset_ptr); + bool Extract(const lldb_private::DWARFDataExtractor& data, lldb::offset_t *offset_ptr); //void Encode(BinaryStreamBuf& debug_abbrev_buf) const; dw_uleb128_t AppendAbbrevDeclSequential(const DWARFAbbreviationDeclaration& abbrevDecl); @@ -65,7 +65,7 @@ public: DWARFDebugAbbrev(); const DWARFAbbreviationDeclarationSet* GetAbbreviationDeclarationSet(dw_offset_t cu_abbr_offset) const; void Dump(lldb_private::Stream *s) const; - void Parse(const lldb_private::DataExtractor& data); + void Parse(const lldb_private::DWARFDataExtractor& data); protected: DWARFAbbreviationDeclarationCollMap m_abbrevCollMap; mutable DWARFAbbreviationDeclarationCollMapConstIter m_prev_abbr_offset_pos; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp index 7dc32127313..d083f8a615c 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp @@ -162,7 +162,7 @@ DWARFDebugArangeSet::AddDescriptor(const DWARFDebugArangeSet::Descriptor& range) } bool -DWARFDebugArangeSet::Extract(const DataExtractor &data, lldb::offset_t *offset_ptr) +DWARFDebugArangeSet::Extract(const DWARFDataExtractor &data, lldb::offset_t *offset_ptr) { if (data.ValidOffset(*offset_ptr)) { @@ -183,20 +183,9 @@ DWARFDebugArangeSet::Extract(const DataExtractor &data, lldb::offset_t *offset_p // descriptor on the target system. This header is followed by a series // of tuples. Each tuple consists of an address and a length, each in // the size appropriate for an address on the target architecture. - size_t dwarf_offset_size = 4; - m_header.length = data.GetU32(offset_ptr); - if (m_header.length == 0xffffffff) - { - dwarf_offset_size = 8; - m_header.length = data.GetU64(offset_ptr); - } - else if (m_header.length >= 0xffffff00) - { - // Reserved. - return false; - } + m_header.length = data.GetDWARFInitialLength(offset_ptr); m_header.version = data.GetU16(offset_ptr); - m_header.cu_offset = data.GetMaxU64(offset_ptr, dwarf_offset_size); + m_header.cu_offset = data.GetDWARFOffset(offset_ptr); m_header.addr_size = data.GetU8(offset_ptr); m_header.seg_size = data.GetU8(offset_ptr); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h index 19ec8d042e7..fde36b7e0ad 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h @@ -41,7 +41,7 @@ public: void SetHeader(uint16_t version, uint32_t cu_offset, uint8_t addr_size, uint8_t seg_size); void AddDescriptor(const DWARFDebugArangeSet::Descriptor& range); void Compact(); - bool Extract(const lldb_private::DataExtractor &data, lldb::offset_t *offset_ptr); + bool Extract(const lldb_private::DWARFDataExtractor &data, lldb::offset_t *offset_ptr); void Dump(lldb_private::Stream *s) const; dw_offset_t GetCompileUnitDIEOffset() const { return m_header.cu_offset; } dw_offset_t GetOffsetOfNextEntry() const; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp index 3b004c4b389..4f77bff86bd 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp @@ -56,7 +56,7 @@ public: // Extract //---------------------------------------------------------------------- bool -DWARFDebugAranges::Extract(const DataExtractor &debug_aranges_data) +DWARFDebugAranges::Extract(const DWARFDataExtractor &debug_aranges_data) { if (debug_aranges_data.ValidOffset(0)) { diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h index 88db929226a..206aa3a60f4 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h @@ -35,7 +35,7 @@ public: } bool - Extract(const lldb_private::DataExtractor &debug_aranges_data); + Extract(const lldb_private::DWARFDataExtractor &debug_aranges_data); bool Generate(SymbolFileDWARF* dwarf2Data); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp index 94a9541251d..d4db12c17a4 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp @@ -57,7 +57,7 @@ DWARFDebugInfo::GetCompileUnitAranges () Log *log (LogChannelDWARF::GetLogIfAll(DWARF_LOG_DEBUG_ARANGES)); m_cu_aranges_ap.reset (new DWARFDebugAranges()); - const DataExtractor &debug_aranges_data = m_dwarf2Data->get_debug_aranges_data(); + const DWARFDataExtractor &debug_aranges_data = m_dwarf2Data->get_debug_aranges_data(); if (debug_aranges_data.GetByteSize() > 0) { if (log) @@ -163,7 +163,7 @@ DWARFDebugInfo::ParseCompileUnitHeadersIfNeeded() if (m_dwarf2Data != NULL) { lldb::offset_t offset = 0; - const DataExtractor &debug_info_data = m_dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor &debug_info_data = m_dwarf2Data->get_debug_info_data(); while (debug_info_data.ValidOffset(offset)) { DWARFCompileUnitSP cu_sp(new DWARFCompileUnit(m_dwarf2Data)); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp index 5dd81b7bb96..37741eb1da9 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp @@ -116,7 +116,7 @@ DWARFDebugInfoEntry::Attributes::FormValueAsUnsignedAtIndex(SymbolFileDWARF* dwa bool DWARFDebugInfoEntry::FastExtract ( - const DataExtractor& debug_info_data, + const DWARFDataExtractor& debug_info_data, const DWARFCompileUnit* cu, const uint8_t *fixed_form_sizes, lldb::offset_t *offset_ptr @@ -281,8 +281,8 @@ DWARFDebugInfoEntry::Extract lldb::offset_t *offset_ptr ) { - const DataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); -// const DataExtractor& debug_str_data = dwarf2Data->get_debug_str_data(); + const DWARFDataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); +// const DWARFDataExtractor& debug_str_data = dwarf2Data->get_debug_str_data(); const uint32_t cu_end_offset = cu->GetNextCompileUnitOffset(); const uint8_t cu_addr_size = cu->GetAddressByteSize(); lldb::offset_t offset = *offset_ptr; @@ -591,7 +591,7 @@ DWARFDebugInfoEntry::DumpAncestry // // The number of attributes are the same... // if (a_attr_count > 0) // { -// const DataExtractor* debug_str_data_ptr = &dwarf2Data->get_debug_str_data(); +// const DWARFDataExtractor* debug_str_data_ptr = &dwarf2Data->get_debug_str_data(); // // uint32_t i; // for (i=0; i<a_attr_count; ++i) @@ -767,7 +767,7 @@ DWARFDebugInfoEntry::GetDIENamesAndRanges if (abbrevDecl) { - const DataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); if (!debug_info_data.ValidOffset(offset)) return false; @@ -880,7 +880,7 @@ DWARFDebugInfoEntry::GetDIENamesAndRanges } else { - const DataExtractor &debug_loc_data = dwarf2Data->get_debug_loc_data(); + const DWARFDataExtractor &debug_loc_data = dwarf2Data->get_debug_loc_data(); const dw_offset_t debug_loc_offset = form_value.Unsigned(); size_t loc_list_length = DWARFLocationList::Size(debug_loc_data, debug_loc_offset); @@ -961,7 +961,7 @@ DWARFDebugInfoEntry::Dump uint32_t recurse_depth ) const { - const DataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); lldb::offset_t offset = m_offset; if (debug_info_data.ValidOffset(offset)) @@ -1055,7 +1055,7 @@ DWARFDebugInfoEntry::DumpAttribute ( SymbolFileDWARF* dwarf2Data, const DWARFCompileUnit* cu, - const DataExtractor& debug_info_data, + const DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, Stream &s, dw_attr_t attr, @@ -1065,7 +1065,7 @@ DWARFDebugInfoEntry::DumpAttribute bool verbose = s.GetVerbose(); bool show_form = s.GetFlags().Test(DWARFDebugInfo::eDumpFlag_ShowForm); - const DataExtractor* debug_str_data = dwarf2Data ? &dwarf2Data->get_debug_str_data() : NULL; + const DWARFDataExtractor* debug_str_data = dwarf2Data ? &dwarf2Data->get_debug_str_data() : NULL; if (verbose) s.Offset (*offset_ptr); else @@ -1133,7 +1133,7 @@ DWARFDebugInfoEntry::DumpAttribute form_value.Dump(s, debug_str_data, cu); // Location description is inlined in data in the form value - DataExtractor locationData(debug_info_data, (*offset_ptr) - form_value.Unsigned(), form_value.Unsigned()); + DWARFDataExtractor locationData(debug_info_data, (*offset_ptr) - form_value.Unsigned(), form_value.Unsigned()); if ( verbose ) s.PutCString(" ( "); print_dwarf_expression (s, locationData, DWARFCompileUnit::GetAddressByteSize(cu), 4, false); if ( verbose ) s.PutCString(" )"); @@ -1223,7 +1223,7 @@ DWARFDebugInfoEntry::GetAttributes if (abbrevDecl) { - const DataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); if (fixed_form_sizes == NULL) fixed_form_sizes = DWARFFormValue::GetFixedFormSizesForAddressSize(cu->GetAddressByteSize()); @@ -1324,7 +1324,7 @@ DWARFDebugInfoEntry::GetAttributeValue if (attr_idx != DW_INVALID_INDEX) { - const DataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = dwarf2Data->get_debug_info_data(); uint32_t idx=0; while (idx<attr_idx) @@ -1497,7 +1497,7 @@ DWARFDebugInfoEntry::GetAttributeValueAsLocation SymbolFileDWARF* dwarf2Data, const DWARFCompileUnit* cu, const dw_attr_t attr, - DataExtractor& location_data, + DWARFDataExtractor& location_data, uint32_t &block_size ) const { @@ -1514,7 +1514,7 @@ DWARFDebugInfoEntry::GetAttributeValueAsLocation if (blockData) { // We have an inlined location list in the .debug_info section - const DataExtractor& debug_info = dwarf2Data->get_debug_info_data(); + const DWARFDataExtractor& debug_info = dwarf2Data->get_debug_info_data(); dw_offset_t block_offset = blockData - debug_info.GetDataStart(); block_size = (end_addr_offset - attr_offset) - form_value.Unsigned(); location_data.SetData(debug_info, block_offset, block_size); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h index 85f4109ae01..f7405755528 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h @@ -142,7 +142,7 @@ public: DWARFDebugAranges* debug_aranges) const; bool FastExtract( - const lldb_private::DataExtractor& debug_info_data, + const lldb_private::DWARFDataExtractor& debug_info_data, const DWARFCompileUnit* cu, const uint8_t *fixed_form_sizes, lldb::offset_t* offset_ptr); @@ -214,7 +214,7 @@ public: SymbolFileDWARF* dwarf2Data, const DWARFCompileUnit* cu, const dw_attr_t attr, - lldb_private::DataExtractor& data, + lldb_private::DWARFDataExtractor& data, uint32_t &block_size) const; const char* GetName( @@ -289,7 +289,7 @@ public: static void DumpAttribute( SymbolFileDWARF* dwarf2Data, const DWARFCompileUnit* cu, - const lldb_private::DataExtractor& debug_info_data, + const lldb_private::DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, lldb_private::Stream &s, dw_attr_t attr, diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp index 12612a06dd7..0834743e320 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp @@ -32,7 +32,7 @@ using namespace std; // representation. //---------------------------------------------------------------------- void -DWARFDebugLine::Parse(const DataExtractor& debug_line_data) +DWARFDebugLine::Parse(const DWARFDataExtractor& debug_line_data) { m_lineTableMap.clear(); lldb::offset_t offset = 0; @@ -59,7 +59,7 @@ DWARFDebugLine::Parse(const DataExtractor& debug_line_data) } void -DWARFDebugLine::ParseIfNeeded(const DataExtractor& debug_line_data) +DWARFDebugLine::ParseIfNeeded(const DWARFDataExtractor& debug_line_data) { if (m_lineTableMap.empty()) Parse(debug_line_data); @@ -110,7 +110,7 @@ DumpStateToFile (dw_offset_t offset, const DWARFDebugLine::State& state, void* u bool DWARFDebugLine::DumpLineTableRows(Log *log, SymbolFileDWARF* dwarf2Data, dw_offset_t debug_line_offset) { - const DataExtractor& debug_line_data = dwarf2Data->get_debug_line_data(); + const DWARFDataExtractor& debug_line_data = dwarf2Data->get_debug_line_data(); if (debug_line_offset == DW_INVALID_OFFSET) { @@ -131,7 +131,7 @@ DWARFDebugLine::DumpLineTableRows(Log *log, SymbolFileDWARF* dwarf2Data, dw_offs // DWARFDebugLine::DumpStatementTable //---------------------------------------------------------------------- dw_offset_t -DWARFDebugLine::DumpStatementTable(Log *log, const DataExtractor& debug_line_data, const dw_offset_t debug_line_offset) +DWARFDebugLine::DumpStatementTable(Log *log, const DWARFDataExtractor& debug_line_data, const dw_offset_t debug_line_offset) { if (debug_line_data.ValidOffset(debug_line_offset)) { @@ -156,7 +156,7 @@ DWARFDebugLine::DumpStatementTable(Log *log, const DataExtractor& debug_line_dat bool DWARFDebugLine::DumpOpcodes(Log *log, SymbolFileDWARF* dwarf2Data, dw_offset_t debug_line_offset, uint32_t dump_flags) { - const DataExtractor& debug_line_data = dwarf2Data->get_debug_line_data(); + const DWARFDataExtractor& debug_line_data = dwarf2Data->get_debug_line_data(); if (debug_line_data.GetByteSize() == 0) { @@ -183,7 +183,7 @@ DWARFDebugLine::DumpOpcodes(Log *log, SymbolFileDWARF* dwarf2Data, dw_offset_t d // DumpStatementOpcodes //---------------------------------------------------------------------- dw_offset_t -DWARFDebugLine::DumpStatementOpcodes(Log *log, const DataExtractor& debug_line_data, const dw_offset_t debug_line_offset, uint32_t flags) +DWARFDebugLine::DumpStatementOpcodes(Log *log, const DWARFDataExtractor& debug_line_data, const dw_offset_t debug_line_offset, uint32_t flags) { lldb::offset_t offset = debug_line_offset; if (debug_line_data.ValidOffset(offset)) @@ -386,7 +386,7 @@ DWARFDebugLine::DumpStatementOpcodes(Log *log, const DataExtractor& debug_line_d // the line table. //---------------------------------------------------------------------- void -DWARFDebugLine::Parse(const DataExtractor& debug_line_data, DWARFDebugLine::State::Callback callback, void* userData) +DWARFDebugLine::Parse(const DWARFDataExtractor& debug_line_data, DWARFDebugLine::State::Callback callback, void* userData) { lldb::offset_t offset = 0; if (debug_line_data.ValidOffset(offset)) @@ -401,7 +401,7 @@ DWARFDebugLine::Parse(const DataExtractor& debug_line_data, DWARFDebugLine::Stat // DWARFDebugLine::ParsePrologue //---------------------------------------------------------------------- bool -DWARFDebugLine::ParsePrologue(const DataExtractor& debug_line_data, lldb::offset_t* offset_ptr, Prologue* prologue) +DWARFDebugLine::ParsePrologue(const DWARFDataExtractor& debug_line_data, lldb::offset_t* offset_ptr, Prologue* prologue) { const lldb::offset_t prologue_offset = *offset_ptr; @@ -481,7 +481,7 @@ DWARFDebugLine::ParsePrologue(const DataExtractor& debug_line_data, lldb::offset bool DWARFDebugLine::ParseSupportFiles (const lldb::ModuleSP &module_sp, - const DataExtractor& debug_line_data, + const DWARFDataExtractor& debug_line_data, const char *cu_comp_dir, dw_offset_t stmt_list, FileSpecList &support_files) @@ -591,7 +591,7 @@ DWARFDebugLine::ParseSupportFiles (const lldb::ModuleSP &module_sp, bool DWARFDebugLine::ParseStatementTable ( - const DataExtractor& debug_line_data, + const DWARFDataExtractor& debug_line_data, lldb::offset_t* offset_ptr, DWARFDebugLine::State::Callback callback, void* userData @@ -892,7 +892,7 @@ ParseStatementTableCallback(dw_offset_t offset, const DWARFDebugLine::State& sta // the prologue and all rows. //---------------------------------------------------------------------- bool -DWARFDebugLine::ParseStatementTable(const DataExtractor& debug_line_data, lldb::offset_t *offset_ptr, LineTable* line_table) +DWARFDebugLine::ParseStatementTable(const DWARFDataExtractor& debug_line_data, lldb::offset_t *offset_ptr, LineTable* line_table) { return ParseStatementTable(debug_line_data, offset_ptr, ParseStatementTableCallback, line_table); } diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h index 7fa217c1d76..4f7857334a3 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h @@ -16,6 +16,7 @@ #include "lldb/lldb-private.h" +#include "DWARFDataExtractor.h" #include "DWARFDefines.h" class SymbolFileDWARF; @@ -201,13 +202,13 @@ public: static bool DumpOpcodes(lldb_private::Log *log, SymbolFileDWARF* dwarf2Data, dw_offset_t line_offset = DW_INVALID_OFFSET, uint32_t dump_flags = 0); // If line_offset is invalid, dump everything static bool DumpLineTableRows(lldb_private::Log *log, SymbolFileDWARF* dwarf2Data, dw_offset_t line_offset = DW_INVALID_OFFSET); // If line_offset is invalid, dump everything - static bool ParseSupportFiles(const lldb::ModuleSP &module_sp, const lldb_private::DataExtractor& debug_line_data, const char *cu_comp_dir, dw_offset_t stmt_list, lldb_private::FileSpecList &support_files); - static bool ParsePrologue(const lldb_private::DataExtractor& debug_line_data, lldb::offset_t* offset_ptr, Prologue* prologue); - static bool ParseStatementTable(const lldb_private::DataExtractor& debug_line_data, lldb::offset_t* offset_ptr, State::Callback callback, void* userData); - static dw_offset_t DumpStatementTable(lldb_private::Log *log, const lldb_private::DataExtractor& debug_line_data, const dw_offset_t line_offset); - static dw_offset_t DumpStatementOpcodes(lldb_private::Log *log, const lldb_private::DataExtractor& debug_line_data, const dw_offset_t line_offset, uint32_t flags); - static bool ParseStatementTable(const lldb_private::DataExtractor& debug_line_data, lldb::offset_t *offset_ptr, LineTable* line_table); - static void Parse(const lldb_private::DataExtractor& debug_line_data, DWARFDebugLine::State::Callback callback, void* userData); + static bool ParseSupportFiles(const lldb::ModuleSP &module_sp, const lldb_private::DWARFDataExtractor& debug_line_data, const char *cu_comp_dir, dw_offset_t stmt_list, lldb_private::FileSpecList &support_files); + static bool ParsePrologue(const lldb_private::DWARFDataExtractor& debug_line_data, lldb::offset_t* offset_ptr, Prologue* prologue); + static bool ParseStatementTable(const lldb_private::DWARFDataExtractor& debug_line_data, lldb::offset_t* offset_ptr, State::Callback callback, void* userData); + static dw_offset_t DumpStatementTable(lldb_private::Log *log, const lldb_private::DWARFDataExtractor& debug_line_data, const dw_offset_t line_offset); + static dw_offset_t DumpStatementOpcodes(lldb_private::Log *log, const lldb_private::DWARFDataExtractor& debug_line_data, const dw_offset_t line_offset, uint32_t flags); + static bool ParseStatementTable(const lldb_private::DWARFDataExtractor& debug_line_data, lldb::offset_t *offset_ptr, LineTable* line_table); + static void Parse(const lldb_private::DWARFDataExtractor& debug_line_data, DWARFDebugLine::State::Callback callback, void* userData); // static void AppendLineTableData(const DWARFDebugLine::Prologue* prologue, const DWARFDebugLine::Row::collection& state_coll, const uint32_t addr_size, BinaryStreamBuf &debug_line_data); DWARFDebugLine() : @@ -215,8 +216,8 @@ public: { } - void Parse(const lldb_private::DataExtractor& debug_line_data); - void ParseIfNeeded(const lldb_private::DataExtractor& debug_line_data); + void Parse(const lldb_private::DWARFDataExtractor& debug_line_data); + void ParseIfNeeded(const lldb_private::DWARFDataExtractor& debug_line_data); LineTable::shared_ptr GetLineTable(const dw_offset_t offset) const; protected: diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp index 60ace9e8229..0e2aaa47e8c 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp @@ -26,7 +26,7 @@ DWARFDebugMacinfo::~DWARFDebugMacinfo() } void -DWARFDebugMacinfo::Dump(Stream *s, const DataExtractor& macinfo_data, lldb::offset_t offset) +DWARFDebugMacinfo::Dump(Stream *s, const DWARFDataExtractor& macinfo_data, lldb::offset_t offset) { DWARFDebugMacinfoEntry maninfo_entry; if (macinfo_data.GetByteSize() == 0) diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h index 5f3b437d964..077718cf7db 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h @@ -21,7 +21,7 @@ public: static void Dump (lldb_private::Stream *s, - const lldb_private::DataExtractor& macinfo_data, + const lldb_private::DWARFDataExtractor& macinfo_data, lldb::offset_t offset = LLDB_INVALID_OFFSET); }; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp index 5cd9cb6be47..4a176bb8aad 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp @@ -80,7 +80,7 @@ DWARFDebugMacinfoEntry::Dump(Stream *s) const bool -DWARFDebugMacinfoEntry::Extract(const DataExtractor& mac_info_data, lldb::offset_t* offset_ptr) +DWARFDebugMacinfoEntry::Extract(const DWARFDataExtractor& mac_info_data, lldb::offset_t* offset_ptr) { if (mac_info_data.ValidOffset(*offset_ptr)) { diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h index 46fd44a22a6..72318d86e1c 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h @@ -38,7 +38,7 @@ public: GetCString() const; bool - Extract(const lldb_private::DataExtractor& mac_info_data, + Extract(const lldb_private::DWARFDataExtractor& mac_info_data, lldb::offset_t* offset_ptr); protected: diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp index 3e511007a1e..06ac825e0d4 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp @@ -29,7 +29,7 @@ DWARFDebugPubnames::DWARFDebugPubnames() : } bool -DWARFDebugPubnames::Extract(const DataExtractor& data) +DWARFDebugPubnames::Extract(const DWARFDataExtractor& data) { Timer scoped_timer (__PRETTY_FUNCTION__, "DWARFDebugPubnames::Extract (byte_size = %" PRIu64 ")", @@ -77,7 +77,7 @@ DWARFDebugPubnames::GeneratePubnames(SymbolFileDWARF* dwarf2Data) if (debug_info) { - const DataExtractor* debug_str = &dwarf2Data->get_debug_str_data(); + const DWARFDataExtractor* debug_str = &dwarf2Data->get_debug_str_data(); uint32_t cu_idx = 0; const uint32_t num_compile_units = dwarf2Data->GetNumCompileUnits(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h index 09eb80ab300..cacb1ea109b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h @@ -20,7 +20,7 @@ class DWARFDebugPubnames { public: DWARFDebugPubnames(); - bool Extract(const lldb_private::DataExtractor& data); + bool Extract(const lldb_private::DWARFDataExtractor& data); bool GeneratePubnames(SymbolFileDWARF* dwarf2Data); bool GeneratePubBaseTypes(SymbolFileDWARF* dwarf2Data); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp index 7f8327d7fc1..5d3cd145a2d 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp @@ -78,7 +78,7 @@ DWARFDebugPubnamesSet::InitNameIndexes() const bool -DWARFDebugPubnamesSet::Extract(const DataExtractor& data, lldb::offset_t *offset_ptr) +DWARFDebugPubnamesSet::Extract(const DWARFDataExtractor& data, lldb::offset_t *offset_ptr) { if (data.ValidOffset(*offset_ptr)) { diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h index 5db54159205..075807b2dcc 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h @@ -70,7 +70,7 @@ public: uint32_t NumDescriptors() const { return m_descriptors.size(); } void AddDescriptor(dw_offset_t cu_rel_offset, const char* name); void Clear(); - bool Extract(const lldb_private::DataExtractor& debug_pubnames_data, lldb::offset_t *offset_ptr); + bool Extract(const lldb_private::DWARFDataExtractor& debug_pubnames_data, lldb::offset_t *offset_ptr); void Dump(lldb_private::Log *s) const; void InitNameIndexes() const; void Find(const char* name, bool ignore_case, std::vector<dw_offset_t>& die_offset_coll) const; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp index 461b17fc3ab..a4968c455a6 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp @@ -87,7 +87,7 @@ DWARFDebugRanges::Extract(SymbolFileDWARF* dwarf2Data, lldb::offset_t *offset_pt range_list.Clear(); lldb::offset_t range_offset = *offset_ptr; - const DataExtractor& debug_ranges_data = dwarf2Data->get_debug_ranges_data(); + const DWARFDataExtractor& debug_ranges_data = dwarf2Data->get_debug_ranges_data(); uint32_t addr_size = debug_ranges_data.GetAddressByteSize(); while (debug_ranges_data.ValidOffsetForDataOfSize(*offset_ptr, 2 * addr_size)) @@ -132,7 +132,7 @@ DWARFDebugRanges::Extract(SymbolFileDWARF* dwarf2Data, lldb::offset_t *offset_pt void -DWARFDebugRanges::Dump(Stream &s, const DataExtractor& debug_ranges_data, lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr) +DWARFDebugRanges::Dump(Stream &s, const DWARFDataExtractor& debug_ranges_data, lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr) { uint32_t addr_size = s.GetAddressByteSize(); bool verbose = s.GetVerbose(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h index 40899abe9c2..50af91d4100 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h @@ -26,7 +26,7 @@ public: DWARFDebugRanges(); ~DWARFDebugRanges(); void Extract(SymbolFileDWARF* dwarf2Data); - static void Dump(lldb_private::Stream &s, const lldb_private::DataExtractor& debug_ranges_data, lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr); + static void Dump(lldb_private::Stream &s, const lldb_private::DWARFDataExtractor& debug_ranges_data, lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr); bool FindRanges(dw_offset_t debug_ranges_offset, DWARFDebugRanges::RangeList& range_list) const; protected: diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp index 6113a146c93..abd273770dd 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp @@ -114,7 +114,7 @@ DWARFFormValue::DWARFFormValue(dw_form_t form) : } bool -DWARFFormValue::ExtractValue(const DataExtractor& data, lldb::offset_t* offset_ptr, const DWARFCompileUnit* cu) +DWARFFormValue::ExtractValue(const DWARFDataExtractor& data, lldb::offset_t* offset_ptr, const DWARFCompileUnit* cu) { bool indirect = false; bool is_block = false; @@ -183,13 +183,13 @@ DWARFFormValue::ExtractValue(const DataExtractor& data, lldb::offset_t* offset_p } bool -DWARFFormValue::SkipValue(const DataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) const +DWARFFormValue::SkipValue(const DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) const { return DWARFFormValue::SkipValue(m_form, debug_info_data, offset_ptr, cu); } bool -DWARFFormValue::SkipValue(dw_form_t form, const DataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) +DWARFFormValue::SkipValue(dw_form_t form, const DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) { switch (form) { @@ -278,7 +278,7 @@ DWARFFormValue::SkipValue(dw_form_t form, const DataExtractor& debug_info_data, void -DWARFFormValue::Dump(Stream &s, const DataExtractor* debug_str_data, const DWARFCompileUnit* cu) const +DWARFFormValue::Dump(Stream &s, const DWARFDataExtractor* debug_str_data, const DWARFCompileUnit* cu) const { uint64_t uvalue = Unsigned(); bool cu_relative_offset = false; @@ -378,7 +378,7 @@ DWARFFormValue::Dump(Stream &s, const DataExtractor* debug_str_data, const DWARF } const char* -DWARFFormValue::AsCString(const DataExtractor* debug_str_data_ptr) const +DWARFFormValue::AsCString(const DWARFDataExtractor* debug_str_data_ptr) const { if (IsInlinedCStr()) return m_value.value.cstr; @@ -496,7 +496,7 @@ DWARFFormValue::IsDataForm(const dw_form_t form) } int -DWARFFormValue::Compare (const DWARFFormValue& a_value, const DWARFFormValue& b_value, const DWARFCompileUnit* a_cu, const DWARFCompileUnit* b_cu, const DataExtractor* debug_str_data_ptr) +DWARFFormValue::Compare (const DWARFFormValue& a_value, const DWARFFormValue& b_value, const DWARFCompileUnit* a_cu, const DWARFCompileUnit* b_cu, const DWARFDataExtractor* debug_str_data_ptr) { dw_form_t a_form = a_value.Form(); dw_form_t b_form = b_value.Form(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h index 4c400b2df58..fce995e4ff2 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h @@ -11,6 +11,7 @@ #define SymbolFileDWARF_DWARFFormValue_h_ #include <stddef.h> // for NULL +#include "DWARFDataExtractor.h" class DWARFCompileUnit; @@ -48,8 +49,8 @@ public: dw_form_t Form() const { return m_form; } void SetForm(dw_form_t form) { m_form = form; } const ValueType& Value() const { return m_value; } - void Dump(lldb_private::Stream &s, const lldb_private::DataExtractor* debug_str_data, const DWARFCompileUnit* cu) const; - bool ExtractValue(const lldb_private::DataExtractor& data, + void Dump(lldb_private::Stream &s, const lldb_private::DWARFDataExtractor* debug_str_data, const DWARFCompileUnit* cu) const; + bool ExtractValue(const lldb_private::DWARFDataExtractor& data, lldb::offset_t* offset_ptr, const DWARFCompileUnit* cu); bool IsInlinedCStr() const { return (m_value.data != NULL) && m_value.data == (uint8_t*)m_value.value.cstr; } @@ -62,16 +63,16 @@ public: void SetUnsigned(uint64_t uval) { m_value.value.uval = uval; } int64_t Signed() const { return m_value.value.sval; } void SetSigned(int64_t sval) { m_value.value.sval = sval; } - const char* AsCString(const lldb_private::DataExtractor* debug_str_data_ptr) const; - bool SkipValue(const lldb_private::DataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) const; - static bool SkipValue(const dw_form_t form, const lldb_private::DataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu); -// static bool TransferValue(dw_form_t form, const lldb_private::DataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu, BinaryStreamBuf& out_buff); + const char* AsCString(const lldb_private::DWARFDataExtractor* debug_str_data_ptr) const; + bool SkipValue(const lldb_private::DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu) const; + static bool SkipValue(const dw_form_t form, const lldb_private::DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu); +// static bool TransferValue(dw_form_t form, const lldb_private::DWARFDataExtractor& debug_info_data, lldb::offset_t *offset_ptr, const DWARFCompileUnit* cu, BinaryStreamBuf& out_buff); // static bool TransferValue(const DWARFFormValue& formValue, const DWARFCompileUnit* cu, BinaryStreamBuf& out_buff); // static bool PutUnsigned(dw_form_t form, dw_offset_t offset, uint64_t value, BinaryStreamBuf& out_buff, const DWARFCompileUnit* cu, bool fixup_cu_relative_refs); static bool IsBlockForm(const dw_form_t form); static bool IsDataForm(const dw_form_t form); static const uint8_t * GetFixedFormSizesForAddressSize (uint8_t addr_size); - static int Compare (const DWARFFormValue& a, const DWARFFormValue& b, const DWARFCompileUnit* a_cu, const DWARFCompileUnit* b_cu, const lldb_private::DataExtractor* debug_str_data_ptr); + static int Compare (const DWARFFormValue& a, const DWARFFormValue& b, const DWARFCompileUnit* a_cu, const DWARFCompileUnit* b_cu, const lldb_private::DWARFDataExtractor* debug_str_data_ptr); protected: dw_form_t m_form; // Form for this value ValueType m_value; // Contains all data for the form diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp index fdc07836b88..d79ae79822b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp @@ -15,11 +15,11 @@ using namespace lldb_private; -static int print_dwarf_exp_op (Stream &s, const DataExtractor& data, lldb::offset_t *offset_ptr, int address_size, int dwarf_ref_size); +static int print_dwarf_exp_op (Stream &s, const DWARFDataExtractor& data, lldb::offset_t *offset_ptr, int address_size, int dwarf_ref_size); int print_dwarf_expression (Stream &s, - const DataExtractor& data, + const DWARFDataExtractor& data, int address_size, int dwarf_ref_size, bool location_expression) @@ -47,7 +47,7 @@ print_dwarf_expression (Stream &s, static int print_dwarf_exp_op (Stream &s, - const DataExtractor& data, + const DWARFDataExtractor& data, lldb::offset_t *offset_ptr, int address_size, int dwarf_ref_size) diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h index ff7c907e921..69cc0c15969 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h @@ -14,7 +14,7 @@ int print_dwarf_expression (lldb_private::Stream &s, - const lldb_private::DataExtractor& data, + const lldb_private::DWARFDataExtractor& data, int address_size, int dwarf_ref_size, bool location_expression); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp index dad5691267d..26768f060ef 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp @@ -18,7 +18,7 @@ using namespace lldb_private; dw_offset_t -DWARFLocationList::Dump(Stream &s, const DWARFCompileUnit* cu, const DataExtractor& debug_loc_data, lldb::offset_t offset) +DWARFLocationList::Dump(Stream &s, const DWARFCompileUnit* cu, const DWARFDataExtractor& debug_loc_data, lldb::offset_t offset) { uint64_t start_addr, end_addr; uint32_t addr_size = DWARFCompileUnit::GetAddressByteSize(cu); @@ -42,7 +42,7 @@ DWARFLocationList::Dump(Stream &s, const DWARFCompileUnit* cu, const DataExtract ": "); uint32_t loc_length = debug_loc_data.GetU16(&offset); - DataExtractor locationData(debug_loc_data, offset, loc_length); + DWARFDataExtractor locationData(debug_loc_data, offset, loc_length); // if ( dump_flags & DWARFDebugInfo::eDumpFlag_Verbose ) *ostrm_ptr << " ( "; print_dwarf_expression (s, locationData, addr_size, 4, false); offset += loc_length; @@ -52,7 +52,7 @@ DWARFLocationList::Dump(Stream &s, const DWARFCompileUnit* cu, const DataExtract } bool -DWARFLocationList::Extract(const DataExtractor& debug_loc_data, lldb::offset_t* offset_ptr, DataExtractor& location_list_data) +DWARFLocationList::Extract(const DWARFDataExtractor& debug_loc_data, lldb::offset_t* offset_ptr, DWARFDataExtractor& location_list_data) { // Initialize with no data just in case we don't find anything location_list_data.Clear(); @@ -69,7 +69,7 @@ DWARFLocationList::Extract(const DataExtractor& debug_loc_data, lldb::offset_t* } size_t -DWARFLocationList::Size(const DataExtractor& debug_loc_data, lldb::offset_t offset) +DWARFLocationList::Size(const DWARFDataExtractor& debug_loc_data, lldb::offset_t offset) { const dw_offset_t debug_loc_offset = offset; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h index 85e11d90b36..6dcc0d74e44 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h @@ -18,16 +18,16 @@ public: static dw_offset_t Dump (lldb_private::Stream &s, const DWARFCompileUnit* cu, - const lldb_private::DataExtractor& debug_loc_data, + const lldb_private::DWARFDataExtractor& debug_loc_data, lldb::offset_t offset); static bool - Extract (const lldb_private::DataExtractor& debug_loc_data, + Extract (const lldb_private::DWARFDataExtractor& debug_loc_data, lldb::offset_t* offset_ptr, - lldb_private::DataExtractor& location_list_data); + lldb_private::DWARFDataExtractor& location_list_data); static size_t - Size (const lldb_private::DataExtractor& debug_loc_data, + Size (const lldb_private::DWARFDataExtractor& debug_loc_data, lldb::offset_t offset); }; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h b/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h index c31cbaf3ca2..44a24f2756a 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h @@ -432,7 +432,7 @@ struct DWARFMappedHash } bool - Read (const lldb_private::DataExtractor &data, + Read (const lldb_private::DWARFDataExtractor &data, lldb::offset_t *offset_ptr, DIEInfo &hash_data) const { @@ -585,8 +585,8 @@ struct DWARFMappedHash { public: - MemoryTable (lldb_private::DataExtractor &table_data, - const lldb_private::DataExtractor &string_table, + MemoryTable (lldb_private::DWARFDataExtractor &table_data, + const lldb_private::DWARFDataExtractor &string_table, const char *name) : MappedHash::MemoryTable<uint32_t, Header, DIEInfoArray> (table_data), m_data (table_data), @@ -923,8 +923,8 @@ struct DWARFMappedHash } protected: - const lldb_private::DataExtractor &m_data; - const lldb_private::DataExtractor &m_string_table; + const lldb_private::DWARFDataExtractor &m_data; + const lldb_private::DWARFDataExtractor &m_string_table; std::string m_name; }; }; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp b/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp index 5514469d075..e4626900d81 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp @@ -9,7 +9,6 @@ #include "NameToDIE.h" #include "lldb/Core/ConstString.h" -#include "lldb/Core/DataExtractor.h" #include "lldb/Core/Stream.h" #include "lldb/Core/StreamString.h" #include "lldb/Core/RegularExpression.h" diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index c703ce5ed8a..09b50531b8a 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -699,8 +699,8 @@ SymbolFileDWARF::CalculateAbilities () return abilities; } -const DataExtractor& -SymbolFileDWARF::GetCachedSectionData (uint32_t got_flag, SectionType sect_type, DataExtractor &data) +const DWARFDataExtractor& +SymbolFileDWARF::GetCachedSectionData (uint32_t got_flag, SectionType sect_type, DWARFDataExtractor &data) { if (m_flags.IsClear (got_flag)) { @@ -728,73 +728,73 @@ SymbolFileDWARF::GetCachedSectionData (uint32_t got_flag, SectionType sect_type, return data; } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_abbrev_data() { return GetCachedSectionData (flagsGotDebugAbbrevData, eSectionTypeDWARFDebugAbbrev, m_data_debug_abbrev); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_aranges_data() { return GetCachedSectionData (flagsGotDebugArangesData, eSectionTypeDWARFDebugAranges, m_data_debug_aranges); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_frame_data() { return GetCachedSectionData (flagsGotDebugFrameData, eSectionTypeDWARFDebugFrame, m_data_debug_frame); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_info_data() { return GetCachedSectionData (flagsGotDebugInfoData, eSectionTypeDWARFDebugInfo, m_data_debug_info); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_line_data() { return GetCachedSectionData (flagsGotDebugLineData, eSectionTypeDWARFDebugLine, m_data_debug_line); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_loc_data() { return GetCachedSectionData (flagsGotDebugLocData, eSectionTypeDWARFDebugLoc, m_data_debug_loc); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_ranges_data() { return GetCachedSectionData (flagsGotDebugRangesData, eSectionTypeDWARFDebugRanges, m_data_debug_ranges); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_debug_str_data() { return GetCachedSectionData (flagsGotDebugStrData, eSectionTypeDWARFDebugStr, m_data_debug_str); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_apple_names_data() { return GetCachedSectionData (flagsGotAppleNamesData, eSectionTypeDWARFAppleNames, m_data_apple_names); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_apple_types_data() { return GetCachedSectionData (flagsGotAppleTypesData, eSectionTypeDWARFAppleTypes, m_data_apple_types); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_apple_namespaces_data() { return GetCachedSectionData (flagsGotAppleNamespacesData, eSectionTypeDWARFAppleNamespaces, m_data_apple_namespaces); } -const DataExtractor& +const DWARFDataExtractor& SymbolFileDWARF::get_apple_objc_data() { return GetCachedSectionData (flagsGotAppleObjCData, eSectionTypeDWARFAppleObjC, m_data_apple_objc); @@ -806,7 +806,7 @@ SymbolFileDWARF::DebugAbbrev() { if (m_abbr.get() == NULL) { - const DataExtractor &debug_abbrev_data = get_debug_abbrev_data(); + const DWARFDataExtractor &debug_abbrev_data = get_debug_abbrev_data(); if (debug_abbrev_data.GetByteSize() > 0) { m_abbr.reset(new DWARFDebugAbbrev()); @@ -1763,7 +1763,7 @@ SymbolFileDWARF::ParseChildMembers { Value initialValue(0); Value memberOffset(0); - const DataExtractor& debug_info_data = get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = get_debug_info_data(); uint32_t block_length = form_value.Unsigned(); uint32_t block_offset = form_value.BlockData() - debug_info_data.GetDataStart(); if (DWARFExpression::Evaluate(NULL, // ExecutionContext * @@ -2155,7 +2155,7 @@ SymbolFileDWARF::ParseChildMembers { Value initialValue(0); Value memberOffset(0); - const DataExtractor& debug_info_data = get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = get_debug_info_data(); uint32_t block_length = form_value.Unsigned(); uint32_t block_offset = form_value.BlockData() - debug_info_data.GetDataStart(); if (DWARFExpression::Evaluate (NULL, @@ -4207,9 +4207,9 @@ SymbolFileDWARF::ParseChildParameters (const SymbolContext& sc, case DW_AT_location: // if (form_value.BlockData()) // { - // const DataExtractor& debug_info_data = debug_info(); + // const DWARFDataExtractor& debug_info_data = debug_info(); // uint32_t block_length = form_value.Unsigned(); - // DataExtractor location(debug_info_data, form_value.BlockData() - debug_info_data.GetDataStart(), block_length); + // DWARFDataExtractor location(debug_info_data, form_value.BlockData() - debug_info_data.GetDataStart(), block_length); // } // else // { @@ -7314,7 +7314,7 @@ SymbolFileDWARF::ParseVariableDIE { location_is_const_value_data = true; // The constant value will be either a block, a data value or a string. - const DataExtractor& debug_info_data = get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = get_debug_info_data(); if (DWARFFormValue::IsBlockForm(form_value.Form())) { // Retrieve the value as a block expression. @@ -7356,7 +7356,7 @@ SymbolFileDWARF::ParseVariableDIE has_explicit_location = true; if (form_value.BlockData()) { - const DataExtractor& debug_info_data = get_debug_info_data(); + const DWARFDataExtractor& debug_info_data = get_debug_info_data(); uint32_t block_offset = form_value.BlockData() - debug_info_data.GetDataStart(); uint32_t block_length = form_value.Unsigned(); @@ -7364,7 +7364,7 @@ SymbolFileDWARF::ParseVariableDIE } else { - const DataExtractor& debug_loc_data = get_debug_loc_data(); + const DWARFDataExtractor& debug_loc_data = get_debug_loc_data(); const dw_offset_t debug_loc_offset = form_value.Unsigned(); size_t loc_list_length = DWARFLocationList::Size(debug_loc_data, debug_loc_offset); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index b6c6d94782d..55886572ada 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -28,7 +28,6 @@ #include "lldb/Core/ClangForward.h" #include "lldb/Core/ConstString.h" #include "lldb/Core/dwarf.h" -#include "lldb/Core/DataExtractor.h" #include "lldb/Core/Flags.h" #include "lldb/Core/UniqueCStringMap.h" #include "lldb/Symbol/ClangASTContext.h" @@ -37,6 +36,7 @@ // Project includes #include "DWARFDefines.h" +#include "DWARFDataExtractor.h" #include "HashedNameToDIE.h" #include "NameToDIE.h" #include "UniqueDWARFASTType.h" @@ -199,18 +199,18 @@ public: //virtual size_t GetCompUnitCount() = 0; //virtual CompUnitSP GetCompUnitAtIndex(size_t cu_idx) = 0; - const lldb_private::DataExtractor& get_debug_abbrev_data (); - const lldb_private::DataExtractor& get_debug_aranges_data (); - const lldb_private::DataExtractor& get_debug_frame_data (); - const lldb_private::DataExtractor& get_debug_info_data (); - const lldb_private::DataExtractor& get_debug_line_data (); - const lldb_private::DataExtractor& get_debug_loc_data (); - const lldb_private::DataExtractor& get_debug_ranges_data (); - const lldb_private::DataExtractor& get_debug_str_data (); - const lldb_private::DataExtractor& get_apple_names_data (); - const lldb_private::DataExtractor& get_apple_types_data (); - const lldb_private::DataExtractor& get_apple_namespaces_data (); - const lldb_private::DataExtractor& get_apple_objc_data (); + const lldb_private::DWARFDataExtractor& get_debug_abbrev_data (); + const lldb_private::DWARFDataExtractor& get_debug_aranges_data (); + const lldb_private::DWARFDataExtractor& get_debug_frame_data (); + const lldb_private::DWARFDataExtractor& get_debug_info_data (); + const lldb_private::DWARFDataExtractor& get_debug_line_data (); + const lldb_private::DWARFDataExtractor& get_debug_loc_data (); + const lldb_private::DWARFDataExtractor& get_debug_ranges_data (); + const lldb_private::DWARFDataExtractor& get_debug_str_data (); + const lldb_private::DWARFDataExtractor& get_apple_names_data (); + const lldb_private::DWARFDataExtractor& get_apple_types_data (); + const lldb_private::DWARFDataExtractor& get_apple_namespaces_data (); + const lldb_private::DWARFDataExtractor& get_apple_objc_data (); DWARFDebugAbbrev* DebugAbbrev(); @@ -222,10 +222,10 @@ public: DWARFDebugRanges* DebugRanges(); const DWARFDebugRanges* DebugRanges() const; - const lldb_private::DataExtractor& + const lldb_private::DWARFDataExtractor& GetCachedSectionData (uint32_t got_flag, lldb::SectionType sect_type, - lldb_private::DataExtractor &data); + lldb_private::DWARFDataExtractor &data); static bool SupportedVersion(uint16_t version); @@ -560,23 +560,23 @@ protected: uint32_t type_mask, TypeSet &type_set); - lldb::ModuleWP m_debug_map_module_wp; - SymbolFileDWARFDebugMap * m_debug_map_symfile; - clang::TranslationUnitDecl * m_clang_tu_decl; - lldb_private::Flags m_flags; - lldb_private::DataExtractor m_dwarf_data; - lldb_private::DataExtractor m_data_debug_abbrev; - lldb_private::DataExtractor m_data_debug_aranges; - lldb_private::DataExtractor m_data_debug_frame; - lldb_private::DataExtractor m_data_debug_info; - lldb_private::DataExtractor m_data_debug_line; - lldb_private::DataExtractor m_data_debug_loc; - lldb_private::DataExtractor m_data_debug_ranges; - lldb_private::DataExtractor m_data_debug_str; - lldb_private::DataExtractor m_data_apple_names; - lldb_private::DataExtractor m_data_apple_types; - lldb_private::DataExtractor m_data_apple_namespaces; - lldb_private::DataExtractor m_data_apple_objc; + lldb::ModuleWP m_debug_map_module_wp; + SymbolFileDWARFDebugMap * m_debug_map_symfile; + clang::TranslationUnitDecl * m_clang_tu_decl; + lldb_private::Flags m_flags; + lldb_private::DWARFDataExtractor m_dwarf_data; + lldb_private::DWARFDataExtractor m_data_debug_abbrev; + lldb_private::DWARFDataExtractor m_data_debug_aranges; + lldb_private::DWARFDataExtractor m_data_debug_frame; + lldb_private::DWARFDataExtractor m_data_debug_info; + lldb_private::DWARFDataExtractor m_data_debug_line; + lldb_private::DWARFDataExtractor m_data_debug_loc; + lldb_private::DWARFDataExtractor m_data_debug_ranges; + lldb_private::DWARFDataExtractor m_data_debug_str; + lldb_private::DWARFDataExtractor m_data_apple_names; + lldb_private::DWARFDataExtractor m_data_apple_types; + lldb_private::DWARFDataExtractor m_data_apple_namespaces; + lldb_private::DWARFDataExtractor m_data_apple_objc; // The unique pointer items below are generated on demand if and when someone accesses // them through a non const version of this class. |

