diff options
author | George Rimar <grimar@accesssoftek.com> | 2016-10-11 08:12:27 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2016-10-11 08:12:27 +0000 |
commit | 5fecfaadc912ee0388cb9e8683b637399eca7c8a (patch) | |
tree | 3bb50f06b5498bc67b7b88a02da4e77082b9b4db | |
parent | 0c42dc4784c77adf363995fe3962cbd2da2ac4d0 (diff) | |
download | bcm5719-llvm-5fecfaadc912ee0388cb9e8683b637399eca7c8a.tar.gz bcm5719-llvm-5fecfaadc912ee0388cb9e8683b637399eca7c8a.zip |
Reverted r283740 [Object/ELF] - Do not crash on invalid Header->e_shoff value.
Bot does not like it: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/17075
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/Object/invalid.test:70:32: error: expected string not found in input
INVALID-SEC-ADDRESS-ALIGNMENT: Invalid address alignment of section headers
^
<stdin>:1:1: note: scanning from here
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Object/ELF.h:412:7: runtime error: upcast of misaligned address 0x000002d8b899 for type 'llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::endianness::little, true> >', which requires 2 byte alignment
^
<stdin>:1:125: note: possible intended match here
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Object/ELF.h:412:7: runtime error: upcast of misaligned address 0x000002d8b899 for type 'llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::endianness::little, true> >', which requires 2 byte alignment
llvm-svn: 283858
-rw-r--r-- | llvm/include/llvm/Object/ELF.h | 2 | ||||
-rw-r--r-- | llvm/test/Object/Inputs/invalid-sections-address-alignment.x86-64 | bin | 473 -> 0 bytes | |||
-rw-r--r-- | llvm/test/Object/invalid.test | 4 |
3 files changed, 0 insertions, 6 deletions
diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h index 302db65bea4..c06fa75231b 100644 --- a/llvm/include/llvm/Object/ELF.h +++ b/llvm/include/llvm/Object/ELF.h @@ -367,8 +367,6 @@ const typename ELFFile<ELFT>::Elf_Shdr *ELFFile<ELFT>::section_begin() const { if (Header->e_shentsize != sizeof(Elf_Shdr)) report_fatal_error( "Invalid section header entry size (e_shentsize) in ELF header"); - if (Header->e_shoff & (AlignOf<Elf_Shdr>::Alignment - 1)) - report_fatal_error("Invalid address alignment of section headers"); return reinterpret_cast<const Elf_Shdr *>(base() + Header->e_shoff); } diff --git a/llvm/test/Object/Inputs/invalid-sections-address-alignment.x86-64 b/llvm/test/Object/Inputs/invalid-sections-address-alignment.x86-64 Binary files differdeleted file mode 100644 index c0653d1d1b3..00000000000 --- a/llvm/test/Object/Inputs/invalid-sections-address-alignment.x86-64 +++ /dev/null diff --git a/llvm/test/Object/invalid.test b/llvm/test/Object/invalid.test index 1c060f3e6fc..9f5587422d1 100644 --- a/llvm/test/Object/invalid.test +++ b/llvm/test/Object/invalid.test @@ -64,7 +64,3 @@ RUN: FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-x86-64 2>&1 | \ RUN: FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s INVALID-RELOC-SH-OFFSET: Invalid data was encountered while parsing the file - -RUN: not llvm-readobj -t %p/Inputs/invalid-sections-address-alignment.x86-64 2>&1 | \ -RUN: FileCheck --check-prefix=INVALID-SEC-ADDRESS-ALIGNMENT %s -INVALID-SEC-ADDRESS-ALIGNMENT: Invalid address alignment of section headers |