Fix parsing .debug_rnglists section

Change-Id: I1bab1517c04684b8251984498eb0d43e1505fd30
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2888265
Reviewed-by: Sterling Augustine <saugustine@google.com>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
Zequan Wu 2021-05-13 14:02:08 -07:00 committed by Joshua Peraza
parent 5c4b5d89e4
commit 13ba5a1549
3 changed files with 217 additions and 100 deletions

View file

@ -277,14 +277,12 @@ class RangeListReader {
RangeListReader(ByteReader* reader, CURangesInfo* cu_info,
RangeListHandler* handler) :
reader_(reader), cu_info_(cu_info), handler_(handler),
offset_array_(0), offset_entry_count_(0) { }
offset_array_(0) { }
// Read ranges from cu_info as specified by form and data.
bool ReadRanges(enum DwarfForm form, uint64_t data);
private:
bool SetRangesBase(uint64_t base);
// Read dwarf4 .debug_ranges at offset.
bool ReadDebugRanges(uint64_t offset);
// Read dwarf5 .debug_rngslist at offset.
@ -316,7 +314,6 @@ class RangeListReader {
CURangesInfo* cu_info_;
RangeListHandler* handler_;
uint64_t offset_array_;
uint64_t offset_entry_count_;
};
// This class is the main interface between the reader and the