summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
index f514359e00a..e239bc54add 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
@@ -18,8 +18,9 @@
class DWARFDebugRanges {
public:
DWARFDebugRanges();
- ~DWARFDebugRanges();
- void Extract(SymbolFileDWARF *dwarf2Data);
+ virtual ~DWARFDebugRanges();
+ virtual void Extract(SymbolFileDWARF *dwarf2Data);
+
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);
@@ -37,4 +38,17 @@ protected:
range_map m_range_map;
};
+// DWARF v5 .debug_rnglists section.
+class DWARFDebugRngLists : public DWARFDebugRanges {
+public:
+ void Extract(SymbolFileDWARF *dwarf2Data) override;
+
+protected:
+ bool ExtractRangeList(const lldb_private::DWARFDataExtractor &data,
+ uint8_t addrSize, lldb::offset_t *offset_ptr,
+ DWARFRangeList &list);
+
+ std::vector<uint64_t> Offsets;
+};
+
#endif // SymbolFileDWARF_DWARFDebugRanges_h_
OpenPOWER on IntegriCloud