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
13 ## The C_FILE symbol with File auxiliary entries.
22 FileNameOrString: "test"
23 FileStringType: XFT_FN
25 FileNameOrString: "foo"
26 FileStringType: XFT_CT
28 FileNameOrString: "bar"
29 FileStringType: XFT_CV
30 ## The C_HIDEXT symbol with a CSECT auxiliary entry.
35 StorageClass: C_HIDEXT
41 SymbolAlignmentAndType: 1
42 StorageMappingClass: XMC_PR
45 ## The C_EXT symbol with a CSECT auxiliary entry.
56 SymbolAlignmentAndType: 1
57 StorageMappingClass: XMC_PR
60 ## The C_WEAKEXT symbol with a CSECT auxiliary entry.
65 StorageClass: C_WEAKEXT
71 SymbolAlignmentAndType: 1
72 StorageMappingClass: XMC_PR
75 ## The C_WEAKEXT symbol with a Function auxiliary entry and a CSECT auxiliary entry.
80 StorageClass: C_WEAKEXT
90 SymbolAlignmentAndType: 1
91 StorageMappingClass: XMC_PR
94 ## The C_EXT symbol with a Function auxiliary entry, a CSECT auxiliary entry, and an Exception auxiliary entry.
100 NumberOfAuxEntries: 3
104 SymIdxOfNextBeyond: 4
107 OffsetToExceptionTbl: 2
109 SymIdxOfNextBeyond: 4
111 ParameterHashIndex: 2
113 SymbolAlignmentAndType: 1
114 StorageMappingClass: XMC_PR
117 ## The C_DWARF symbol with a SECT auxiliary entry.
120 StorageClass: C_DWARF
121 NumberOfAuxEntries: 1
124 LengthOfSectionPortion: 2
126 ## The C_BLOCK symbol with a Block auxiliary entry.
128 StorageClass: C_BLOCK
129 NumberOfAuxEntries: 1
133 ## The C_FCN symbol with a Block auxiliary entry.
136 NumberOfAuxEntries: 1
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)