1## Check that obj2yaml doesn't create a "Symbols" tag for the objects 2## without a symbol table. 3 4# RUN: yaml2obj --docnum=1 %s -o %t1 5# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=NOSYMTAB 6 7# NOSYMTAB: --- !ELF 8# NOSYMTAB-NEXT: FileHeader: 9# NOSYMTAB-NEXT: Class: ELFCLASS64 10# NOSYMTAB-NEXT: Data: ELFDATA2LSB 11# NOSYMTAB-NEXT: Type: ET_DYN 12# NOSYMTAB-NEXT: ... 13 14--- !ELF 15FileHeader: 16 Class: ELFCLASS64 17 Data: ELFDATA2LSB 18 Type: ET_DYN 19 20## Check that obj2yaml creates a "Symbols" tag for the objects 21## that have a symbol table. 22 23# RUN: yaml2obj --docnum=2 %s -o %t2 24# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=SYMTAB 25 26# SYMTAB: --- !ELF 27# SYMTAB-NEXT: FileHeader: 28# SYMTAB-NEXT: Class: ELFCLASS64 29# SYMTAB-NEXT: Data: ELFDATA2LSB 30# SYMTAB-NEXT: Type: ET_DYN 31# SYMTAB-NEXT: Symbols: [] 32# SYMTAB-NEXT: ... 33 34--- !ELF 35FileHeader: 36 Class: ELFCLASS64 37 Data: ELFDATA2LSB 38 Type: ET_DYN 39Symbols: [] 40 41## A symbol table without the null entry is non-conforming. 42## Check we don't print "Symbols" and "DynamicSymbols" keys in this case. 43 44# RUN: yaml2obj --docnum=3 %s -o %t3 45# RUN: obj2yaml %t3 | FileCheck %s --check-prefix=EMPTY 46 47# EMPTY: Sections: 48# EMPTY-NEXT: - Name: .symtab 49# EMPTY-NEXT: Type: SHT_SYMTAB 50# EMPTY-NEXT: Link: .strtab 51# EMPTY-NEXT: Size: 0x0 52# EMPTY-NEXT: - Name: .dynsym 53# EMPTY-NEXT: Type: SHT_DYNSYM 54# EMPTY-NEXT: Flags: [ SHF_ALLOC ] 55# EMPTY-NEXT: Size: 0x0 56# EMPTY-NEXT: ... 57 58--- !ELF 59FileHeader: 60 Class: ELFCLASS64 61 Data: ELFDATA2LSB 62 Type: ET_DYN 63Sections: 64 - Name: .symtab 65 Type: SHT_SYMTAB 66 Size: 0 67 - Name: .dynsym 68 Type: SHT_DYNSYM 69 Size: 0 70