Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-weak.ll
blob7bf80ad19e9e01afecd8ab93ee555b456afe01e7
1 ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
2 ; RUN:   -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
4 ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
5 ; RUN:   -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
7 ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
8 ; RUN:   -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
9 ; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefixes=CHECKSYM,CHECKSYM32 %s
11 ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
12 ; RUN:   -mattr=-altivec -data-sections=false -filetype=obj -o %t64.o < %s
13 ; RUN: llvm-readobj --symbols %t64.o | FileCheck --check-prefixes=CHECKSYM,CHECKSYM64 %s
15 @foo_weak_p = global ptr @foo_ref_weak, align 4
16 @b = weak global i32 0, align 4
18 define weak void @foo_weak(ptr %p)  {
19 entry:
20   %p.addr = alloca ptr, align 4
21   store ptr %p, ptr %p.addr, align 4
22   %0 = load ptr, ptr %p.addr, align 4
23   %1 = load i32, ptr %0, align 4
24   %inc = add nsw i32 %1, 1
25   store i32 %inc, ptr %0, align 4
26   ret void
29 define weak void @foo_ref_weak()  {
30 entry:
31   ret void
34 define i32 @main()  {
35 entry:
36   %0 = load ptr, ptr @foo_weak_p, align 4
37   call void %0()
38   call void @foo_weak(ptr @b)
39   call void @foo_ref_weak()
40   ret i32 0
43 ; COMMON:               .weak   foo_weak[DS]            # -- Begin function foo_weak
44 ; COMMON-NEXT:          .weak   .foo_weak
45 ; COMMON-NEXT:          .align  4
46 ; COMMON-NEXT:          .csect foo_weak[DS]
47 ; BIT32-NEXT:           .vbyte  4, .foo_weak               # @foo_weak
48 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
49 ; BIT32-NEXT:           .vbyte  4, 0
50 ; BIT64-NEXT:           .vbyte  8, .foo_weak               # @foo_weak
51 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
52 ; BIT64-NEXT:           .vbyte  8, 0
53 ; COMMON-NEXT:          .csect ..text..[PR]
54 ; COMMON-NEXT:  .foo_weak:
56 ; COMMON:               .weak   foo_ref_weak[DS]        # -- Begin function foo_ref_weak
57 ; COMMON-NEXT:          .weak   .foo_ref_weak
58 ; COMMON-NEXT:          .align  4
59 ; COMMON-NEXT:          .csect foo_ref_weak[DS]
60 ; BIT32-NEXT:           .vbyte  4, .foo_ref_weak           # @foo_ref_weak
61 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
62 ; BIT32-NEXT:           .vbyte  4, 0
63 ; BIT64-NEXT:           .vbyte  8, .foo_ref_weak           # @foo_ref_weak
64 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
65 ; BIT64-NEXT:           .vbyte  8, 0
66 ; COMMON-NEXT:          .csect ..text..[PR]
67 ; COMMON-NEXT:  .foo_ref_weak:
69 ; COMMON:               .globl  main[DS]                # -- Begin function main
70 ; COMMON-NEXT:          .globl  .main
71 ; COMMON-NEXT:          .align  4
72 ; COMMON-NEXT:          .csect main[DS]
73 ; BIT32-NEXT:           .vbyte  4, .main                   # @main
74 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
75 ; BIT32-NEXT:           .vbyte  4, 0
76 ; BIT64-NEXT:           .vbyte  8, .main                   # @main
77 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
78 ; BIT64-NEXT:           .vbyte  8, 0
79 ; COMMON-NEXT:          .csect ..text..[PR]
80 ; COMMON-NEXT:  .main:
82 ; COMMON:               .csect .data[RW]
83 ; COMMON-NEXT:          .globl  foo_weak_p
84 ; BIT32-NEXT:           .align  2
85 ; BIT64-NEXT:           .align  3
86 ; COMMON-NEXT:  foo_weak_p:
87 ; BIT32-NEXT:           .vbyte  4, foo_ref_weak[DS]
88 ; BIT64-NEXT:           .vbyte  8, foo_ref_weak[DS]
89 ; COMMON-NEXT:          .weak   b
90 ; COMMON-NEXT:          .align  2
91 ; COMMON-NEXT:  b:
92 ; COMMON-NEXT:          .vbyte  4, 0                       # 0x0
93 ; COMMON-NEXT:          .toc
94 ; COMMON-NEXT:  L..C0:
95 ; COMMON-NEXT:          .tc foo_weak_p[TC],foo_weak_p
96 ; COMMON-NEXT:  L..C1:
97 ; COMMON-NEXT:          .tc b[TC],b
100 ; CHECKSYM:      Symbols [
101 ; CHECKSYM-NEXT:   Symbol {
102 ; CHECKSYM-NEXT:     Index: 0
103 ; CHECKSYM-NEXT:     Name: .file
104 ; CHECKSYM-NEXT:     Value (SymbolTableIndex): 0x0
105 ; CHECKSYM-NEXT:     Section: N_DEBUG
106 ; CHECKSYM-NEXT:     Source Language ID: TB_CPLUSPLUS (0x9)
107 ; CHECKSYM32-NEXT:   CPU Version ID: TCPU_COM (0x3)
108 ; CHECKSYM64-NEXT:   CPU Version ID: TCPU_PPC64 (0x2)
109 ; CHECKSYM-NEXT:     StorageClass: C_FILE (0x67)
110 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 2
111 ; CHECKSYM:        Symbol {
112 ; CHECKSYM-NEXT:     Index: [[#Index:]]
113 ; CHECKSYM-NEXT:     Name: 
114 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x0
115 ; CHECKSYM-NEXT:     Section: .text
116 ; CHECKSYM-NEXT:     Type: 0x0
117 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
118 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
119 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
120 ; CHECKSYM-NEXT:       Index: [[#Index+1]]
121 ; CHECKSYM-NEXT:       SectionLen: 136
122 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
123 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
124 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 5
125 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
126 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
127 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
128 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
129 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
130 ; CHECKSYM-NEXT:     }
131 ; CHECKSYM-NEXT:   }
132 ; CHECKSYM-NEXT:   Symbol {
133 ; CHECKSYM-NEXT:     Index: [[#Index+2]]
134 ; CHECKSYM-NEXT:     Name: .foo_weak
135 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x0
136 ; CHECKSYM-NEXT:     Section: .text
137 ; CHECKSYM-NEXT:     Type: 0x0
138 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
139 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
140 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
141 ; CHECKSYM-NEXT:       Index: [[#Index+3]]
142 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
143 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
144 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
145 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
146 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
147 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
148 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
149 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
150 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
151 ; CHECKSYM-NEXT:     }
152 ; CHECKSYM-NEXT:   }
153 ; CHECKSYM-NEXT:   Symbol {
154 ; CHECKSYM-NEXT:     Index: [[#Index+4]]
155 ; CHECKSYM-NEXT:     Name: .foo_ref_weak
156 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x20
157 ; CHECKSYM-NEXT:     Section: .text
158 ; CHECKSYM-NEXT:     Type: 0x0
159 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
160 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
161 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
162 ; CHECKSYM-NEXT:       Index: [[#Index+5]]
163 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
164 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
165 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
166 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
167 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
168 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
169 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
170 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
171 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
172 ; CHECKSYM-NEXT:     }
173 ; CHECKSYM-NEXT:   }
174 ; CHECKSYM-NEXT:   Symbol {
175 ; CHECKSYM-NEXT:     Index: [[#Index+6]]
176 ; CHECKSYM-NEXT:     Name: .main
177 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x30
178 ; CHECKSYM-NEXT:     Section: .text
179 ; CHECKSYM-NEXT:     Type: 0x0
180 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
181 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
182 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
183 ; CHECKSYM-NEXT:       Index: [[#Index+7]]
184 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
185 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
186 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
187 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
188 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
189 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
190 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
191 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
192 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
193 ; CHECKSYM-NEXT:     }
194 ; CHECKSYM-NEXT:   }
195 ; CHECKSYM-NEXT:   Symbol {
196 ; CHECKSYM-NEXT:     Index: [[#Index+8]]
197 ; CHECKSYM-NEXT:     Name: .data
198 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x88
199 ; CHECKSYM-NEXT:     Section: .data
200 ; CHECKSYM-NEXT:     Type: 0x0
201 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
202 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
203 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
204 ; CHECKSYM-NEXT:       Index: [[#Index+9]]
205 ; CHECKSYM32-NEXT:     SectionLen: 8
206 ; CHECKSYM64-NEXT:     SectionLen: 12
207 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
208 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
209 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
210 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
211 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
212 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
213 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
214 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
215 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
216 ; CHECKSYM-NEXT:     }
217 ; CHECKSYM-NEXT:   }
218 ; CHECKSYM-NEXT:   Symbol {
219 ; CHECKSYM-NEXT:     Index: [[#Index+10]]
220 ; CHECKSYM-NEXT:     Name: foo_weak_p
221 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x88
222 ; CHECKSYM-NEXT:     Section: .data
223 ; CHECKSYM-NEXT:     Type: 0x0
224 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
225 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
226 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
227 ; CHECKSYM-NEXT:       Index: [[#Index+11]]
228 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index+8]]
229 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
230 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
231 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
232 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
233 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
234 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
235 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
236 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
237 ; CHECKSYM-NEXT:     }
238 ; CHECKSYM-NEXT:   }
239 ; CHECKSYM-NEXT:   Symbol {
240 ; CHECKSYM-NEXT:     Index: [[#Index+12]]
241 ; CHECKSYM-NEXT:     Name: b
242 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x8C
243 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0x90
244 ; CHECKSYM-NEXT:     Section: .data
245 ; CHECKSYM-NEXT:     Type: 0x0
246 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
247 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
248 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
249 ; CHECKSYM-NEXT:       Index: [[#Index+13]]
250 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index+8]]
251 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
252 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
253 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
254 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
255 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
256 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
257 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
258 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
259 ; CHECKSYM-NEXT:     }
260 ; CHECKSYM-NEXT:   }
261 ; CHECKSYM-NEXT:   Symbol {
262 ; CHECKSYM-NEXT:     Index: [[#Index+14]]
263 ; CHECKSYM-NEXT:     Name: foo_weak
264 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x90
265 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0x98
266 ; CHECKSYM-NEXT:     Section: .data
267 ; CHECKSYM-NEXT:     Type: 0x0
268 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
269 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
270 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
271 ; CHECKSYM-NEXT:       Index: [[#Index+15]]
272 ; CHECKSYM32-NEXT:     SectionLen: 12
273 ; CHECKSYM64-NEXT:     SectionLen: 24
274 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
275 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
276 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
277 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
278 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
279 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
280 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
281 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
282 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
283 ; CHECKSYM-NEXT:     }
284 ; CHECKSYM-NEXT:   }
285 ; CHECKSYM-NEXT:   Symbol {
286 ; CHECKSYM-NEXT:     Index: [[#Index+16]]
287 ; CHECKSYM-NEXT:     Name: foo_ref_weak
288 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x9C
289 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xB0
290 ; CHECKSYM-NEXT:     Section: .data
291 ; CHECKSYM-NEXT:     Type: 0x0
292 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
293 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
294 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
295 ; CHECKSYM-NEXT:       Index: [[#Index+17]]
296 ; CHECKSYM32-NEXT:     SectionLen: 12
297 ; CHECKSYM64-NEXT:     SectionLen: 24
298 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
299 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
300 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
301 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
302 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
303 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
304 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
305 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
306 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
307 ; CHECKSYM-NEXT:     }
308 ; CHECKSYM-NEXT:   }
309 ; CHECKSYM-NEXT:   Symbol {
310 ; CHECKSYM-NEXT:     Index: [[#Index+18]]
311 ; CHECKSYM-NEXT:     Name: main
312 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xA8
313 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xC8
314 ; CHECKSYM-NEXT:     Section: .data
315 ; CHECKSYM-NEXT:     Type: 0x0
316 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
317 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
318 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
319 ; CHECKSYM-NEXT:       Index: [[#Index+19]]
320 ; CHECKSYM32-NEXT:     SectionLen: 12
321 ; CHECKSYM64-NEXT:     SectionLen: 24
322 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
323 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
324 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
325 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
326 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
327 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
328 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
329 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
330 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
331 ; CHECKSYM-NEXT:     }
332 ; CHECKSYM-NEXT:   }
333 ; CHECKSYM-NEXT:   Symbol {
334 ; CHECKSYM-NEXT:     Index: [[#Index+20]]
335 ; CHECKSYM-NEXT:     Name: TOC
336 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB4
337 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE0
338 ; CHECKSYM-NEXT:     Section: .data
339 ; CHECKSYM-NEXT:     Type: 0x0
340 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
341 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
342 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
343 ; CHECKSYM-NEXT:       Index: [[#Index+21]]
344 ; CHECKSYM-NEXT:       SectionLen: 0
345 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
346 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
347 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 2
348 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
349 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC0 (0xF)
350 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
351 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
352 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
353 ; CHECKSYM-NEXT:     }
354 ; CHECKSYM-NEXT:   }
355 ; CHECKSYM-NEXT:   Symbol {
356 ; CHECKSYM-NEXT:     Index: [[#Index+22]]
357 ; CHECKSYM-NEXT:     Name: foo_weak_p
358 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB4
359 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE0
360 ; CHECKSYM-NEXT:     Section: .data
361 ; CHECKSYM-NEXT:     Type: 0x0
362 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
363 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
364 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
365 ; CHECKSYM-NEXT:       Index: [[#Index+23]]
366 ; CHECKSYM32-NEXT:     SectionLen: 4
367 ; CHECKSYM64-NEXT:     SectionLen: 8
368 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
369 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
370 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
371 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
372 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
373 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
374 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
375 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
376 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
377 ; CHECKSYM-NEXT:     }
378 ; CHECKSYM-NEXT:   }
379 ; CHECKSYM-NEXT:   Symbol {
380 ; CHECKSYM-NEXT:     Index: [[#Index+24]]
381 ; CHECKSYM-NEXT:     Name: b
382 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB8
383 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE8
384 ; CHECKSYM-NEXT:     Section: .data
385 ; CHECKSYM-NEXT:     Type: 0x0
386 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
387 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
388 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
389 ; CHECKSYM-NEXT:       Index: [[#Index+25]]
390 ; CHECKSYM32-NEXT:     SectionLen: 4
391 ; CHECKSYM64-NEXT:     SectionLen: 8
392 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
393 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
394 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
395 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
396 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
397 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
398 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
399 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
400 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
401 ; CHECKSYM-NEXT:     }
402 ; CHECKSYM-NEXT:   }
403 ; CHECKSYM-NEXT: ]