diff options
author | Georgii Rymar <grimar@accesssoftek.com> | 2020-11-09 11:50:50 +0300 |
---|---|---|
committer | Georgii Rymar <grimar@accesssoftek.com> | 2020-11-09 11:50:50 +0300 |
commit | f59216b58f3379ba3885a61018cff51578a1fb21 (patch) | |
tree | d48a5cd8e28262c38c96d7df87658df920f064d3 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | ea8a0b8b29eb08d3f0f6ac40942a2d8e98ab57ee (diff) | |
download | llvm-f59216b58f3379ba3885a61018cff51578a1fb21.zip llvm-f59216b58f3379ba3885a61018cff51578a1fb21.tar.gz llvm-f59216b58f3379ba3885a61018cff51578a1fb21.tar.bz2 |
Revert "[llvm-readelf/obj] - Allow dumping of ELF header even if some elements are corrupt."
This reverts commit ea8a0b8b29eb08d3f0f6ac40942a2d8e98ab57ee.
It broke BBots.
http://lab.llvm.org:8011/#/builders/14/builds/1439
http://lab.llvm.org:8011/#/builders/112/builds/913
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 41cd441..a307735 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -458,17 +458,12 @@ createDumper(const ObjectFile &Obj, ScopedPrinter &Writer) { } /// Dumps the specified object file. -static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, +static void dumpObject(const ObjectFile &Obj, ScopedPrinter &Writer, const Archive *A = nullptr) { std::string FileStr = A ? Twine(A->getFileName() + "(" + Obj.getFileName() + ")").str() : Obj.getFileName().str(); - std::string ContentErrString; - if (Error ContentErr = Obj.initContent()) - ContentErrString = "unable to continue dumping, the file is corrupt: " + - toString(std::move(ContentErr)); - ObjDumper *Dumper; Expected<std::unique_ptr<ObjDumper>> DumperOrErr = createDumper(Obj, Writer); if (!DumperOrErr) @@ -491,11 +486,6 @@ static void dumpObject(ObjectFile &Obj, ScopedPrinter &Writer, if (opts::FileHeaders) Dumper->printFileHeaders(); - // This is only used for ELF currently. In some cases, when an object is - // corrupt (e.g. truncated), we can't dump anything except the file header. - if (!ContentErrString.empty()) - reportError(createError(ContentErrString), FileStr); - if (opts::SectionDetails || opts::SectionHeaders) { if (opts::Output == opts::GNU && opts::SectionDetails) Dumper->printSectionDetails(); @@ -647,8 +637,7 @@ static void dumpWindowsResourceFile(WindowsResource *WinRes, /// Opens \a File and dumps it. static void dumpInput(StringRef File, ScopedPrinter &Writer) { // Attempt to open the binary. - Expected<OwningBinary<Binary>> BinaryOrErr = - createBinary(File, /*Context=*/nullptr, /*InitContent=*/false); + Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(File); if (!BinaryOrErr) reportError(BinaryOrErr.takeError(), File); Binary &Binary = *BinaryOrErr.get().getBinary(); |