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.

llvm-svn: 139680
diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index cf8b4d08..076dcd1 100644
--- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -52,6 +52,7 @@
   StringRef DebugInfoSection;
   StringRef DebugAbbrevSection;
   StringRef DebugLineSection;
+  StringRef DebugArangesSection;
 
   error_code ec;
   for (ObjectFile::section_iterator i = Obj->begin_sections(),
@@ -67,11 +68,14 @@
       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());
 }