X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fllvm-dwarfdump%2Fllvm-dwarfdump.cpp;h=eef6f797cc36dfee8353bef13a37455a133053cb;hb=0a230e0d985625a3909cb78fd867a3abaf434565;hp=068750058377266ba5417f64ba68bfa4dfbc7ed1;hpb=939a4e8b693820d161f362317f7dba9057e66cc7;p=oota-llvm.git diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index 06875005837..eef6f797cc3 100644 --- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -63,7 +63,10 @@ DumpType("debug-dump", cl::init(DIDT_All), clEnumValN(DIDT_Info, "info", ".debug_info"), clEnumValN(DIDT_InfoDwo, "info.dwo", ".debug_info.dwo"), clEnumValN(DIDT_Line, "line", ".debug_line"), + clEnumValN(DIDT_Loc, "loc", ".debug_loc"), + clEnumValN(DIDT_Frames, "frames", ".debug_frame"), clEnumValN(DIDT_Ranges, "ranges", ".debug_ranges"), + clEnumValN(DIDT_Pubnames, "pubnames", ".debug_pubnames"), clEnumValN(DIDT_Str, "str", ".debug_str"), clEnumValN(DIDT_StrDwo, "str.dwo", ".debug_str.dwo"), clEnumValN(DIDT_StrOffsetsDwo, "str_offsets.dwo", ".debug_str_offsets.dwo"), @@ -86,6 +89,11 @@ static void DumpInput(const StringRef &Filename) { } OwningPtr Obj(ObjectFile::createObjectFile(Buff.take())); + if (!Obj) { + errs() << Filename << ": Unknown object file format\n"; + return; + } + OwningPtr DICtx(DIContext::getDWARFContext(Obj.get())); if (Address == -1ULL) {