1RUN: not llvm-dwarfdump %p/Inputs/invalid-bad-rel-type.elf 2>&1 | FileCheck %s
2RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-type.elf 2>&1 | FileCheck %s
3RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-size.elf 2>&1 | FileCheck %s
4RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-zero-size.elf 2>&1 | FileCheck %s
5CHECK: Invalid data was encountered while parsing the file
6
7RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-non-null.elf 2>&1 | FileCheck --check-prefix=NON-NULL %s
8NON-NULL: Invalid data was encountered while parsing the file
9
10Test the sh_entsize are invalid
11RUN: llvm-readobj -s %p/Inputs/invalid-sh_entsize.elf | FileCheck --check-prefix=SECTION %s
12
13SECTION:         Name: .dynsym
14SECTION-NEXT:    Type: SHT_DYNSYM
15SECTION-NEXT:    Flags [
16SECTION-NEXT:      SHF_ALLOC
17SECTION-NEXT:    ]
18SECTION-NEXT:    Address:
19SECTION-NEXT:    Offset:
20SECTION-NEXT:    Size:
21SECTION-NEXT:    Link:
22SECTION-NEXT:    Info:
23SECTION-NEXT:    AddressAlignment:
24SECTION-NEXT:    EntrySize: 32
25
26SECTION:         Name: .symtab
27SECTION-NEXT:    Type: SHT_SYMTAB
28SECTION-NEXT:    Flags [
29SECTION-NEXT:    ]
30SECTION-NEXT:    Address:
31SECTION-NEXT:    Offset:
32SECTION-NEXT:    Size:
33SECTION-NEXT:    Link:
34SECTION-NEXT:    Info:
35SECTION-NEXT:    AddressAlignment:
36SECTION-NEXT:    EntrySize: 32
37
38RUN: not llvm-readobj -t %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
39INVALID-SYM-SIZE: invalid sh_entsize
40
41RUN: not llvm-readobj --dyn-symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-DYNSYM-SIZE %s
42INVALID-DYNSYM-SIZE: Invalid entity size
43
44RUN: not llvm-readobj -t %p/Inputs/invalid-section-index.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-INDEX %s
45INVALID-SECTION-INDEX: invalid section index
46
47RUN: not llvm-readobj -s %p/Inputs/invalid-section-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-SIZE %s
48INVALID-SECTION-SIZE: Invalid data was encountered while parsing the file
49
50
51RUN: not llvm-readobj -t %p/Inputs/invalid-symbol-table-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SYMTAB-SIZE %s
52INVALID-SYMTAB-SIZE: size is not a multiple of sh_entsize
53
54
55RUN: not llvm-readobj -t %p/Inputs/invalid-xindex-size.elf 2>&1 | FileCheck --check-prefix=INVALID-XINDEX-SIZE %s
56INVALID-XINDEX-SIZE: Invalid data was encountered while parsing the file.
57
58RUN: not llvm-readobj -t %p/Inputs/invalid-e_shnum.elf 2>&1 | FileCheck --check-prefix=INVALID-SH-NUM %s
59INVALID-SH-NUM: invalid e_phentsize
60
61RUN: not llvm-readobj -t %p/Inputs/invalid-ext-symtab-index.elf-x86-64 2>&1 | \
62RUN:   FileCheck --check-prefix=INVALID-EXT-SYMTAB-INDEX %s
63INVALID-EXT-SYMTAB-INDEX: index past the end of the symbol table
64
65RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-i386 2>&1 | \
66RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
67RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-x86-64 2>&1 | \
68RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
69INVALID-RELOC-SH-OFFSET: invalid section offset
70
71RUN: not llvm-readobj -t %p/Inputs/invalid-sections-address-alignment.x86-64 2>&1 | \
72RUN:   FileCheck --check-prefix=INVALID-SEC-ADDRESS-ALIGNMENT %s
73INVALID-SEC-ADDRESS-ALIGNMENT: Invalid data was encountered while parsing the file
74
75RUN: not llvm-readobj -t %p/Inputs/invalid-section-size2.elf 2>&1 | \
76RUN:   FileCheck --check-prefix=INVALID-SECTION-SIZE2 %s
77INVALID-SECTION-SIZE2: invalid section offset
78
79RUN: not llvm-readobj -t %p/Inputs/invalid-sections-num.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-NUM %s
80INVALID-SECTION-NUM: Invalid data was encountered while parsing the file.
81
82RUN: not llvm-readobj -r %p/Inputs/invalid-rel-sym.elf 2>&1 | FileCheck --check-prefix=INVALID-REL-SYM %s
83INVALID-REL-SYM: invalid section offset
84