Revert r284371 "[Object/ELF] - Check that e_shnum is null when e_shoff is."
authorGeorge Rimar <grimar@accesssoftek.com>
Mon, 17 Oct 2016 10:20:47 +0000 (10:20 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Mon, 17 Oct 2016 10:20:47 +0000 (10:20 +0000)
It broke build bot:
http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/908/steps/test-stage1-compiler/logs/stdio

llvm-svn: 284373

llvm/include/llvm/Object/ELF.h
llvm/test/Object/Inputs/invalid-e_shnum.elf [deleted file]
llvm/test/Object/invalid.test

index 03b172f..31f42f5 100644 (file)
@@ -319,12 +319,8 @@ ELFFile<ELFT>::ELFFile(StringRef Object, std::error_code &EC)
 
   Header = reinterpret_cast<const Elf_Ehdr *>(base());
 
-  if (Header->e_shoff == 0) {
-    if (Header->e_shnum != 0)
-      report_fatal_error(
-          "e_shnum should be zero if a file has no section header table");
+  if (Header->e_shoff == 0)
     return;
-  }
 
   const uint64_t SectionTableOffset = Header->e_shoff;
 
diff --git a/llvm/test/Object/Inputs/invalid-e_shnum.elf b/llvm/test/Object/Inputs/invalid-e_shnum.elf
deleted file mode 100644 (file)
index 0b46fbd..0000000
Binary files a/llvm/test/Object/Inputs/invalid-e_shnum.elf and /dev/null differ
index c72de06..d940789 100644 (file)
@@ -55,9 +55,6 @@ INVALID-SYMTAB-SIZE: Invalid data was encountered while parsing the file
 RUN: not llvm-readobj -t %p/Inputs/invalid-xindex-size.elf 2>&1 | FileCheck --check-prefix=INVALID-XINDEX-SIZE %s
 INVALID-XINDEX-SIZE: Invalid data was encountered while parsing the file.
 
-RUN: not llvm-readobj -t %p/Inputs/invalid-e_shnum.elf 2>&1 | FileCheck --check-prefix=INVALID-SH-NUM %s
-INVALID-SH-NUM: e_shnum should be zero if a file has no section header table
-
 RUN: not llvm-readobj -t %p/Inputs/invalid-ext-symtab-index.elf-x86-64 2>&1 | \
 RUN:   FileCheck --check-prefix=INVALID-EXT-SYMTAB-INDEX %s
 INVALID-EXT-SYMTAB-INDEX: Invalid symbol table index