diff options
| author | Pavel Labath <pavel@labath.sk> | 2019-06-14 14:12:25 +0000 |
|---|---|---|
| committer | Pavel Labath <pavel@labath.sk> | 2019-06-14 14:12:25 +0000 |
| commit | 00e3968b8a411eb95eb2cc544a6b499ca0ad299d (patch) | |
| tree | ee7c5b6e235143982cdb4fd2916736823fa3274f /lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp | |
| parent | e05ca381010d24e222027a9a985c7ce902f13671 (diff) | |
| download | bcm5719-llvm-00e3968b8a411eb95eb2cc544a6b499ca0ad299d.tar.gz bcm5719-llvm-00e3968b8a411eb95eb2cc544a6b499ca0ad299d.zip | |
DWARF: port debug_ranges/rnglists over to DWARFContext
llvm-svn: 363400
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp index c160429163f..207c71211c9 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp @@ -8,12 +8,9 @@ #include "DWARFDebugRanges.h" #include "DWARFUnit.h" -#include "SymbolFileDWARF.h" #include "lldb/Utility/Stream.h" -#include <assert.h> using namespace lldb_private; -using namespace std; static dw_addr_t GetBaseAddressMarker(uint32_t addr_size) { switch(addr_size) { @@ -29,25 +26,24 @@ static dw_addr_t GetBaseAddressMarker(uint32_t addr_size) { DWARFDebugRanges::DWARFDebugRanges() : m_range_map() {} -void DWARFDebugRanges::Extract(SymbolFileDWARF *dwarf2Data) { +void DWARFDebugRanges::Extract(DWARFContext &context) { DWARFRangeList range_list; lldb::offset_t offset = 0; dw_offset_t debug_ranges_offset = offset; - while (Extract(dwarf2Data, &offset, range_list)) { + while (Extract(context, &offset, range_list)) { range_list.Sort(); m_range_map[debug_ranges_offset] = range_list; debug_ranges_offset = offset; } } -bool DWARFDebugRanges::Extract(SymbolFileDWARF *dwarf2Data, +bool DWARFDebugRanges::Extract(DWARFContext &context, lldb::offset_t *offset_ptr, DWARFRangeList &range_list) { range_list.Clear(); lldb::offset_t range_offset = *offset_ptr; - const DWARFDataExtractor &debug_ranges_data = - dwarf2Data->get_debug_ranges_data(); + const DWARFDataExtractor &debug_ranges_data = context.getOrLoadRangesData(); uint32_t addr_size = debug_ranges_data.GetAddressByteSize(); dw_addr_t base_addr = 0; dw_addr_t base_addr_marker = GetBaseAddressMarker(addr_size); @@ -257,8 +253,8 @@ bool DWARFDebugRngLists::FindRanges(const DWARFUnit *cu, return false; } -void DWARFDebugRngLists::Extract(SymbolFileDWARF *dwarf2Data) { - const DWARFDataExtractor &data = dwarf2Data->get_debug_rnglists_data(); +void DWARFDebugRngLists::Extract(DWARFContext &context) { + const DWARFDataExtractor &data = context.getOrLoadRngListsData(); lldb::offset_t offset = 0; uint64_t length = data.GetU32(&offset); |

