diff options
author | Eric Christopher <echristo@gmail.com> | 2013-01-02 23:52:13 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-01-02 23:52:13 +0000 |
commit | da4b2195fc72e8d2d5751b3d64d68a818426aa86 (patch) | |
tree | 0b67b64b2886da24d4c73f07a8cf512a481409c8 /llvm/lib/DebugInfo/DWARFCompileUnit.h | |
parent | 91055cfbaf31e6dc9adc1d37ac5648613ad0a2e0 (diff) | |
download | bcm5719-llvm-da4b2195fc72e8d2d5751b3d64d68a818426aa86.tar.gz bcm5719-llvm-da4b2195fc72e8d2d5751b3d64d68a818426aa86.zip |
Extend the dumping infrastructure to deal with additional
sections for debug info. These are some of the dwo sections from the
DWARF5 split debug info proposal. Update the fission-cu.ll testcase
to show what we should be able to dump more of now.
Work in progress: Ultimately the relocations will be gone for the
dwo section and the strings will be a different form (as well as
the rest of the sections will be included).
llvm-svn: 171428
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFCompileUnit.h')
-rw-r--r-- | llvm/lib/DebugInfo/DWARFCompileUnit.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/DWARFCompileUnit.h b/llvm/lib/DebugInfo/DWARFCompileUnit.h index 03e28620d4b..ba638dff212 100644 --- a/llvm/lib/DebugInfo/DWARFCompileUnit.h +++ b/llvm/lib/DebugInfo/DWARFCompileUnit.h @@ -17,11 +17,19 @@ namespace llvm { -class DWARFContext; +class DWARFDebugAbbrev; +class StringRef; class raw_ostream; +typedef DenseMap<uint64_t, std::pair<uint8_t, int64_t> > RelocAddrMap; class DWARFCompileUnit { - DWARFContext &Context; + const DWARFDebugAbbrev *Abbrev; + StringRef InfoSection; + StringRef AbbrevSection; + StringRef RangeSection; + StringRef StringSection; + const RelocAddrMap *RelocMap; + bool isLittleEndian; uint32_t Offset; uint32_t Length; @@ -32,11 +40,16 @@ class DWARFCompileUnit { // The compile unit debug information entry item. std::vector<DWARFDebugInfoEntryMinimal> DieArray; public: - DWARFCompileUnit(DWARFContext &context) : Context(context) { + + DWARFCompileUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef AS, + StringRef RS, StringRef SS, const RelocAddrMap *M, bool LE) : + Abbrev(DA), InfoSection(IS), AbbrevSection(AS), + RangeSection(RS), StringSection(SS), RelocMap(M), isLittleEndian(LE) { clear(); } - DWARFContext &getContext() const { return Context; } + StringRef getStringSection() const { return StringSection; } + const RelocAddrMap *getRelocMap() const { return RelocMap; } DataExtractor getDebugInfoExtractor() const; bool extract(DataExtractor debug_info, uint32_t* offset_ptr); |