aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorGeorgii Rymar <grimar@accesssoftek.com>2020-11-09 11:50:50 +0300
committerGeorgii Rymar <grimar@accesssoftek.com>2020-11-09 11:50:50 +0300
commitf59216b58f3379ba3885a61018cff51578a1fb21 (patch)
treed48a5cd8e28262c38c96d7df87658df920f064d3 /llvm/tools/llvm-readobj/llvm-readobj.cpp
parentea8a0b8b29eb08d3f0f6ac40942a2d8e98ab57ee (diff)
downloadllvm-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.cpp15
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();