Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-readobj / XCOFF / symbols64.test
blob591c131063fe30e253726b6090cb3ee38701fe10
1 ## This file tests the ability of llvm-readobj to display the symbol table for a
2 ## 64-bit XCOFF object file.
4 # RUN: yaml2obj %s -o %t
5 # RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL64 %s
7 --- !XCOFF
8 FileHeader:
9   MagicNumber: 0x1F7
10 Sections:
11   - Name: .text
12 Symbols:
13 ## The C_FILE symbol with File auxiliary entries.
14   - Name:               .file
15     Value:              0x0
16     Section:            N_DEBUG
17     Type:               0x0
18     StorageClass:       C_FILE
19     NumberOfAuxEntries: 3
20     AuxEntries:
21       - Type:             AUX_FILE
22         FileNameOrString: "test"
23         FileStringType:   XFT_FN
24       - Type:             AUX_FILE
25         FileNameOrString: "foo"
26         FileStringType:   XFT_CT
27       - Type:             AUX_FILE
28         FileNameOrString: "bar"
29         FileStringType:   XFT_CV
30 ## The C_HIDEXT symbol with a CSECT auxiliary entry.
31   - Name:               .fun
32     Value:              0x0
33     Section:            .text
34     Type:               0x0
35     StorageClass:       C_HIDEXT
36     NumberOfAuxEntries: 1
37     AuxEntries:
38       - Type:                   AUX_CSECT
39         ParameterHashIndex:     2
40         TypeChkSectNum:         3
41         SymbolAlignmentAndType: 1
42         StorageMappingClass:    XMC_PR
43         SectionOrLengthLo:      4
44         SectionOrLengthHi:      5
45 ## The C_EXT symbol with a CSECT auxiliary entry.
46   - Name:               .fun1
47     Value:              0x0
48     Section:            .text
49     Type:               0x20
50     StorageClass:       C_EXT
51     NumberOfAuxEntries: 1
52     AuxEntries:
53       - Type:                   AUX_CSECT
54         ParameterHashIndex:     2
55         TypeChkSectNum:         3
56         SymbolAlignmentAndType: 1
57         StorageMappingClass:    XMC_PR
58         SectionOrLengthLo:      4
59         SectionOrLengthHi:      5
60 ## The C_WEAKEXT symbol with a CSECT auxiliary entry.
61   - Name:               .fun2
62     Value:              0x0
63     Section:            .text
64     Type:               0x20
65     StorageClass:       C_WEAKEXT
66     NumberOfAuxEntries: 1
67     AuxEntries:
68       - Type:                   AUX_CSECT
69         ParameterHashIndex:     8
70         TypeChkSectNum:         9
71         SymbolAlignmentAndType: 1
72         StorageMappingClass:    XMC_PR
73         SectionOrLengthLo:      2
74         SectionOrLengthHi:      3
75 ## The C_WEAKEXT symbol with a Function auxiliary entry and a CSECT auxiliary entry.
76   - Name:               .fun3
77     Value:              0x0
78     Section:            N_DEBUG
79     Type:               0x20
80     StorageClass:       C_WEAKEXT
81     NumberOfAuxEntries: 2
82     AuxEntries:
83       - Type:                 AUX_FCN
84         SizeOfFunction:       3
85         SymIdxOfNextBeyond:   4
86         PtrToLineNum:         5
87       - Type:                   AUX_CSECT
88         ParameterHashIndex:     2
89         TypeChkSectNum:         3
90         SymbolAlignmentAndType: 1
91         StorageMappingClass:    XMC_PR
92         SectionOrLengthLo:      4
93         SectionOrLengthHi:      5
94 ## The C_EXT symbol with a Function auxiliary entry, a CSECT auxiliary entry, and an Exception auxiliary entry.
95   - Name:               .fun4
96     Value:              0x0
97     Section:            .text
98     Type:               0x20
99     StorageClass:       C_EXT
100     NumberOfAuxEntries: 3
101     AuxEntries:
102       - Type:                 AUX_FCN
103         SizeOfFunction:       3
104         SymIdxOfNextBeyond:   4
105         PtrToLineNum:         5
106       - Type:                 AUX_EXCEPT
107         OffsetToExceptionTbl: 2
108         SizeOfFunction:       3
109         SymIdxOfNextBeyond:   4
110       - Type:                   AUX_CSECT
111         ParameterHashIndex:     2
112         TypeChkSectNum:         3
113         SymbolAlignmentAndType: 1
114         StorageMappingClass:    XMC_PR
115         SectionOrLengthLo:      4
116         SectionOrLengthHi:      5
117 ## The C_DWARF symbol with a SECT auxiliary entry.
118   - Name:               .fun5
119     Section:            N_DEBUG
120     StorageClass:       C_DWARF
121     NumberOfAuxEntries: 1
122     AuxEntries:
123       - Type:                   AUX_SECT
124         LengthOfSectionPortion: 2
125         NumberOfRelocEnt:       3
126 ## The C_BLOCK symbol with a Block auxiliary entry.
127   - Name:               .fun6
128     StorageClass:       C_BLOCK
129     NumberOfAuxEntries: 1
130     AuxEntries:
131       - Type:    AUX_SYM
132         LineNum: 3
133 ## The C_FCN symbol with a Block auxiliary entry.
134   - Name:               .fun7
135     StorageClass:       C_FCN
136     NumberOfAuxEntries: 1
137     AuxEntries:
138       - Type:    AUX_SYM
139         LineNum: 3
141 # SYMBOL64:      Symbols [
142 # SYMBOL64-NEXT:   Symbol {
143 # SYMBOL64-NEXT:     Index: 0
144 # SYMBOL64-NEXT:     Name: .file
145 # SYMBOL64-NEXT:     Value (SymbolTableIndex): 0x0
146 # SYMBOL64-NEXT:     Section: N_DEBUG
147 # SYMBOL64-NEXT:     Source Language ID: TB_C (0x0)
148 # SYMBOL64-NEXT:     CPU Version ID: 0x0
149 # SYMBOL64-NEXT:     StorageClass: C_FILE (0x67)
150 # SYMBOL64-NEXT:     NumberOfAuxEntries: 3
151 # SYMBOL64-NEXT:     File Auxiliary Entry {
152 # SYMBOL64-NEXT:       Index: 1
153 # SYMBOL64-NEXT:       Name: test
154 # SYMBOL64-NEXT:       Type: XFT_FN (0x0)
155 # SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
156 # SYMBOL64-NEXT:     }
157 # SYMBOL64-NEXT:     File Auxiliary Entry {
158 # SYMBOL64-NEXT:       Index: 2
159 # SYMBOL64-NEXT:       Name: foo
160 # SYMBOL64-NEXT:       Type: XFT_CT (0x1)
161 # SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
162 # SYMBOL64-NEXT:     }
163 # SYMBOL64-NEXT:     File Auxiliary Entry {
164 # SYMBOL64-NEXT:       Index: 3
165 # SYMBOL64-NEXT:       Name: bar
166 # SYMBOL64-NEXT:       Type: XFT_CV (0x2)
167 # SYMBOL64-NEXT:       Auxiliary Type: AUX_FILE (0xFC)
168 # SYMBOL64-NEXT:     }
169 # SYMBOL64-NEXT:   }
170 # SYMBOL64-NEXT:   Symbol {
171 # SYMBOL64-NEXT:     Index: 4
172 # SYMBOL64-NEXT:     Name: .fun
173 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
174 # SYMBOL64-NEXT:     Section: .text
175 # SYMBOL64-NEXT:     Type: 0x0
176 # SYMBOL64-NEXT:     StorageClass: C_HIDEXT (0x6B)
177 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
178 # SYMBOL64-NEXT:     CSECT Auxiliary Entry {
179 # SYMBOL64-NEXT:       Index: 5
180 # SYMBOL64-NEXT:       SectionLen: 21474836484
181 # SYMBOL64-NEXT:       ParameterHashIndex: 0x2
182 # SYMBOL64-NEXT:       TypeChkSectNum: 0x3
183 # SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
184 # SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
185 # SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
186 # SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
187 # SYMBOL64-NEXT:     }
188 # SYMBOL64-NEXT:   }
189 # SYMBOL64-NEXT:   Symbol {
190 # SYMBOL64-NEXT:     Index: 6
191 # SYMBOL64-NEXT:     Name: .fun1
192 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
193 # SYMBOL64-NEXT:     Section: .text
194 # SYMBOL64-NEXT:     Type: 0x20
195 # SYMBOL64-NEXT:     StorageClass: C_EXT (0x2)
196 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
197 # SYMBOL64-NEXT:     CSECT Auxiliary Entry {
198 # SYMBOL64-NEXT:       Index: 7
199 # SYMBOL64-NEXT:       SectionLen: 21474836484
200 # SYMBOL64-NEXT:       ParameterHashIndex: 0x2
201 # SYMBOL64-NEXT:       TypeChkSectNum: 0x3
202 # SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
203 # SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
204 # SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
205 # SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
206 # SYMBOL64-NEXT:     }
207 # SYMBOL64-NEXT:   }
208 # SYMBOL64-NEXT:   Symbol {
209 # SYMBOL64-NEXT:     Index: 8
210 # SYMBOL64-NEXT:     Name: .fun2
211 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
212 # SYMBOL64-NEXT:     Section: .text
213 # SYMBOL64-NEXT:     Type: 0x20
214 # SYMBOL64-NEXT:     StorageClass: C_WEAKEXT (0x6F)
215 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
216 # SYMBOL64-NEXT:     CSECT Auxiliary Entry {
217 # SYMBOL64-NEXT:       Index: 9
218 # SYMBOL64-NEXT:       SectionLen: 12884901890
219 # SYMBOL64-NEXT:       ParameterHashIndex: 0x8
220 # SYMBOL64-NEXT:       TypeChkSectNum: 0x9
221 # SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
222 # SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
223 # SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
224 # SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
225 # SYMBOL64-NEXT:     }
226 # SYMBOL64-NEXT:   }
227 # SYMBOL64-NEXT:   Symbol {
228 # SYMBOL64-NEXT:     Index: 10
229 # SYMBOL64-NEXT:     Name: .fun3
230 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
231 # SYMBOL64-NEXT:     Section: N_DEBUG
232 # SYMBOL64-NEXT:     Type: 0x20
233 # SYMBOL64-NEXT:     StorageClass: C_WEAKEXT (0x6F)
234 # SYMBOL64-NEXT:     NumberOfAuxEntries: 2
235 # SYMBOL64-NEXT:     Function Auxiliary Entry {
236 # SYMBOL64-NEXT:       Index: 11
237 # SYMBOL64-NEXT:       SizeOfFunction: 0x3
238 # SYMBOL64-NEXT:       PointerToLineNum: 0x5
239 # SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4
240 # SYMBOL64-NEXT:       Auxiliary Type: AUX_FCN (0xFE)
241 # SYMBOL64-NEXT:     }
242 # SYMBOL64-NEXT:     CSECT Auxiliary Entry {
243 # SYMBOL64-NEXT:       Index: 12
244 # SYMBOL64-NEXT:       SectionLen: 21474836484
245 # SYMBOL64-NEXT:       ParameterHashIndex: 0x2
246 # SYMBOL64-NEXT:       TypeChkSectNum: 0x3
247 # SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
248 # SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
249 # SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
250 # SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
251 # SYMBOL64-NEXT:     }
252 # SYMBOL64-NEXT:   }
253 # SYMBOL64-NEXT:   Symbol {
254 # SYMBOL64-NEXT:     Index: 13
255 # SYMBOL64-NEXT:     Name: .fun4
256 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
257 # SYMBOL64-NEXT:     Section: .text
258 # SYMBOL64-NEXT:     Type: 0x20
259 # SYMBOL64-NEXT:     StorageClass: C_EXT (0x2)
260 # SYMBOL64-NEXT:     NumberOfAuxEntries: 3
261 # SYMBOL64-NEXT:     Function Auxiliary Entry {
262 # SYMBOL64-NEXT:       Index: 14
263 # SYMBOL64-NEXT:       SizeOfFunction: 0x3
264 # SYMBOL64-NEXT:       PointerToLineNum: 0x5
265 # SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4
266 # SYMBOL64-NEXT:       Auxiliary Type: AUX_FCN (0xFE)
267 # SYMBOL64-NEXT:     }
268 # SYMBOL64-NEXT:     Exception Auxiliary Entry {
269 # SYMBOL64-NEXT:       Index: 15
270 # SYMBOL64-NEXT:       OffsetToExceptionTable: 0x2
271 # SYMBOL64-NEXT:       SizeOfFunction: 0x3
272 # SYMBOL64-NEXT:       SymbolIndexOfNextBeyond: 4
273 # SYMBOL64-NEXT:       Auxiliary Type: AUX_EXCEPT (0xFF)
274 # SYMBOL64-NEXT:     }
275 # SYMBOL64-NEXT:     CSECT Auxiliary Entry {
276 # SYMBOL64-NEXT:       Index: 16
277 # SYMBOL64-NEXT:       SectionLen: 21474836484
278 # SYMBOL64-NEXT:       ParameterHashIndex: 0x2
279 # SYMBOL64-NEXT:       TypeChkSectNum: 0x3
280 # SYMBOL64-NEXT:       SymbolAlignmentLog2: 0
281 # SYMBOL64-NEXT:       SymbolType: XTY_SD (0x1)
282 # SYMBOL64-NEXT:       StorageMappingClass: XMC_PR (0x0)
283 # SYMBOL64-NEXT:       Auxiliary Type: AUX_CSECT (0xFB)
284 # SYMBOL64-NEXT:     }
285 # SYMBOL64-NEXT:   }
286 # SYMBOL64-NEXT:   Symbol {
287 # SYMBOL64-NEXT:     Index: 17
288 # SYMBOL64-NEXT:     Name: .fun5
289 # SYMBOL64-NEXT:     Value (OffsetInDWARF): 0x0
290 # SYMBOL64-NEXT:     Section: N_DEBUG
291 # SYMBOL64-NEXT:     Type: 0x0
292 # SYMBOL64-NEXT:     StorageClass: C_DWARF (0x70)
293 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
294 # SYMBOL64-NEXT:     Sect Auxiliary Entry For DWARF {
295 # SYMBOL64-NEXT:       Index: 18
296 # SYMBOL64-NEXT:       LengthOfSectionPortion: 0x2
297 # SYMBOL64-NEXT:       NumberOfRelocEntries: 3
298 # SYMBOL64-NEXT:       Auxiliary Type: AUX_SECT (0xFA)
299 # SYMBOL64-NEXT:     }
300 # SYMBOL64-NEXT:   }
301 # SYMBOL64-NEXT:   Symbol {
302 # SYMBOL64-NEXT:     Index: 19
303 # SYMBOL64-NEXT:     Name: .fun6
304 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
305 # SYMBOL64-NEXT:     Section: N_UNDEF
306 # SYMBOL64-NEXT:     Type: 0x0
307 # SYMBOL64-NEXT:     StorageClass: C_BLOCK (0x64)
308 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
309 # SYMBOL64-NEXT:     Block Auxiliary Entry {
310 # SYMBOL64-NEXT:       Index: 20
311 # SYMBOL64-NEXT:       LineNumber: 0x3
312 # SYMBOL64-NEXT:       Auxiliary Type: AUX_SYM (0xFD)
313 # SYMBOL64-NEXT:     }
314 # SYMBOL64-NEXT:   }
315 # SYMBOL64-NEXT:   Symbol {
316 # SYMBOL64-NEXT:     Index: 21
317 # SYMBOL64-NEXT:     Name: .fun7
318 # SYMBOL64-NEXT:     Value (RelocatableAddress): 0x0
319 # SYMBOL64-NEXT:     Section: N_UNDEF
320 # SYMBOL64-NEXT:     Type: 0x0
321 # SYMBOL64-NEXT:     StorageClass: C_FCN (0x65)
322 # SYMBOL64-NEXT:     NumberOfAuxEntries: 1
323 # SYMBOL64-NEXT:     Block Auxiliary Entry {
324 # SYMBOL64-NEXT:       Index: 22
325 # SYMBOL64-NEXT:       LineNumber: 0x3
326 # SYMBOL64-NEXT:       Auxiliary Type: AUX_SYM (0xFD)
327 # SYMBOL64-NEXT:     }
328 # SYMBOL64-NEXT:   }
329 # SYMBOL64-NEXT: ]