78 lines · yaml
1## For implicit symbol table sections, the `Flags` field can also2## be specified in YAML. Here we test the behavior in different cases.3 4## When flags are not explicitly specified, yaml2obj assigns no flags5## for .symtab and the SHF_ALLOC flag for .dynsym by default.6 7# RUN: yaml2obj --docnum=1 %s -o %t18# RUN: llvm-readobj %t1 -S | FileCheck %s --check-prefix=CASE19 10# CASE1: Name: .symtab11# CASE1-NEXT: Type: SHT_SYMTAB12# CASE1-NEXT: Flags [13# CASE1-NEXT: ]14# CASE1: Name: .dynsym15# CASE1-NEXT: Type: SHT_DYNSYM16# CASE1-NEXT: Flags [17# CASE1-NEXT: SHF_ALLOC18# CASE1-NEXT: ]19 20--- !ELF21FileHeader:22 Class: ELFCLASS6423 Data: ELFDATA2LSB24 Type: ET_DYN25Sections:26 - Name: .symtab27 Type: SHT_SYMTAB28 - Name: .dynsym29 Type: SHT_DYNSYM30 31## Check we can set arbitrary flags for .symtab/.dynsym.32 33# RUN: yaml2obj --docnum=2 %s -o %t234# RUN: llvm-readobj %t2 -S | FileCheck %s --check-prefix=CASE235 36# CASE2: Name: .symtab37# CASE2-NEXT: Type: SHT_SYMTAB38# CASE2-NEXT: Flags [39# CASE2-NEXT: SHF_ALLOC40# CASE2-NEXT: SHF_STRINGS41# CASE2-NEXT: ]42# CASE2: Name: .dynsym43# CASE2-NEXT: Type: SHT_DYNSYM44# CASE2-NEXT: Flags [45# CASE2-NEXT: SHF_STRINGS46# CASE2-NEXT: ]47 48--- !ELF49FileHeader:50 Class: ELFCLASS6451 Data: ELFDATA2LSB52 Type: ET_DYN53Sections:54 - Name: .symtab55 Type: SHT_SYMTAB56 Flags: [ SHF_ALLOC, SHF_STRINGS ]57 - Name: .dynsym58 Type: SHT_DYNSYM59 Flags: [ SHF_STRINGS ]60 61## Check no flags are set by default for .symtab when it is not62## described in the YAML.63 64# RUN: yaml2obj --docnum=3 %s -o %t365# RUN: llvm-readobj %t3 -S | FileCheck %s --check-prefix=CASE366 67# CASE3: Name: .symtab68# CASE3-NEXT: Type: SHT_SYMTAB69# CASE3-NEXT: Flags [70# CASE3-NEXT: ]71 72--- !ELF73FileHeader:74 Class: ELFCLASS6475 Data: ELFDATA2LSB76 Type: ET_DYN77Symbols: []78