From 081a1941b595f6294e4ce678fd61ef56a2ceb51e Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Thu, 8 Aug 2013 22:27:13 +0000 Subject: [Object] Split the ELF interface into 3 parts. * ELFTypes.h contains template magic for defining types based on endianess, size, and alignment. * ELFFile.h defines the ELFFile class which provides low level ELF specific access. * ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188022 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Object/Inputs/corrupt-version.elf-x86_64 | Bin 0 -> 5200 bytes test/Object/Inputs/corrupt.elf-x86-64 | Bin 0 -> 1024 bytes test/Object/corrupt.test | 24 ++++++++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 test/Object/Inputs/corrupt-version.elf-x86_64 create mode 100644 test/Object/Inputs/corrupt.elf-x86-64 create mode 100644 test/Object/corrupt.test (limited to 'test/Object') diff --git a/test/Object/Inputs/corrupt-version.elf-x86_64 b/test/Object/Inputs/corrupt-version.elf-x86_64 new file mode 100644 index 0000000000..1241a27a7b Binary files /dev/null and b/test/Object/Inputs/corrupt-version.elf-x86_64 differ diff --git a/test/Object/Inputs/corrupt.elf-x86-64 b/test/Object/Inputs/corrupt.elf-x86-64 new file mode 100644 index 0000000000..8ae5f17597 Binary files /dev/null and b/test/Object/Inputs/corrupt.elf-x86-64 differ diff --git a/test/Object/corrupt.test b/test/Object/corrupt.test new file mode 100644 index 0000000000..ef72a0979b --- /dev/null +++ b/test/Object/corrupt.test @@ -0,0 +1,24 @@ +// Section name offset overflows section name string table. +RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections \ +RUN: 2>&1 | FileCheck --check-prefix=SECNAME %s + +// Section data offset past end of file. +RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections -section-data \ +RUN: 2>&1 | FileCheck --check-prefix=SECDATA %s + +// Symbol name offset overflows string table. +RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -symbols \ +RUN: 2>&1 | FileCheck --check-prefix=SYMNAME %s + +// Version index in .gnu.version overflows the version map. +RUN: not llvm-readobj %p/Inputs/corrupt-version.elf-x86_64 -dt \ +RUN: 2>&1 | FileCheck --check-prefix=VER %s + +SECNAME: Error reading file: Invalid data was encountered while parsing the file. + +SECDATA: Error reading file: Invalid data was encountered while parsing the file. +SECDATA: Error reading file: Invalid data was encountered while parsing the file. + +SYMNAME: Error reading file: Invalid data was encountered while parsing the file. + +VER: Error reading file: Invalid data was encountered while parsing the file. -- cgit v1.2.3