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