1; This file tests the codegen of initialized and common variables in AIX
2; assembly and XCOFF object files.
3
4; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s
5; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s
6
7; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
8; RUN: llvm-readobj --section-headers --file-header %t.o | \
9; RUN: FileCheck --check-prefix=OBJ %s
10; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYMS %s
11
12; RUN: not llc -mtriple powerpc64-ibm-aix-xcoff -filetype=obj < %s 2>&1 | \
13; RUN: FileCheck --check-prefix=XCOFF64 %s
14; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
15
16@ivar = local_unnamed_addr global i32 35, align 4
17@llvar = local_unnamed_addr global i64 36, align 8
18@svar = local_unnamed_addr global i16 37, align 2
19@fvar = local_unnamed_addr global float 8.000000e+02, align 4
20@dvar = local_unnamed_addr global double 9.000000e+02, align 8
21@over_aligned = local_unnamed_addr global double 9.000000e+02, align 32
22@chrarray = local_unnamed_addr global [4 x i8] c"abcd", align 1
23@dblarr = local_unnamed_addr global [4 x double] [double 1.000000e+00, double 2.000000e+00, double 3.000000e+00, double 4.000000e+00], align 8
24
25@a = common global i32 0, align 4
26@b = common global i64 0, align 8
27@c = common global i16 0, align 2
28
29@d = common local_unnamed_addr global double 0.000000e+00, align 8
30@f = common local_unnamed_addr global float 0.000000e+00, align 4
31
32@over_aligned_comm = common local_unnamed_addr global double 0.000000e+00, align 32
33
34@array = common local_unnamed_addr global [33 x i8] zeroinitializer, align 1
35
36; CHECK-NOT: .toc
37
38; CHECK:      .csect .text[PR]
39; CHECK-NEXT:  .file
40
41; CHECK:      .csect .data[RW]
42; CHECK-NEXT: .globl  ivar
43; CHECK-NEXT: .align  2
44; CHECK-NEXT: ivar:
45; CHECK-NEXT: .long   35
46
47; CHECK:      .globl  llvar
48; CHECK-NEXT: .align  3
49; CHECK-NEXT: llvar:
50; CHECK-NEXT: .llong  36
51
52; CHECK:      .globl  svar
53; CHECK-NEXT: .align  1
54; CHECK-NEXT: svar:
55; CHECK-NEXT: .short  37
56
57; CHECK:      .globl  fvar
58; CHECK-NEXT: .align  2
59; CHECK-NEXT: fvar:
60; CHECK-NEXT: .long   1145569280
61
62; CHECK:      .globl  dvar
63; CHECK-NEXT: .align  3
64; CHECK-NEXT: dvar:
65; CHECK-NEXT: .llong  4651127699538968576
66
67; CHECK:      .globl  over_aligned
68; CHECK-NEXT: .align  5
69; CHECK-NEXT: over_aligned:
70; CHECK-NEXT: .llong  4651127699538968576
71
72; CHECK:      .globl  chrarray
73; CHECK-NEXT: chrarray:
74; CHECK-NEXT: .byte   97
75; CHECK-NEXT: .byte   98
76; CHECK-NEXT: .byte   99
77; CHECK-NEXT: .byte   100
78
79; CHECK:      .globl  dblarr
80; CHECK-NEXT: .align  3
81; CHECK-NEXT: dblarr:
82; CHECK-NEXT: .llong  4607182418800017408
83; CHECK-NEXT: .llong  4611686018427387904
84; CHECK-NEXT: .llong  4613937818241073152
85; CHECK-NEXT: .llong  4616189618054758400
86
87; CHECK-NEXT: .comm   a[RW],4,2
88; CHECK-NEXT: .comm   b[RW],8,3
89; CHECK-NEXT: .comm   c[RW],2,1
90; CHECK-NEXT: .comm   d[RW],8,3
91; CHECK-NEXT: .comm   f[RW],4,2
92; CHECK-NEXT: .comm   over_aligned_comm[RW],8,5
93; CHECK-NEXT: .comm   array[RW],33,0
94
95; OBJ:      File: {{.*}}aix-xcoff-data.ll.tmp.o
96; OBJ-NEXT: Format: aixcoff-rs6000
97; OBJ-NEXT: Arch: powerpc
98; OBJ-NEXT: AddressSize: 32bit
99; OBJ-NEXT: FileHeader {
100; OBJ-NEXT:   Magic: 0x1DF
101; OBJ-NEXT:   NumberOfSections: 3
102; OBJ-NEXT:   TimeStamp:
103; OBJ-NEXT:   SymbolTableOffset: 0xDC
104; OBJ-NEXT:   SymbolTableEntries: 34
105; OBJ-NEXT:   OptionalHeaderSize: 0x0
106; OBJ-NEXT:   Flags: 0x0
107; OBJ-NEXT: }
108
109; OBJ:      Sections [
110; OBJ:        Section {
111; OBJ-NEXT:     Index: 1
112; OBJ-NEXT:     Name: .text
113; OBJ-NEXT:     PhysicalAddress: 0x0
114; OBJ-NEXT:     VirtualAddress: 0x0
115; OBJ-NEXT:     Size: 0x0
116; OBJ-NEXT:     RawDataOffset: 0x8C
117; OBJ-NEXT:     RelocationPointer: 0x0
118; OBJ-NEXT:     LineNumberPointer: 0x0
119; OBJ-NEXT:     NumberOfRelocations: 0
120; OBJ-NEXT:     NumberOfLineNumbers: 0
121; OBJ-NEXT:     Type: STYP_TEXT (0x20)
122; OBJ-NEXT:   }
123
124; OBJ:        Section {
125; OBJ-NEXT:     Index: 2
126; OBJ-NEXT:     Name: .data
127; OBJ-NEXT:     PhysicalAddress: 0x0
128; OBJ-NEXT:     VirtualAddress: 0x0
129; OBJ-NEXT:     Size: 0x50
130; OBJ-NEXT:     RawDataOffset: 0x8C
131; OBJ-NEXT:     RelocationPointer: 0x0
132; OBJ-NEXT:     LineNumberPointer: 0x0
133; OBJ-NEXT:     NumberOfRelocations: 0
134; OBJ-NEXT:     NumberOfLineNumbers: 0
135; OBJ-NEXT:     Type: STYP_DATA (0x40)
136; OBJ-NEXT:   }
137
138; OBJ:        Section {
139; OBJ-NEXT:     Index: 3
140; OBJ-NEXT:     Name: .bss
141; OBJ-NEXT:     PhysicalAddress: 0x50
142; OBJ-NEXT:     VirtualAddress: 0x50
143; OBJ-NEXT:     Size: 0x5C
144; OBJ-NEXT:     RawDataOffset: 0x0
145; OBJ-NEXT:     RelocationPointer: 0x0
146; OBJ-NEXT:     LineNumberPointer: 0x0
147; OBJ-NEXT:     NumberOfRelocations: 0
148; OBJ-NEXT:     NumberOfLineNumbers: 0
149; OBJ-NEXT:     Type: STYP_BSS (0x80)
150; OBJ-NEXT:   }
151; OBJ:      ]
152
153; SYMS:      File: {{.*}}aix-xcoff-data.ll.tmp.o
154; SYMS-NEXT: Format: aixcoff-rs6000
155; SYMS-NEXT: Arch: powerpc
156; SYMS-NEXT: AddressSize: 32bit
157; SYMS:      Symbols [
158; SYMS:        Symbol {
159; SYMS-NEXT:     Index: [[#INDX:]]
160; SYMS-NEXT:     Name: .text
161; SYMS-NEXT:     Value (RelocatableAddress): 0x0
162; SYMS-NEXT:     Section: .text
163; SYMS-NEXT:     Type: 0x0
164; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
165; SYMS-NEXT:     NumberOfAuxEntries: 1
166; SYMS-NEXT:     CSECT Auxiliary Entry {
167; SYMS-NEXT:       Index: [[#INDX+1]]
168; SYMS-NEXT:       SectionLen: 0
169; SYMS-NEXT:       ParameterHashIndex: 0x0
170; SYMS-NEXT:       TypeChkSectNum: 0x0
171; SYMS-NEXT:       SymbolAlignmentLog2: 0
172; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
173; SYMS-NEXT:       StorageMappingClass: XMC_PR (0x0)
174; SYMS-NEXT:       StabInfoIndex: 0x0
175; SYMS-NEXT:       StabSectNum: 0x0
176; SYMS-NEXT:     }
177; SYMS-NEXT:   }
178
179; SYMS:        Symbol {
180; SYMS-NEXT:     Index: [[#INDX+2]]
181; SYMS-NEXT:     Name: .data
182; SYMS-NEXT:     Value (RelocatableAddress): 0x0
183; SYMS-NEXT:     Section: .data
184; SYMS-NEXT:     Type: 0x0
185; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
186; SYMS-NEXT:     NumberOfAuxEntries: 1
187; SYMS-NEXT:     CSECT Auxiliary Entry {
188; SYMS-NEXT:       Index: [[#INDX+3]]
189; SYMS-NEXT:       SectionLen: 80
190; SYMS-NEXT:       ParameterHashIndex: 0x0
191; SYMS-NEXT:       TypeChkSectNum: 0x0
192; SYMS-NEXT:       SymbolAlignmentLog2: 5
193; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
194; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
195; SYMS-NEXT:       StabInfoIndex: 0x0
196; SYMS-NEXT:       StabSectNum: 0x0
197; SYMS-NEXT:     }
198; SYMS-NEXT:   }
199
200; SYMS:        Symbol {
201; SYMS-NEXT:     Index: [[#INDX+4]]
202; SYMS-NEXT:     Name: ivar
203; SYMS-NEXT:     Value (RelocatableAddress): 0x0
204; SYMS-NEXT:     Section: .data
205; SYMS-NEXT:     Type: 0x0
206; SYMS-NEXT:     StorageClass: C_EXT (0x2)
207; SYMS-NEXT:     NumberOfAuxEntries: 1
208; SYMS-NEXT:     CSECT Auxiliary Entry {
209; SYMS-NEXT:       Index: [[#INDX+5]]
210; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
211; SYMS-NEXT:       ParameterHashIndex: 0x0
212; SYMS-NEXT:       TypeChkSectNum: 0x0
213; SYMS-NEXT:       SymbolAlignmentLog2: 0
214; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
215; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
216; SYMS-NEXT:       StabInfoIndex: 0x0
217; SYMS-NEXT:       StabSectNum: 0x0
218; SYMS-NEXT:     }
219; SYMS-NEXT:   }
220
221; SYMS:        Symbol {
222; SYMS-NEXT:     Index: [[#INDX+6]]
223; SYMS-NEXT:     Name: llvar
224; SYMS-NEXT:     Value (RelocatableAddress): 0x8
225; SYMS-NEXT:     Section: .data
226; SYMS-NEXT:     Type: 0x0
227; SYMS-NEXT:     StorageClass: C_EXT (0x2)
228; SYMS-NEXT:     NumberOfAuxEntries: 1
229; SYMS-NEXT:     CSECT Auxiliary Entry {
230; SYMS-NEXT:       Index: [[#INDX+7]]
231; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
232; SYMS-NEXT:       ParameterHashIndex: 0x0
233; SYMS-NEXT:       TypeChkSectNum: 0x0
234; SYMS-NEXT:       SymbolAlignmentLog2: 0
235; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
236; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
237; SYMS-NEXT:       StabInfoIndex: 0x0
238; SYMS-NEXT:       StabSectNum: 0x0
239; SYMS-NEXT:     }
240; SYMS-NEXT:   }
241
242; SYMS:        Symbol {
243; SYMS-NEXT:     Index: [[#INDX+8]]
244; SYMS-NEXT:     Name: svar
245; SYMS-NEXT:     Value (RelocatableAddress): 0x10
246; SYMS-NEXT:     Section: .data
247; SYMS-NEXT:     Type: 0x0
248; SYMS-NEXT:     StorageClass: C_EXT (0x2)
249; SYMS-NEXT:     NumberOfAuxEntries: 1
250; SYMS-NEXT:     CSECT Auxiliary Entry {
251; SYMS-NEXT:       Index: [[#INDX+9]]
252; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
253; SYMS-NEXT:       ParameterHashIndex: 0x0
254; SYMS-NEXT:       TypeChkSectNum: 0x0
255; SYMS-NEXT:       SymbolAlignmentLog2: 0
256; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
257; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
258; SYMS-NEXT:       StabInfoIndex: 0x0
259; SYMS-NEXT:       StabSectNum: 0x0
260; SYMS-NEXT:     }
261; SYMS-NEXT:   }
262
263; SYMS:        Symbol {
264; SYMS-NEXT:     Index: [[#INDX+10]]
265; SYMS-NEXT:     Name: fvar
266; SYMS-NEXT:     Value (RelocatableAddress): 0x14
267; SYMS-NEXT:     Section: .data
268; SYMS-NEXT:     Type: 0x0
269; SYMS-NEXT:     StorageClass: C_EXT (0x2)
270; SYMS-NEXT:     NumberOfAuxEntries: 1
271; SYMS-NEXT:     CSECT Auxiliary Entry {
272; SYMS-NEXT:       Index: [[#INDX+11]]
273; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
274; SYMS-NEXT:       ParameterHashIndex: 0x0
275; SYMS-NEXT:       TypeChkSectNum: 0x0
276; SYMS-NEXT:       SymbolAlignmentLog2: 0
277; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
278; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
279; SYMS-NEXT:       StabInfoIndex: 0x0
280; SYMS-NEXT:       StabSectNum: 0x0
281; SYMS-NEXT:     }
282; SYMS-NEXT:   }
283
284; SYMS:        Symbol {
285; SYMS-NEXT:     Index: [[#INDX+12]]
286; SYMS-NEXT:     Name: dvar
287; SYMS-NEXT:     Value (RelocatableAddress): 0x18
288; SYMS-NEXT:     Section: .data
289; SYMS-NEXT:     Type: 0x0
290; SYMS-NEXT:     StorageClass: C_EXT (0x2)
291; SYMS-NEXT:     NumberOfAuxEntries: 1
292; SYMS-NEXT:     CSECT Auxiliary Entry {
293; SYMS-NEXT:       Index: [[#INDX+13]]
294; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
295; SYMS-NEXT:       ParameterHashIndex: 0x0
296; SYMS-NEXT:       TypeChkSectNum: 0x0
297; SYMS-NEXT:       SymbolAlignmentLog2: 0
298; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
299; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
300; SYMS-NEXT:       StabInfoIndex: 0x0
301; SYMS-NEXT:       StabSectNum: 0x0
302; SYMS-NEXT:     }
303; SYMS-NEXT:   }
304
305; SYMS:        Symbol {
306; SYMS-NEXT:     Index: [[#INDX+14]]
307; SYMS-NEXT:     Name: over_aligned
308; SYMS-NEXT:     Value (RelocatableAddress): 0x20
309; SYMS-NEXT:     Section: .data
310; SYMS-NEXT:     Type: 0x0
311; SYMS-NEXT:     StorageClass: C_EXT (0x2)
312; SYMS-NEXT:     NumberOfAuxEntries: 1
313; SYMS-NEXT:     CSECT Auxiliary Entry {
314; SYMS-NEXT:       Index: [[#INDX+15]]
315; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
316; SYMS-NEXT:       ParameterHashIndex: 0x0
317; SYMS-NEXT:       TypeChkSectNum: 0x0
318; SYMS-NEXT:       SymbolAlignmentLog2: 0
319; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
320; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
321; SYMS-NEXT:       StabInfoIndex: 0x0
322; SYMS-NEXT:       StabSectNum: 0x0
323; SYMS-NEXT:     }
324; SYMS-NEXT:   }
325
326; SYMS:        Symbol {
327; SYMS-NEXT:     Index: [[#INDX+16]]
328; SYMS-NEXT:     Name: chrarray
329; SYMS-NEXT:     Value (RelocatableAddress): 0x28
330; SYMS-NEXT:     Section: .data
331; SYMS-NEXT:     Type: 0x0
332; SYMS-NEXT:     StorageClass: C_EXT (0x2)
333; SYMS-NEXT:     NumberOfAuxEntries: 1
334; SYMS-NEXT:     CSECT Auxiliary Entry {
335; SYMS-NEXT:       Index: [[#INDX+17]]
336; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
337; SYMS-NEXT:       ParameterHashIndex: 0x0
338; SYMS-NEXT:       TypeChkSectNum: 0x0
339; SYMS-NEXT:       SymbolAlignmentLog2: 0
340; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
341; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
342; SYMS-NEXT:       StabInfoIndex: 0x0
343; SYMS-NEXT:       StabSectNum: 0x0
344; SYMS-NEXT:     }
345; SYMS-NEXT:   }
346
347; SYMS:        Symbol {
348; SYMS-NEXT:     Index: [[#INDX+18]]
349; SYMS-NEXT:     Name: dblarr
350; SYMS-NEXT:     Value (RelocatableAddress): 0x30
351; SYMS-NEXT:     Section: .data
352; SYMS-NEXT:     Type: 0x0
353; SYMS-NEXT:     StorageClass: C_EXT (0x2)
354; SYMS-NEXT:     NumberOfAuxEntries: 1
355; SYMS-NEXT:     CSECT Auxiliary Entry {
356; SYMS-NEXT:       Index: [[#INDX+19]]
357; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
358; SYMS-NEXT:       ParameterHashIndex: 0x0
359; SYMS-NEXT:       TypeChkSectNum: 0x0
360; SYMS-NEXT:       SymbolAlignmentLog2: 0
361; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
362; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
363; SYMS-NEXT:       StabInfoIndex: 0x0
364; SYMS-NEXT:       StabSectNum: 0x0
365; SYMS-NEXT:     }
366; SYMS-NEXT:   }
367
368; SYMS:        Symbol {
369; SYMS-NEXT:     Index: [[#INDX+20]]
370; SYMS-NEXT:     Name: a
371; SYMS-NEXT:     Value (RelocatableAddress): 0x50
372; SYMS-NEXT:     Section: .bss
373; SYMS-NEXT:     Type: 0x0
374; SYMS-NEXT:     StorageClass: C_EXT (0x2)
375; SYMS-NEXT:     NumberOfAuxEntries: 1
376; SYMS-NEXT:     CSECT Auxiliary Entry {
377; SYMS-NEXT:       Index: [[#INDX+21]]
378; SYMS-NEXT:       SectionLen: 4
379; SYMS-NEXT:       ParameterHashIndex: 0x0
380; SYMS-NEXT:       TypeChkSectNum: 0x0
381; SYMS-NEXT:       SymbolAlignmentLog2: 2
382; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
383; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
384; SYMS-NEXT:       StabInfoIndex: 0x0
385; SYMS-NEXT:       StabSectNum: 0x0
386; SYMS-NEXT:     }
387; SYMS-NEXT:   }
388
389; SYMS:        Symbol {
390; SYMS-NEXT:     Index: [[#INDX+22]]
391; SYMS-NEXT:     Name: b
392; SYMS-NEXT:     Value (RelocatableAddress): 0x58
393; SYMS-NEXT:     Section: .bss
394; SYMS-NEXT:     Type: 0x0
395; SYMS-NEXT:     StorageClass: C_EXT (0x2)
396; SYMS-NEXT:     NumberOfAuxEntries: 1
397; SYMS-NEXT:     CSECT Auxiliary Entry {
398; SYMS-NEXT:       Index: [[#INDX+23]]
399; SYMS-NEXT:       SectionLen: 8
400; SYMS-NEXT:       ParameterHashIndex: 0x0
401; SYMS-NEXT:       TypeChkSectNum: 0x0
402; SYMS-NEXT:       SymbolAlignmentLog2: 3
403; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
404; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
405; SYMS-NEXT:       StabInfoIndex: 0x0
406; SYMS-NEXT:       StabSectNum: 0x0
407; SYMS-NEXT:     }
408; SYMS-NEXT:   }
409
410; SYMS:        Symbol {
411; SYMS-NEXT:     Index: [[#INDX+24]]
412; SYMS-NEXT:     Name: c
413; SYMS-NEXT:     Value (RelocatableAddress): 0x60
414; SYMS-NEXT:     Section: .bss
415; SYMS-NEXT:     Type: 0x0
416; SYMS-NEXT:     StorageClass: C_EXT (0x2)
417; SYMS-NEXT:     NumberOfAuxEntries: 1
418; SYMS-NEXT:     CSECT Auxiliary Entry {
419; SYMS-NEXT:       Index: [[#INDX+25]]
420; SYMS-NEXT:       SectionLen: 2
421; SYMS-NEXT:       ParameterHashIndex: 0x0
422; SYMS-NEXT:       TypeChkSectNum: 0x0
423; SYMS-NEXT:       SymbolAlignmentLog2: 1
424; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
425; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
426; SYMS-NEXT:       StabInfoIndex: 0x0
427; SYMS-NEXT:       StabSectNum: 0x0
428; SYMS-NEXT:     }
429; SYMS-NEXT:   }
430
431; SYMS:        Symbol {
432; SYMS-NEXT:     Index: [[#INDX+26]]
433; SYMS-NEXT:     Name: d
434; SYMS-NEXT:     Value (RelocatableAddress): 0x68
435; SYMS-NEXT:     Section: .bss
436; SYMS-NEXT:     Type: 0x0
437; SYMS-NEXT:     StorageClass: C_EXT (0x2)
438; SYMS-NEXT:     NumberOfAuxEntries: 1
439; SYMS-NEXT:     CSECT Auxiliary Entry {
440; SYMS-NEXT:       Index: [[#INDX+27]]
441; SYMS-NEXT:       SectionLen: 8
442; SYMS-NEXT:       ParameterHashIndex: 0x0
443; SYMS-NEXT:       TypeChkSectNum: 0x0
444; SYMS-NEXT:       SymbolAlignmentLog2: 3
445; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
446; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
447; SYMS-NEXT:       StabInfoIndex: 0x0
448; SYMS-NEXT:       StabSectNum: 0x0
449; SYMS-NEXT:     }
450; SYMS-NEXT:   }
451
452; SYMS:        Symbol {
453; SYMS-NEXT:     Index: [[#INDX+28]]
454; SYMS-NEXT:     Name: f
455; SYMS-NEXT:     Value (RelocatableAddress): 0x70
456; SYMS-NEXT:     Section: .bss
457; SYMS-NEXT:     Type: 0x0
458; SYMS-NEXT:     StorageClass: C_EXT (0x2)
459; SYMS-NEXT:     NumberOfAuxEntries: 1
460; SYMS-NEXT:     CSECT Auxiliary Entry {
461; SYMS-NEXT:       Index: [[#INDX+29]]
462; SYMS-NEXT:       SectionLen: 4
463; SYMS-NEXT:       ParameterHashIndex: 0x0
464; SYMS-NEXT:       TypeChkSectNum: 0x0
465; SYMS-NEXT:       SymbolAlignmentLog2: 2
466; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
467; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
468; SYMS-NEXT:       StabInfoIndex: 0x0
469; SYMS-NEXT:       StabSectNum: 0x0
470; SYMS-NEXT:     }
471; SYMS-NEXT:   }
472
473; SYMS:        Symbol {
474; SYMS-NEXT:     Index: [[#INDX+30]]
475; SYMS-NEXT:     Name: over_aligned_comm
476; SYMS-NEXT:     Value (RelocatableAddress): 0x80
477; SYMS-NEXT:     Section: .bss
478; SYMS-NEXT:     Type: 0x0
479; SYMS-NEXT:     StorageClass: C_EXT (0x2)
480; SYMS-NEXT:     NumberOfAuxEntries: 1
481; SYMS-NEXT:     CSECT Auxiliary Entry {
482; SYMS-NEXT:       Index: [[#INDX+31]]
483; SYMS-NEXT:       SectionLen: 8
484; SYMS-NEXT:       ParameterHashIndex: 0x0
485; SYMS-NEXT:       TypeChkSectNum: 0x0
486; SYMS-NEXT:       SymbolAlignmentLog2: 5
487; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
488; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
489; SYMS-NEXT:       StabInfoIndex: 0x0
490; SYMS-NEXT:       StabSectNum: 0x0
491; SYMS-NEXT:     }
492; SYMS-NEXT:   }
493
494; SYMS:        Symbol {
495; SYMS-NEXT:     Index: [[#INDX+32]]
496; SYMS-NEXT:     Name: array
497; SYMS-NEXT:     Value (RelocatableAddress): 0x88
498; SYMS-NEXT:     Section: .bss
499; SYMS-NEXT:     Type: 0x0
500; SYMS-NEXT:     StorageClass: C_EXT (0x2)
501; SYMS-NEXT:     NumberOfAuxEntries: 1
502; SYMS-NEXT:     CSECT Auxiliary Entry {
503; SYMS-NEXT:       Index: [[#INDX+33]]
504; SYMS-NEXT:       SectionLen: 33
505; SYMS-NEXT:       ParameterHashIndex: 0x0
506; SYMS-NEXT:       TypeChkSectNum: 0x0
507; SYMS-NEXT:       SymbolAlignmentLog2: 0
508; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
509; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
510; SYMS-NEXT:       StabInfoIndex: 0x0
511; SYMS-NEXT:       StabSectNum: 0x0
512; SYMS-NEXT:     }
513; SYMS-NEXT:   }
514; SYMS:      ]
515