DWARF: Port support for parsing .debug_aranges section from LLDB and wire it up to llvm-dwarfdump.

This is only one half of it, the part that caches address ranges from the DIEs when .debug_aranges is
not available will be ported soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139680 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2011-09-14 01:09:52 +00:00
parent 836623420d
commit 358f4fd9ee
8 changed files with 556 additions and 3 deletions

View File

@ -52,6 +52,7 @@ static void DumpInput(const StringRef &Filename) {
StringRef DebugInfoSection;
StringRef DebugAbbrevSection;
StringRef DebugLineSection;
StringRef DebugArangesSection;
error_code ec;
for (ObjectFile::section_iterator i = Obj->begin_sections(),
@ -67,11 +68,14 @@ static void DumpInput(const StringRef &Filename) {
DebugAbbrevSection = data;
else if (name.endswith("debug_line"))
DebugLineSection = data;
else if (name.endswith("debug_aranges"))
DebugArangesSection = data;
}
OwningPtr<DIContext> dictx(DIContext::getDWARFContext(/*FIXME*/true,
DebugInfoSection,
DebugAbbrevSection));
DebugAbbrevSection,
DebugArangesSection));
dictx->dump(outs());
}