## Here we check the types set for implicit sections ## in different cases. ## Check the types set by default in case sections were implicitly ## added and not described in the YAML. # RUN: yaml2obj --docnum=1 %s -o %t1 # RUN: llvm-readobj -S %t1 | FileCheck %s --check-prefix=CASE1 # CASE1: Name: .symtab # CASE1-NEXT: Type: SHT_SYMTAB # CASE1: Name: .strtab # CASE1-NEXT: Type: SHT_STRTAB # CASE1: Name: .shstrtab # CASE1-NEXT: Type: SHT_STRTAB # CASE1: Name: .dynsym # CASE1-NEXT: Type: SHT_DYNSYM # CASE1: Name: .dynstr # CASE1-NEXT: Type: SHT_STRTAB --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 ## Needed to force the creation of the .symtab. Symbols: [] ## Needed to force the creation of the .dynsym and .dynstr. DynamicSymbols: - Name: foo - Binding: STB_GLOBAL ## Check we can set any arbitrary types when describing sections ## that are usually implicit. # RUN: yaml2obj --docnum=2 %s -o %t2 # RUN: llvm-readobj -S %t2 | FileCheck %s --check-prefix=CASE2 # CASE2: Name: .symtab # CASE2-NEXT: Type: SHT_DYNAMIC # CASE2: Name: .strtab # CASE2-NEXT: Type: SHT_RELA # CASE2: Name: .shstrtab # CASE2-NEXT: Type: SHT_PROGBITS # CASE2: Name: .dynsym # CASE2-NEXT: Type: SHT_NOTE # CASE2: Name: .dynstr # CASE2-NEXT: Type: SHT_NOBITS --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 Sections: - Name: .symtab Type: SHT_DYNAMIC - Name: .strtab Type: SHT_RELA - Name: .shstrtab Type: SHT_PROGBITS - Name: .dynsym Type: SHT_NOTE - Name: .dynstr Type: SHT_NOBITS ## Needed to set the proper content size for .symtab, so ## that llvm-readobj can dump this section. Symbols: - Name: foo