diff options
Diffstat (limited to 'src/common/dwarf')
-rw-r--r-- | src/common/dwarf/dwarf2reader.cc | 13 | ||||
-rw-r--r-- | src/common/dwarf/dwarf2reader.h | 6 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/common/dwarf/dwarf2reader.cc b/src/common/dwarf/dwarf2reader.cc index aca83677..ab31a980 100644 --- a/src/common/dwarf/dwarf2reader.cc +++ b/src/common/dwarf/dwarf2reader.cc @@ -1569,10 +1569,11 @@ void LineInfo::ReadLines() { } RangeListReader::RangeListReader(const uint8_t* buffer, uint64_t size, - ByteReader* reader, RangeListHandler* handler) - : buffer_(buffer), size_(size), reader_(reader), handler_(handler) { } + ByteReader* reader) + : buffer_(buffer), size_(size), reader_(reader) { } -bool RangeListReader::ReadRangeList(uint64_t offset) { +bool RangeListReader::ReadRangeList(uint64_t offset, + RangeListHandler* handler) { const uint64_t max_address = (reader_->AddressSize() == 4) ? 0xffffffffUL : 0xffffffffffffffffULL; @@ -1589,12 +1590,12 @@ bool RangeListReader::ReadRangeList(uint64_t offset) { reader_->ReadAddress(buffer_ + offset + reader_->AddressSize()); if (start_address == max_address) { // Base address selection - handler_->SetBaseAddress(end_address); + handler->SetBaseAddress(end_address); } else if (start_address == 0 && end_address == 0) { // End-of-list - handler_->Finish(); + handler->Finish(); list_end = true; } else { // Add a range entry - handler_->AddRange(start_address, end_address); + handler->AddRange(start_address, end_address); } offset += entry_size; diff --git a/src/common/dwarf/dwarf2reader.h b/src/common/dwarf/dwarf2reader.h index e405e3a7..aa9e270d 100644 --- a/src/common/dwarf/dwarf2reader.h +++ b/src/common/dwarf/dwarf2reader.h @@ -243,16 +243,14 @@ class RangeListHandler { class RangeListReader { public: - RangeListReader(const uint8_t* buffer, uint64_t size, ByteReader* reader, - RangeListHandler* handler); + RangeListReader(const uint8_t* buffer, uint64_t size, ByteReader* reader); - bool ReadRangeList(uint64_t offset); + bool ReadRangeList(uint64_t offset, RangeListHandler* handler); private: const uint8_t* buffer_; uint64_t size_; ByteReader* reader_; - RangeListHandler* handler_; }; // This class is the main interface between the reader and the |