diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-08-27 09:20:22 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-08-27 09:20:22 +0000 |
commit | 63fd2af3892a81026f40374d08b5124e72ccff4e (patch) | |
tree | 8587e5f891d29f8cf006b2d3e39adebe47fa7a7b /include/llvm/DebugInfo | |
parent | 1567abe74f519e542786bdb82664f68b10afda0b (diff) | |
download | llvm-63fd2af3892a81026f40374d08b5124e72ccff4e.tar.gz llvm-63fd2af3892a81026f40374d08b5124e72ccff4e.tar.bz2 llvm-63fd2af3892a81026f40374d08b5124e72ccff4e.tar.xz |
Add support for DebugFission to DWARF parser
Summary:
1) Make llvm-symbolizer properly symbolize
files with split debug info (by using stanalone .dwo files).
2) Make DWARFCompileUnit parse and store corresponding .dwo file,
if necessary.
3) Make bits of DWARF parsing more CompileUnit-oriented.
Reviewers: echristo
Reviewed By: echristo
CC: bkramer, llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1164
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189329 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/DebugInfo')
-rw-r--r-- | include/llvm/DebugInfo/DWARFFormValue.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/include/llvm/DebugInfo/DWARFFormValue.h b/include/llvm/DebugInfo/DWARFFormValue.h index eaaccfb4f3..ad6f71d664 100644 --- a/include/llvm/DebugInfo/DWARFFormValue.h +++ b/include/llvm/DebugInfo/DWARFFormValue.h @@ -20,7 +20,7 @@ class raw_ostream; class DWARFFormValue { public: struct ValueType { - ValueType() : data(NULL) { + ValueType() : data(NULL), IsDWOIndex(false) { uval = 0; } @@ -30,6 +30,7 @@ public: const char* cstr; }; const uint8_t* data; + bool IsDWOIndex; }; enum { @@ -63,11 +64,8 @@ public: bool resolveCompileUnitReferences(const DWARFCompileUnit* cu); uint64_t getUnsigned() const { return Value.uval; } int64_t getSigned() const { return Value.sval; } - const char *getAsCString(const DataExtractor *debug_str_data_ptr) const; - const char *getIndirectCString(const DataExtractor *, - const DataExtractor *) const; - uint64_t getIndirectAddress(const DataExtractor *, - const DWARFCompileUnit *) const; + const char *getAsCString(const DWARFCompileUnit *CU) const; + uint64_t getAsAddress(const DWARFCompileUnit *CU) const; bool skipValue(DataExtractor debug_info_data, uint32_t *offset_ptr, const DWARFCompileUnit *cu) const; static bool skipValue(uint16_t form, DataExtractor debug_info_data, |