RUN: not llvm-dwarfdump %p/Inputs/invalid-bad-rel-type.elf 2>&1 | FileCheck %s
RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-type.elf 2>&1 | FileCheck %s
RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-size.elf 2>&1 | FileCheck %s
CHECK: Invalid data was encountered while parsing the file

RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-non-null.elf 2>&1 | FileCheck --check-prefix=NON-NULL %s
NON-NULL: String table must end with a null terminator

Test the sh_entsize are invalid
RUN: llvm-readobj -s %p/Inputs/invalid-sh_entsize.elf | FileCheck --check-prefix=SECTION %s

SECTION:         Name: .dynsym
SECTION-NEXT:    Type: SHT_DYNSYM
SECTION-NEXT:    Flags [
SECTION-NEXT:      SHF_ALLOC
SECTION-NEXT:    ]
SECTION-NEXT:    Address:
SECTION-NEXT:    Offset:
SECTION-NEXT:    Size:
SECTION-NEXT:    Link:
SECTION-NEXT:    Info:
SECTION-NEXT:    AddressAlignment:
SECTION-NEXT:    EntrySize: 32

SECTION:         Name: .symtab
SECTION-NEXT:    Type: SHT_SYMTAB
SECTION-NEXT:    Flags [
SECTION-NEXT:    ]
SECTION-NEXT:    Address:
SECTION-NEXT:    Offset:
SECTION-NEXT:    Size:
SECTION-NEXT:    Link:
SECTION-NEXT:    Info:
SECTION-NEXT:    AddressAlignment:
SECTION-NEXT:    EntrySize: 32

RUN: not llvm-readobj -t %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
RUN: not llvm-readobj --dyn-symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
INVALID-SYM-SIZE: Invalid symbol size

RUN: not llvm-readobj -t %p/Inputs/invalid-section-index.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-INDEX %s

INVALID-SECTION-INDEX: Invalid section index

RUN: not llvm-readobj -s %p/Inputs/invalid-section-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-SIZE %s
INVALID-SECTION-SIZE: Invalid section header entry size (e_shentsize) in ELF header


RUN: not llvm-readobj -t %p/Inputs/invalid-symbol-table-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SYMTAB-SIZE %s
INVALID-SYMTAB-SIZE: Invalid symbol table size


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.