diff options
Diffstat (limited to 'src/common/dwarf/dwarf2reader.cc')
-rw-r--r-- | src/common/dwarf/dwarf2reader.cc | 13 |
1 files changed, 7 insertions, 6 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; |