summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-25 20:53:41 +0000
committerEli Bendersky <eliben@google.com>2013-01-25 20:53:41 +0000
commita5a4ff5a5821fb55afc8f39194f8d6da039a872f (patch)
treec8c4c6f5aff7799c5a930efeb2b1784ad438fba9 /llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
parent385f312686d7b31b74ef14971ed141aed73eceb4 (diff)
downloadbcm5719-llvm-a5a4ff5a5821fb55afc8f39194f8d6da039a872f.tar.gz
bcm5719-llvm-a5a4ff5a5821fb55afc8f39194f8d6da039a872f.zip
When encountering an unknown file format, ObjectFile::createObjectFile should
politely report it instead of running into llvm_unreachable. Also patch llvm-dwarfdump to actually check whether the file it's attempting to dump is a valid object file. llvm-svn: 173489
Diffstat (limited to 'llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp')
-rw-r--r--llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index 06875005837..6041510e039 100644
--- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -86,6 +86,11 @@ static void DumpInput(const StringRef &Filename) {
}
OwningPtr<ObjectFile> Obj(ObjectFile::createObjectFile(Buff.take()));
+ if (!Obj) {
+ errs() << Filename << ": Unknown object file format\n";
+ return;
+ }
+
OwningPtr<DIContext> DICtx(DIContext::getDWARFContext(Obj.get()));
if (Address == -1ULL) {
OpenPOWER on IntegriCloud