diff options
Diffstat (limited to 'tools/llvm-dwarfdump')
-rw-r--r-- | tools/llvm-dwarfdump/Makefile | 17 | ||||
-rw-r--r-- | tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp | 6 | ||||
-rw-r--r-- | tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 14 |
3 files changed, 11 insertions, 26 deletions
diff --git a/tools/llvm-dwarfdump/Makefile b/tools/llvm-dwarfdump/Makefile deleted file mode 100644 index 00b18c60bb2ad..0000000000000 --- a/tools/llvm-dwarfdump/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -##===- tools/llvm-dwarfdump/Makefile -----------------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## - -LEVEL := ../.. -TOOLNAME := llvm-dwarfdump -LINK_COMPONENTS := DebugInfoDWARF Object - -# This tool has no plugins, optimize startup time. -TOOL_NO_EXPORTS := 1 - -include $(LEVEL)/Makefile.common diff --git a/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp b/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp index af0ac36522875..32e173f9d1fce 100644 --- a/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp +++ b/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp @@ -24,10 +24,12 @@ extern "C" void LLVMFuzzerTestOneInput(uint8_t *data, size_t size) { std::unique_ptr<MemoryBuffer> Buff = MemoryBuffer::getMemBuffer( StringRef((const char *)data, size), "", false); - ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr = + Expected<std::unique_ptr<ObjectFile>> ObjOrErr = ObjectFile::createObjectFile(Buff->getMemBufferRef()); - if (!ObjOrErr) + if (auto E = ObjOrErr.takeError()) { + consumeError(std::move(E)); return; + } ObjectFile &Obj = *ObjOrErr.get(); std::unique_ptr<DIContext> DICtx(new DWARFContextInMemory(Obj)); DICtx->dump(nulls(), DIDT_All); diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index eaacc7c5f21b7..4b3a011f861d1 100644 --- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -29,7 +29,6 @@ #include "llvm/Support/raw_ostream.h" #include <algorithm> #include <cstring> -#include <list> #include <string> #include <system_error> @@ -96,16 +95,17 @@ static void DumpInput(StringRef Filename) { error(Filename, BuffOrErr.getError()); std::unique_ptr<MemoryBuffer> Buff = std::move(BuffOrErr.get()); - ErrorOr<std::unique_ptr<Binary>> BinOrErr = + Expected<std::unique_ptr<Binary>> BinOrErr = object::createBinary(Buff->getMemBufferRef()); - error(Filename, BinOrErr.getError()); + if (!BinOrErr) + error(Filename, errorToErrorCode(BinOrErr.takeError())); if (auto *Obj = dyn_cast<ObjectFile>(BinOrErr->get())) DumpObjectFile(*Obj, Filename); else if (auto *Fat = dyn_cast<MachOUniversalBinary>(BinOrErr->get())) for (auto &ObjForArch : Fat->objects()) { auto MachOOrErr = ObjForArch.getAsObjectFile(); - error(Filename, MachOOrErr.getError()); + error(Filename, errorToErrorCode(MachOOrErr.takeError())); DumpObjectFile(**MachOOrErr, Filename + " (" + ObjForArch.getArchTypeName() + ")"); } @@ -114,7 +114,7 @@ static void DumpInput(StringRef Filename) { /// If the input path is a .dSYM bundle (as created by the dsymutil tool), /// replace it with individual entries for each of the object files inside the /// bundle otherwise return the input path. -static std::vector<std::string> expandBundle(std::string InputPath) { +static std::vector<std::string> expandBundle(const std::string &InputPath) { std::vector<std::string> BundlePaths; SmallString<256> BundlePath(InputPath); // Manually open up the bundle to avoid introducing additional dependencies. @@ -146,7 +146,7 @@ static std::vector<std::string> expandBundle(std::string InputPath) { int main(int argc, char **argv) { // Print a stack trace if we signal out. - sys::PrintStackTraceOnErrorSignal(); + sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. @@ -158,7 +158,7 @@ int main(int argc, char **argv) { // Expand any .dSYM bundles to the individual object files contained therein. std::vector<std::string> Objects; - for (auto F : InputFilenames) { + for (const auto &F : InputFilenames) { auto Objs = expandBundle(F); Objects.insert(Objects.end(), Objs.begin(), Objs.end()); } |