1 // Section name offset overflows section name string table. 2 RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections \ 3 RUN: 2>&1 | FileCheck --check-prefix=SECNAME %s 4 5 SECNAME: Error reading file: Invalid data was encountered while parsing the file. 6 7 8 // Section data offset past end of file. 9 RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections -section-data \ 10 RUN: 2>&1 | FileCheck --check-prefix=SECDATA %s 11 12 SECDATA: Error reading file: Invalid data was encountered while parsing the file. 13 14 15 // Symbol name offset overflows string table. 16 RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -symbols \ 17 RUN: 2>&1 | FileCheck --check-prefix=SYMNAME %s 18 19 SYMNAME: Error reading file: Invalid data was encountered while parsing the file. 20 21 22 // Version index in .gnu.version overflows the version map. 23 RUN: not llvm-readobj %p/Inputs/corrupt-version.elf-x86_64 -dt \ 24 RUN: 2>&1 | FileCheck --check-prefix=VER %s 25 26 VER: Error reading file: Invalid version entry. 27 28 29 // The file is missing the dynamic string table but has references to it. 30 RUN: not llvm-readobj -dynamic-table %p/Inputs/corrupt-invalid-strtab.elf.x86-64 \ 31 RUN: 2>&1 | FileCheck --check-prefix=STRTAB %s 32 33 STRTAB: Invalid dynamic string table reference 34 35 RUN: not llvm-readobj -program-headers \ 36 RUN: %p/Inputs/corrupt-invalid-phentsize.elf.x86-64 2>&1 | \ 37 RUN: FileCheck --check-prefix=PHENTSIZE %s 38 39 PHENTSIZE: Invalid program header size 40 41 RUN: not llvm-readobj -dynamic-table \ 42 RUN: %p/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 2>&1 | \ 43 RUN: FileCheck --check-prefix=VIRTADDR %s 44 45 VIRTADDR: Virtual address is not in any segment 46 47 48 RUN: not llvm-readobj -dyn-relocations \ 49 RUN: %p/Inputs/corrupt-invalid-relocation-size.elf.x86-64 2>&1 | \ 50 RUN: FileCheck --check-prefix=RELOC %s 51 52 RELOC: Invalid relocation entry size 53 54 RUN: not llvm-readobj -dyn-relocations \ 55 RUN: %p/Inputs/corrupt-invalid-dynamic-table-size.elf.x86-64 2>&1 | \ 56 RUN: FileCheck --check-prefix=DYN-TABLE-SIZE %s 57 58 DYN-TABLE-SIZE: Invalid dynamic table size 59 60 61 RUN: not llvm-readobj -dyn-relocations \ 62 RUN: %p/Inputs/corrupt-invalid-dynamic-table-offset.elf.x86-64 2>&1 | \ 63 RUN: FileCheck --check-prefix=DYN-TABLE-OFFSET %s 64 65 DYN-TABLE-OFFSET: Invalid data was encountered while parsing the file. 66 67 68 RUN: not llvm-readobj -dyn-relocations \ 69 RUN: %p/Inputs/corrupt-invalid-dynamic-table-too-large.elf.x86-64 2>&1 | \ 70 RUN: FileCheck --check-prefix=DYN-TABLE-TOO-LARGE %s 71 72 DYN-TABLE-TOO-LARGE: Invalid data was encountered while parsing the file. 73