diff options
author | Sterling Augustine <saugustine@google.com> | 2019-12-13 16:54:50 -0800 |
---|---|---|
committer | Mark Mentovai <mark@chromium.org> | 2019-12-19 04:44:17 +0000 |
commit | dbd454dbe47e584571388fc3533193416bdce67f (patch) | |
tree | 21cdd287ee7b118de82efc2d22b423b699d8ab8b /src/common/dwarf/dwarf2reader.h | |
parent | Add new dwarf 5 enums, plus some dwarf4 enums. (diff) | |
download | breakpad-dbd454dbe47e584571388fc3533193416bdce67f.tar.xz |
Add dwarf5 compilation-unit header handling.
Fix a small typo in DW_LANG__Python.
Change-Id: I1fe54e501a5e8da5057ecc9ac00c7e7259a9bb3f
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1967975
Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/common/dwarf/dwarf2reader.h')
-rw-r--r-- | src/common/dwarf/dwarf2reader.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/common/dwarf/dwarf2reader.h b/src/common/dwarf/dwarf2reader.h index 902d9ef1..6f1b1a4d 100644 --- a/src/common/dwarf/dwarf2reader.h +++ b/src/common/dwarf/dwarf2reader.h @@ -410,6 +410,21 @@ class CompilationUnit { // Reads the DWARF2/3 abbreviations for this compilation unit void ReadAbbrevs(); + // Read the abbreviation offset for this compilation unit + int ReadAbbrevOffset(const uint8_t *headerptr); + + // Read the address size for this compilation unit + int ReadAddressSize(const uint8_t *headerptr); + + // Read the DWO id from a split or skeleton compilation unit header + int ReadDwoId(const uint8_t *headerptr); + + // Read the type signature from a type or split type compilation unit header + int ReadTypeSignature(const uint8_t *headerptr); + + // Read the DWO id from a split or skeleton compilation unit header + int ReadTypeOffset(const uint8_t *headerptr); + // Processes a single DIE for this compilation unit and return a new // pointer just past the end of it const uint8_t *ProcessDIE(uint64 dieoffset, @@ -564,6 +579,12 @@ class CompilationUnit { // The value of the DW_AT_GNU_dwo_id attribute, if any. uint64 dwo_id_; + // The value of the DW_AT_GNU_type_signature attribute, if any. + uint64 type_signature_; + + // The value of the DW_AT_GNU_type_offset attribute, if any. + size_t type_offset_; + // The value of the DW_AT_GNU_dwo_name attribute, if any. const char* dwo_name_; |