# RUN: yaml2obj %s -o %t
# RUN: not llvm-readelf --headers -S 2>&1 %t | FileCheck %s -DFILE=%t --check-prefix=GNU
# RUN: llvm-readobj --headers -S 2>&1 %t | FileCheck %s -DFILE=%t --check-prefix=LLVM
# GNU: ELF Header:
# GNU: Section header string table index: 255
# GNU-NEXT: There are 3 section headers, starting at offset 0x58:
# GNU: Section Headers:
# GNU-NEXT: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
# GNU-NEXT: warning: '[[FILE]]': section header string table index 255 does not exist
# GNU-NEXT: [ 0] <no-strings> NULL 0000000000000000 000000 000000 00 0 0 0
# GNU-NEXT: [ 1] <no-strings> STRTAB 0000000000000000 000040 000001 00 0 0 1
# GNU-NEXT: [ 2] <no-strings> STRTAB 0000000000000000 000041 000013 00 0 0 1
# GNU-NEXT: Key to Flags:
# GNU: Section to Segment mapping:
# GNU-NEXT: Segment Sections...
# GNU-NEXT: error: '[[FILE]]': section header string table index 255 does not exist
# LLVM: ElfHeader {
# LLVM: StringTableSectionIndex: 255
# LLVM-NEXT: }
# LLVM-NEXT: Sections [
# LLVM-NEXT: Section {
# LLVM-NEXT: Index: 0
# LLVM-NEXT: warning: '[[FILE]]': unable to get the name of SHT_NULL section with index 0: section header string table index 255 does not exist
# LLVM-NEXT: Name: <?> (0)
# LLVM-NEXT: Type: SHT_NULL (0x0)
# LLVM-NEXT: Flags [ (0x0)
# LLVM-NEXT: ]
# LLVM-NEXT: Address: 0x0
# LLVM-NEXT: Offset: 0x0
# LLVM-NEXT: Size: 0
# LLVM-NEXT: Link: 0
# LLVM-NEXT: Info: 0
# LLVM-NEXT: AddressAlignment: 0
# LLVM-NEXT: EntrySize: 0
# LLVM-NEXT: }
# LLVM: Index: 1
# LLVM-NEXT: warning: '[[FILE]]': unable to get the name of SHT_STRTAB section with index 1: section header string table index 255 does not exist
# LLVM-NEXT: Name: <?> (11)
# LLVM: Index: 2
# LLVM-NEXT: warning: '[[FILE]]': unable to get the name of SHT_STRTAB section with index 2: section header string table index 255 does not exist
# LLVM-NEXT: Name: <?> (1)
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
EShStrNdx: 0xFF