brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 4409c2a Raw
124 lines · yaml
1## Check the values of sh_info fields set by default for2## explicitly listed .dynstr, .dynsym, .strtab and .symtab3## sections.4##5## For symbol table sections, sh_info has a value which is6## one greater than the symbol table index of the last7## local symbol.8##9## sh_info isn't set for string table sections.10 11# RUN: yaml2obj --docnum=1 %s -o %t12# RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix=CASE113 14# CASE1:      Name: .symtab15# CASE1:      Info:16# CASE1-SAME: 217# CASE1:      Name: .strtab18# CASE1:      Info:19# CASE1-SAME: 020# CASE1:      Name: .dynsym21# CASE1:      Info:22# CASE1-SAME: 123# CASE1:      Name: .dynstr24# CASE1:      Info:25# CASE1-SAME: 026 27--- !ELF28FileHeader:29  Class: ELFCLASS6430  Data:  ELFDATA2LSB31  Type:  ET_DYN32Sections:33  - Name:  .symtab34    Type:  SHT_SYMTAB35  - Name:  .strtab36    Type:  SHT_STRTAB37  - Name:  .dynsym38    Type:  SHT_DYNSYM39  - Name:  .dynstr40    Type:  SHT_STRTAB41Symbols:42  - Name:    local43  - Name:    global144    Binding: STB_GLOBAL45DynamicSymbols:46  - Name:    global247    Binding: STB_GLOBAL48 49## In the case when these sections are not defined in YAML, the50## behavior is the same as when we define them, but do not set the Info.51 52# RUN: yaml2obj --docnum=2 %s -o %t53# RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix=CASE254 55# CASE2:     Name: .dynsym56# CASE2-NOT: Info:57# CASE2:     Info: 1{{$}}58# CASE2:     Name: .dynstr59# CASE2-NOT: Info:60# CASE2:     Info: 0{{$}}61# CASE2:     Name: .symtab62# CASE2-NOT: Info:63# CASE2:     Info: 2{{$}}64# CASE2:     Name: .strtab65# CASE2-NOT: Info:66# CASE2:     Info: 0{{$}}67 68--- !ELF69FileHeader:70  Class: ELFCLASS6471  Data:  ELFDATA2LSB72  Type:  ET_DYN73Symbols:74  - Name:    local75  - Name:    global176    Binding: STB_GLOBAL77DynamicSymbols:78  - Name:    global279    Binding: STB_GLOBAL80 81## Check we are able to set any sh_info explicitly.82 83# RUN: yaml2obj --docnum=3 %s -o %t84# RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix=CASE385 86# CASE3:      Name: .dynstr87# CASE3:      Info:88# CASE3-SAME: 1089# CASE3:      Name: .dynsym90# CASE3:      Info:91# CASE3-SAME: 1192# CASE3:      Name: .strtab93# CASE3:      Info:94# CASE3-SAME: 1295# CASE3:      Name: .symtab96# CASE3:      Info:97# CASE3-SAME: 1398 99--- !ELF100FileHeader:101  Class: ELFCLASS64102  Data:  ELFDATA2LSB103  Type:  ET_DYN104Sections:105  - Name:  .dynstr106    Type:  SHT_STRTAB107    Info:  10108  - Name:  .dynsym109    Type:  SHT_DYNSYM110    Info:  11111  - Name:  .strtab112    Type:  SHT_STRTAB113    Info:  12114  - Name:  .symtab115    Type:  SHT_SYMTAB116    Info:  13117Symbols:118  - Name:    local119  - Name:    global1120    Binding: STB_GLOBAL121DynamicSymbols:122  - Name:    global2123    Binding: STB_GLOBAL124