aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/dwarf')
-rw-r--r--src/common/dwarf/dwarf2reader.cc13
-rw-r--r--src/common/dwarf/dwarf2reader.h6
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