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.cpp | |
| 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.cpp')
| -rw-r--r-- | llvm/lib/DebugInfo/DWARFCompileUnit.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/llvm/lib/DebugInfo/DWARFCompileUnit.cpp b/llvm/lib/DebugInfo/DWARFCompileUnit.cpp index bdd65b77e4b..50267234170 100644 --- a/llvm/lib/DebugInfo/DWARFCompileUnit.cpp +++ b/llvm/lib/DebugInfo/DWARFCompileUnit.cpp @@ -17,8 +17,7 @@ using namespace llvm; using namespace dwarf; DataExtractor DWARFCompileUnit::getDebugInfoExtractor() const { - return DataExtractor(Context.getInfoSection(), - Context.isLittleEndian(), getAddressByteSize()); + return DataExtractor(InfoSection, isLittleEndian, AddrSize); } bool DWARFCompileUnit::extract(DataExtractor debug_info, uint32_t *offset_ptr) { @@ -28,7 +27,6 @@ bool DWARFCompileUnit::extract(DataExtractor debug_info, uint32_t *offset_ptr) { if (debug_info.isValidOffset(*offset_ptr)) { uint64_t abbrOffset; - const DWARFDebugAbbrev *abbr = Context.getDebugAbbrev(); Length = debug_info.getU32(offset_ptr); Version = debug_info.getU16(offset_ptr); abbrOffset = debug_info.getU32(offset_ptr); @@ -36,11 +34,11 @@ bool DWARFCompileUnit::extract(DataExtractor debug_info, uint32_t *offset_ptr) { bool lengthOK = debug_info.isValidOffset(getNextCompileUnitOffset()-1); bool versionOK = DWARFContext::isSupportedVersion(Version); - bool abbrOffsetOK = Context.getAbbrevSection().size() > abbrOffset; + bool abbrOffsetOK = AbbrevSection.size() > abbrOffset; bool addrSizeOK = AddrSize == 4 || AddrSize == 8; - if (lengthOK && versionOK && addrSizeOK && abbrOffsetOK && abbr != NULL) { - Abbrevs = abbr->getAbbreviationDeclarationSet(abbrOffset); + if (lengthOK && versionOK && addrSizeOK && abbrOffsetOK && Abbrev != NULL) { + Abbrevs = Abbrev->getAbbreviationDeclarationSet(abbrOffset); return true; } @@ -79,8 +77,7 @@ bool DWARFCompileUnit::extractRangeList(uint32_t RangeListOffset, DWARFDebugRangeList &RangeList) const { // Require that compile unit is extracted. assert(DieArray.size() > 0); - DataExtractor RangesData(Context.getRangeSection(), - Context.isLittleEndian(), AddrSize); + DataExtractor RangesData(RangeSection, isLittleEndian, AddrSize); return RangeList.extract(RangesData, &RangeListOffset); } |

