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