Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / yaml2obj / ELF / symtab-shlink.yaml
blob1d64fc390073f8231bbd353acf811d1b34f603db
1 ## For implicit symbol table sections, `Link` field can also
2 ## be specified in YAML. Here we test the behavior in different cases.
4 ## Check we are able to set Link = 0 for .symtab explicitly.
6 # RUN: yaml2obj --docnum=1 %s -o %t1
7 # RUN: llvm-readobj %t1 -S | FileCheck %s --check-prefix=CASE1
9 # CASE1: Name: .symtab
10 # CASE1: Link:
11 # CASE1-SAME: 0
13 --- !ELF
14 FileHeader:
15   Class: ELFCLASS64
16   Data:  ELFDATA2LSB
17   Type:  ET_DYN
18 Sections:
19   - Name: .symtab
20     Type: SHT_SYMTAB
21     Link: 0
23 ## Check that by default .symtab will be linked with .strtab.
25 # RUN: yaml2obj --docnum=2 %s -o %t2
26 # RUN: llvm-readobj %t2 -S | FileCheck %s --check-prefix=CASE2
28 # CASE2:      .symtab
29 # CASE2:      Link:
30 # CASE2-SAME: 2
31 # CASE2:      Index: 2
32 # CASE2-NEXT: Name: .strtab
34 --- !ELF
35 FileHeader:
36   Class: ELFCLASS64
37   Data:  ELFDATA2LSB
38   Type:  ET_DYN
39 Sections:
40   - Name: .symtab
41     Type: SHT_SYMTAB
43 ## Even if .strtab is defined in YAML, we can explicitly link .symtab
44 ## to another section.
46 # RUN: yaml2obj --docnum=3 %s -o %t3
47 # RUN: llvm-readobj %t3 -S | FileCheck %s --check-prefix=CASE3
49 # CASE3:      .symtab
50 # CASE3:      Link:
51 # CASE3-SAME: 3
52 # CASE3:      Index: 3
53 # CASE3-NEXT: Name: .foo
55 --- !ELF
56 FileHeader:
57   Class: ELFCLASS64
58   Data:  ELFDATA2LSB
59   Type:  ET_DYN
60 Sections:
61   - Name: .symtab
62     Type: SHT_SYMTAB
63     Link: 3
64   - Name: .strtab
65     Type: SHT_STRTAB
66   - Name: .foo
67     Type: SHT_PROGBITS
69 ## Check we can use a section name as a Link value for .symtab.
71 # RUN: yaml2obj --docnum=4 %s -o %t4
72 # RUN: llvm-readobj %t4 -S | FileCheck %s --check-prefix=CASE4
74 # CASE4:      .symtab
75 # CASE4:      Link:
76 # CASE4-SAME: 2
77 # CASE4:      Index: 2
78 # CASE4-NEXT: Name: .foo
80 --- !ELF
81 FileHeader:
82   Class: ELFCLASS64
83   Data:  ELFDATA2LSB
84   Type:  ET_DYN
85 Sections:
86   - Name: .symtab
87     Type: SHT_SYMTAB
88     Link: .foo
89   - Name: .foo
90     Type: SHT_PROGBITS