• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
5; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
6
7; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -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 --crash llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false -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@d_0 = global double 0.000000e+00, align 8
25@s_0 = global i16 0, align 2
26@f_0 = global float 0.000000e+00, align 4
27
28%struct.anon = type <{ i32, double }>
29@astruct = global [1 x %struct.anon] [%struct.anon <{ i32 1, double 7.000000e+00 }>], align 1
30
31%struct.anon2 = type { double, i32 }
32@bstruct = global [1 x %struct.anon2] [%struct.anon2 { double 7.000000e+00 , i32 1}], align 8
33
34@a = common global i32 0, align 4
35@b = common global i64 0, align 8
36@c = common global i16 0, align 2
37
38@d = common local_unnamed_addr global double 0.000000e+00, align 8
39@f = common local_unnamed_addr global float 0.000000e+00, align 4
40
41@over_aligned_comm = common local_unnamed_addr global double 0.000000e+00, align 32
42
43@array = common local_unnamed_addr global [33 x i8] zeroinitializer, align 1
44
45; CHECK-NOT: .toc
46
47; CHECK:      .csect .text[PR],2
48; CHECK-NEXT:  .file
49
50; CHECK:      .csect .data[RW],5
51; CHECK-NEXT: .globl  ivar
52; CHECK-NEXT: .align  2
53; CHECK-NEXT: ivar:
54; CHECK-NEXT: .vbyte	4, 35
55
56; CHECK:      .globl  llvar
57; CHECK-NEXT: .align  3
58; CHECK-NEXT: llvar:
59; CHECK32-NEXT: .vbyte	4, 0
60; CHECK32-NEXT: .vbyte	4, 36
61; CHECK64-NEXT: .vbyte	8, 36
62
63; CHECK:      .globl  svar
64; CHECK-NEXT: .align  1
65; CHECK-NEXT: svar:
66; CHECK-NEXT: .vbyte	2, 37
67
68; CHECK:      .globl  fvar
69; CHECK-NEXT: .align  2
70; CHECK-NEXT: fvar:
71; CHECK-NEXT: .vbyte	4, 0x44480000
72
73; CHECK:      .globl  dvar
74; CHECK-NEXT: .align  3
75; CHECK-NEXT: dvar:
76; CHECK32-NEXT: .vbyte	4, 1082925056
77; CHECK32-NEXT: .vbyte	4, 0
78; CHECK64-NEXT: .vbyte	8, 0x408c200000000000
79
80; CHECK:      .globl  over_aligned
81; CHECK-NEXT: .align  5
82; CHECK-NEXT: over_aligned:
83; CHECK32-NEXT: .vbyte	4, 1082925056
84; CHECK32-NEXT: .vbyte	4, 0
85; CHECK64-NEXT: .vbyte	8, 0x408c200000000000
86
87; CHECK:      .globl  chrarray
88; CHECK-NEXT: chrarray:
89; CHECK-NEXT: .byte   'a,'b,'c,'d
90
91; CHECK:      .globl  dblarr
92; CHECK-NEXT: .align  3
93; CHECK-NEXT: dblarr:
94; CHECK32-NEXT: .vbyte	4, 1072693248
95; CHECK32-NEXT: .vbyte	4, 0
96; CHECK64-NEXT: .vbyte	8, 0x3ff0000000000000
97; CHECK32-NEXT: .vbyte	4, 1073741824
98; CHECK32-NEXT: .vbyte	4, 0
99; CHECK64-NEXT: .vbyte	8, 0x4000000000000000
100; CHECK32-NEXT: .vbyte	4, 1074266112
101; CHECK32-NEXT: .vbyte	4, 0
102; CHECK64-NEXT: .vbyte	8, 0x4008000000000000
103; CHECK32-NEXT: .vbyte	4, 1074790400
104; CHECK32-NEXT: .vbyte	4, 0
105; CHECK64-NEXT: .vbyte	8, 0x4010000000000000
106
107; CHECK:      .globl  d_0
108; CHECK-NEXT: .align 3
109; CHECK-NEXT: d_0:
110; CHECK32-NEXT: .vbyte	4, 0
111; CHECK32-NEXT: .vbyte	4, 0
112; CHECK64-NEXT: .vbyte	8, 0
113
114; CHECK:      .globl  s_0
115; CHECK-NEXT: .align  1
116; CHECK-NEXT: s_0:
117; CHECK-NEXT: .vbyte	2, 0
118
119; CHECK:      .globl f_0
120; CHECK-NEXT: .align 2
121; CHECK-NEXT: f_0:
122; CHECK-NEXT: .vbyte	4, 0
123
124; CHECK:            .globl astruct
125; CHECK-NEXT:   astruct:
126; CHECK-NEXT:       .vbyte	4, 1
127; CHECK32-NEXT:     .vbyte	4, 1075576832
128; CHECK32-NEXT:     .vbyte	4, 0
129; CHECK64-NEXT:     .vbyte	8, 0x401c000000000000
130
131; CHECK:            .globl bstruct
132; CHECK-NEXT:       .align 3
133; CHECK-NEXT:   bstruct:
134; CHECK32-NEXT:     .vbyte	4, 1075576832
135; CHECK32-NEXT:     .vbyte	4, 0
136; CHECK64-NEXT:     .vbyte	8, 0x401c000000000000
137; CHECK-NEXT:       .vbyte	4, 1
138; CHECK-NEXT:       .space	4
139
140
141; CHECK-NEXT: .comm   a[RW],4,2
142; CHECK-NEXT: .comm   b[RW],8,3
143; CHECK-NEXT: .comm   c[RW],2,1
144; CHECK-NEXT: .comm   d[RW],8,3
145; CHECK-NEXT: .comm   f[RW],4,2
146; CHECK-NEXT: .comm   over_aligned_comm[RW],8,5
147; CHECK-NEXT: .comm   array[RW],33,0
148
149; OBJ:      File: {{.*}}aix-xcoff-data.ll.tmp.o
150; OBJ-NEXT: Format: aixcoff-rs6000
151; OBJ-NEXT: Arch: powerpc
152; OBJ-NEXT: AddressSize: 32bit
153; OBJ-NEXT: FileHeader {
154; OBJ-NEXT:   Magic: 0x1DF
155; OBJ-NEXT:   NumberOfSections: 3
156; OBJ-NEXT:   TimeStamp:
157; OBJ-NEXT:   SymbolTableOffset: 0x10C
158; OBJ-NEXT:   SymbolTableEntries: 44
159; OBJ-NEXT:   OptionalHeaderSize: 0x0
160; OBJ-NEXT:   Flags: 0x0
161; OBJ-NEXT: }
162
163; OBJ:      Sections [
164; OBJ:        Section {
165; OBJ-NEXT:     Index: 1
166; OBJ-NEXT:     Name: .text
167; OBJ-NEXT:     PhysicalAddress: 0x0
168; OBJ-NEXT:     VirtualAddress: 0x0
169; OBJ-NEXT:     Size: 0x0
170; OBJ-NEXT:     RawDataOffset: 0x8C
171; OBJ-NEXT:     RelocationPointer: 0x0
172; OBJ-NEXT:     LineNumberPointer: 0x0
173; OBJ-NEXT:     NumberOfRelocations: 0
174; OBJ-NEXT:     NumberOfLineNumbers: 0
175; OBJ-NEXT:     Type: STYP_TEXT (0x20)
176; OBJ-NEXT:   }
177
178; OBJ:        Section {
179; OBJ-NEXT:     Index: 2
180; OBJ-NEXT:     Name: .data
181; OBJ-NEXT:     PhysicalAddress: 0x0
182; OBJ-NEXT:     VirtualAddress: 0x0
183; OBJ-NEXT:     Size: 0x80
184; OBJ-NEXT:     RawDataOffset: 0x8C
185; OBJ-NEXT:     RelocationPointer: 0x0
186; OBJ-NEXT:     LineNumberPointer: 0x0
187; OBJ-NEXT:     NumberOfRelocations: 0
188; OBJ-NEXT:     NumberOfLineNumbers: 0
189; OBJ-NEXT:     Type: STYP_DATA (0x40)
190; OBJ-NEXT:   }
191
192; OBJ:        Section {
193; OBJ-NEXT:     Index: 3
194; OBJ-NEXT:     Name: .bss
195; OBJ-NEXT:     PhysicalAddress: 0x80
196; OBJ-NEXT:     VirtualAddress: 0x80
197; OBJ-NEXT:     Size: 0x6C
198; OBJ-NEXT:     RawDataOffset: 0x0
199; OBJ-NEXT:     RelocationPointer: 0x0
200; OBJ-NEXT:     LineNumberPointer: 0x0
201; OBJ-NEXT:     NumberOfRelocations: 0
202; OBJ-NEXT:     NumberOfLineNumbers: 0
203; OBJ-NEXT:     Type: STYP_BSS (0x80)
204; OBJ-NEXT:   }
205; OBJ:      ]
206
207; SYMS:      File: {{.*}}aix-xcoff-data.ll.tmp.o
208; SYMS-NEXT: Format: aixcoff-rs6000
209; SYMS-NEXT: Arch: powerpc
210; SYMS-NEXT: AddressSize: 32bit
211; SYMS:      Symbols [
212; SYMS:        Symbol {
213; SYMS-NEXT:     Index: [[#INDX:]]
214; SYMS-NEXT:     Name: .text
215; SYMS-NEXT:     Value (RelocatableAddress): 0x0
216; SYMS-NEXT:     Section: .text
217; SYMS-NEXT:     Type: 0x0
218; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
219; SYMS-NEXT:     NumberOfAuxEntries: 1
220; SYMS-NEXT:     CSECT Auxiliary Entry {
221; SYMS-NEXT:       Index: [[#INDX+1]]
222; SYMS-NEXT:       SectionLen: 0
223; SYMS-NEXT:       ParameterHashIndex: 0x0
224; SYMS-NEXT:       TypeChkSectNum: 0x0
225; SYMS-NEXT:       SymbolAlignmentLog2: 2
226; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
227; SYMS-NEXT:       StorageMappingClass: XMC_PR (0x0)
228; SYMS-NEXT:       StabInfoIndex: 0x0
229; SYMS-NEXT:       StabSectNum: 0x0
230; SYMS-NEXT:     }
231; SYMS-NEXT:   }
232
233; SYMS:        Symbol {
234; SYMS-NEXT:     Index: [[#INDX+2]]
235; SYMS-NEXT:     Name: .data
236; SYMS-NEXT:     Value (RelocatableAddress): 0x0
237; SYMS-NEXT:     Section: .data
238; SYMS-NEXT:     Type: 0x0
239; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
240; SYMS-NEXT:     NumberOfAuxEntries: 1
241; SYMS-NEXT:     CSECT Auxiliary Entry {
242; SYMS-NEXT:       Index: [[#INDX+3]]
243; SYMS-NEXT:       SectionLen: 128
244; SYMS-NEXT:       ParameterHashIndex: 0x0
245; SYMS-NEXT:       TypeChkSectNum: 0x0
246; SYMS-NEXT:       SymbolAlignmentLog2: 5
247; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
248; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
249; SYMS-NEXT:       StabInfoIndex: 0x0
250; SYMS-NEXT:       StabSectNum: 0x0
251; SYMS-NEXT:     }
252; SYMS-NEXT:   }
253
254; SYMS:        Symbol {
255; SYMS-NEXT:     Index: [[#INDX+4]]
256; SYMS-NEXT:     Name: ivar
257; SYMS-NEXT:     Value (RelocatableAddress): 0x0
258; SYMS-NEXT:     Section: .data
259; SYMS-NEXT:     Type: 0x0
260; SYMS-NEXT:     StorageClass: C_EXT (0x2)
261; SYMS-NEXT:     NumberOfAuxEntries: 1
262; SYMS-NEXT:     CSECT Auxiliary Entry {
263; SYMS-NEXT:       Index: [[#INDX+5]]
264; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
265; SYMS-NEXT:       ParameterHashIndex: 0x0
266; SYMS-NEXT:       TypeChkSectNum: 0x0
267; SYMS-NEXT:       SymbolAlignmentLog2: 0
268; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
269; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
270; SYMS-NEXT:       StabInfoIndex: 0x0
271; SYMS-NEXT:       StabSectNum: 0x0
272; SYMS-NEXT:     }
273; SYMS-NEXT:   }
274
275; SYMS:        Symbol {
276; SYMS-NEXT:     Index: [[#INDX+6]]
277; SYMS-NEXT:     Name: llvar
278; SYMS-NEXT:     Value (RelocatableAddress): 0x8
279; SYMS-NEXT:     Section: .data
280; SYMS-NEXT:     Type: 0x0
281; SYMS-NEXT:     StorageClass: C_EXT (0x2)
282; SYMS-NEXT:     NumberOfAuxEntries: 1
283; SYMS-NEXT:     CSECT Auxiliary Entry {
284; SYMS-NEXT:       Index: [[#INDX+7]]
285; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
286; SYMS-NEXT:       ParameterHashIndex: 0x0
287; SYMS-NEXT:       TypeChkSectNum: 0x0
288; SYMS-NEXT:       SymbolAlignmentLog2: 0
289; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
290; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
291; SYMS-NEXT:       StabInfoIndex: 0x0
292; SYMS-NEXT:       StabSectNum: 0x0
293; SYMS-NEXT:     }
294; SYMS-NEXT:   }
295
296; SYMS:        Symbol {
297; SYMS-NEXT:     Index: [[#INDX+8]]
298; SYMS-NEXT:     Name: svar
299; SYMS-NEXT:     Value (RelocatableAddress): 0x10
300; SYMS-NEXT:     Section: .data
301; SYMS-NEXT:     Type: 0x0
302; SYMS-NEXT:     StorageClass: C_EXT (0x2)
303; SYMS-NEXT:     NumberOfAuxEntries: 1
304; SYMS-NEXT:     CSECT Auxiliary Entry {
305; SYMS-NEXT:       Index: [[#INDX+9]]
306; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
307; SYMS-NEXT:       ParameterHashIndex: 0x0
308; SYMS-NEXT:       TypeChkSectNum: 0x0
309; SYMS-NEXT:       SymbolAlignmentLog2: 0
310; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
311; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
312; SYMS-NEXT:       StabInfoIndex: 0x0
313; SYMS-NEXT:       StabSectNum: 0x0
314; SYMS-NEXT:     }
315; SYMS-NEXT:   }
316
317; SYMS:        Symbol {
318; SYMS-NEXT:     Index: [[#INDX+10]]
319; SYMS-NEXT:     Name: fvar
320; SYMS-NEXT:     Value (RelocatableAddress): 0x14
321; SYMS-NEXT:     Section: .data
322; SYMS-NEXT:     Type: 0x0
323; SYMS-NEXT:     StorageClass: C_EXT (0x2)
324; SYMS-NEXT:     NumberOfAuxEntries: 1
325; SYMS-NEXT:     CSECT Auxiliary Entry {
326; SYMS-NEXT:       Index: [[#INDX+11]]
327; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
328; SYMS-NEXT:       ParameterHashIndex: 0x0
329; SYMS-NEXT:       TypeChkSectNum: 0x0
330; SYMS-NEXT:       SymbolAlignmentLog2: 0
331; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
332; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
333; SYMS-NEXT:       StabInfoIndex: 0x0
334; SYMS-NEXT:       StabSectNum: 0x0
335; SYMS-NEXT:     }
336; SYMS-NEXT:   }
337
338; SYMS:        Symbol {
339; SYMS-NEXT:     Index: [[#INDX+12]]
340; SYMS-NEXT:     Name: dvar
341; SYMS-NEXT:     Value (RelocatableAddress): 0x18
342; SYMS-NEXT:     Section: .data
343; SYMS-NEXT:     Type: 0x0
344; SYMS-NEXT:     StorageClass: C_EXT (0x2)
345; SYMS-NEXT:     NumberOfAuxEntries: 1
346; SYMS-NEXT:     CSECT Auxiliary Entry {
347; SYMS-NEXT:       Index: [[#INDX+13]]
348; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
349; SYMS-NEXT:       ParameterHashIndex: 0x0
350; SYMS-NEXT:       TypeChkSectNum: 0x0
351; SYMS-NEXT:       SymbolAlignmentLog2: 0
352; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
353; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
354; SYMS-NEXT:       StabInfoIndex: 0x0
355; SYMS-NEXT:       StabSectNum: 0x0
356; SYMS-NEXT:     }
357; SYMS-NEXT:   }
358
359; SYMS:        Symbol {
360; SYMS-NEXT:     Index: [[#INDX+14]]
361; SYMS-NEXT:     Name: over_aligned
362; SYMS-NEXT:     Value (RelocatableAddress): 0x20
363; SYMS-NEXT:     Section: .data
364; SYMS-NEXT:     Type: 0x0
365; SYMS-NEXT:     StorageClass: C_EXT (0x2)
366; SYMS-NEXT:     NumberOfAuxEntries: 1
367; SYMS-NEXT:     CSECT Auxiliary Entry {
368; SYMS-NEXT:       Index: [[#INDX+15]]
369; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
370; SYMS-NEXT:       ParameterHashIndex: 0x0
371; SYMS-NEXT:       TypeChkSectNum: 0x0
372; SYMS-NEXT:       SymbolAlignmentLog2: 0
373; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
374; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
375; SYMS-NEXT:       StabInfoIndex: 0x0
376; SYMS-NEXT:       StabSectNum: 0x0
377; SYMS-NEXT:     }
378; SYMS-NEXT:   }
379
380; SYMS:        Symbol {
381; SYMS-NEXT:     Index: [[#INDX+16]]
382; SYMS-NEXT:     Name: chrarray
383; SYMS-NEXT:     Value (RelocatableAddress): 0x28
384; SYMS-NEXT:     Section: .data
385; SYMS-NEXT:     Type: 0x0
386; SYMS-NEXT:     StorageClass: C_EXT (0x2)
387; SYMS-NEXT:     NumberOfAuxEntries: 1
388; SYMS-NEXT:     CSECT Auxiliary Entry {
389; SYMS-NEXT:       Index: [[#INDX+17]]
390; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
391; SYMS-NEXT:       ParameterHashIndex: 0x0
392; SYMS-NEXT:       TypeChkSectNum: 0x0
393; SYMS-NEXT:       SymbolAlignmentLog2: 0
394; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
395; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
396; SYMS-NEXT:       StabInfoIndex: 0x0
397; SYMS-NEXT:       StabSectNum: 0x0
398; SYMS-NEXT:     }
399; SYMS-NEXT:   }
400
401; SYMS:        Symbol {
402; SYMS-NEXT:     Index: [[#INDX+18]]
403; SYMS-NEXT:     Name: dblarr
404; SYMS-NEXT:     Value (RelocatableAddress): 0x30
405; SYMS-NEXT:     Section: .data
406; SYMS-NEXT:     Type: 0x0
407; SYMS-NEXT:     StorageClass: C_EXT (0x2)
408; SYMS-NEXT:     NumberOfAuxEntries: 1
409; SYMS-NEXT:     CSECT Auxiliary Entry {
410; SYMS-NEXT:       Index: [[#INDX+19]]
411; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
412; SYMS-NEXT:       ParameterHashIndex: 0x0
413; SYMS-NEXT:       TypeChkSectNum: 0x0
414; SYMS-NEXT:       SymbolAlignmentLog2: 0
415; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
416; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
417; SYMS-NEXT:       StabInfoIndex: 0x0
418; SYMS-NEXT:       StabSectNum: 0x0
419; SYMS-NEXT:     }
420; SYMS-NEXT:   }
421
422; SYMS:        Symbol {
423; SYMS-NEXT:     Index: [[#INDX+20]]
424; SYMS-NEXT:     Name: d_0
425; SYMS-NEXT:     Value (RelocatableAddress): 0x50
426; SYMS-NEXT:     Section: .data
427; SYMS-NEXT:     Type: 0x0
428; SYMS-NEXT:     StorageClass: C_EXT (0x2)
429; SYMS-NEXT:     NumberOfAuxEntries: 1
430; SYMS-NEXT:     CSECT Auxiliary Entry {
431; SYMS-NEXT:       Index: [[#INDX+21]]
432; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
433; SYMS-NEXT:       ParameterHashIndex: 0x0
434; SYMS-NEXT:       TypeChkSectNum: 0x0
435; SYMS-NEXT:       SymbolAlignmentLog2: 0
436; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
437; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
438; SYMS-NEXT:       StabInfoIndex: 0x0
439; SYMS-NEXT:       StabSectNum: 0x0
440; SYMS-NEXT:     }
441; SYMS-NEXT:   }
442
443; SYMS:        Symbol {
444; SYMS-NEXT:     Index: [[#INDX+22]]
445; SYMS-NEXT:     Name: s_0
446; SYMS-NEXT:     Value (RelocatableAddress): 0x58
447; SYMS-NEXT:     Section: .data
448; SYMS-NEXT:     Type: 0x0
449; SYMS-NEXT:     StorageClass: C_EXT (0x2)
450; SYMS-NEXT:     NumberOfAuxEntries: 1
451; SYMS-NEXT:     CSECT Auxiliary Entry {
452; SYMS-NEXT:       Index: [[#INDX+23]]
453; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
454; SYMS-NEXT:       ParameterHashIndex: 0x0
455; SYMS-NEXT:       TypeChkSectNum: 0x0
456; SYMS-NEXT:       SymbolAlignmentLog2: 0
457; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
458; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
459; SYMS-NEXT:       StabInfoIndex: 0x0
460; SYMS-NEXT:       StabSectNum: 0x0
461; SYMS-NEXT:     }
462; SYMS-NEXT:   }
463
464; SYMS:        Symbol {
465; SYMS-NEXT:     Index: [[#INDX+24]]
466; SYMS-NEXT:     Name: f_0
467; SYMS-NEXT:     Value (RelocatableAddress): 0x5C
468; SYMS-NEXT:     Section: .data
469; SYMS-NEXT:     Type: 0x0
470; SYMS-NEXT:     StorageClass: C_EXT (0x2)
471; SYMS-NEXT:     NumberOfAuxEntries: 1
472; SYMS-NEXT:     CSECT Auxiliary Entry {
473; SYMS-NEXT:       Index: [[#INDX+25]]
474; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
475; SYMS-NEXT:       ParameterHashIndex: 0x0
476; SYMS-NEXT:       TypeChkSectNum: 0x0
477; SYMS-NEXT:       SymbolAlignmentLog2: 0
478; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
479; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
480; SYMS-NEXT:       StabInfoIndex: 0x0
481; SYMS-NEXT:       StabSectNum: 0x0
482; SYMS-NEXT:     }
483; SYMS-NEXT:   }
484
485; SYMS:        Symbol {
486; SYMS-NEXT:     Index: [[#INDX+26]]
487; SYMS-NEXT:     Name: astruct
488; SYMS-NEXT:     Value (RelocatableAddress): 0x60
489; SYMS-NEXT:     Section: .data
490; SYMS-NEXT:     Type: 0x0
491; SYMS-NEXT:     StorageClass: C_EXT (0x2)
492; SYMS-NEXT:     NumberOfAuxEntries: 1
493; SYMS-NEXT:     CSECT Auxiliary Entry {
494; SYMS-NEXT:       Index: [[#INDX+27]]
495; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
496; SYMS-NEXT:       ParameterHashIndex: 0x0
497; SYMS-NEXT:       TypeChkSectNum: 0x0
498; SYMS-NEXT:       SymbolAlignmentLog2: 0
499; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
500; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
501; SYMS-NEXT:       StabInfoIndex: 0x0
502; SYMS-NEXT:       StabSectNum: 0x0
503; SYMS-NEXT:     }
504; SYMS-NEXT:   }
505
506; SYMS:        Symbol {
507; SYMS-NEXT:     Index: [[#INDX+28]]
508; SYMS-NEXT:     Name: bstruct
509; SYMS-NEXT:     Value (RelocatableAddress): 0x70
510; SYMS-NEXT:     Section: .data
511; SYMS-NEXT:     Type: 0x0
512; SYMS-NEXT:     StorageClass: C_EXT (0x2)
513; SYMS-NEXT:     NumberOfAuxEntries: 1
514; SYMS-NEXT:     CSECT Auxiliary Entry {
515; SYMS-NEXT:       Index: [[#INDX+29]]
516; SYMS-NEXT:       ContainingCsectSymbolIndex: [[#INDX+2]]
517; SYMS-NEXT:       ParameterHashIndex: 0x0
518; SYMS-NEXT:       TypeChkSectNum: 0x0
519; SYMS-NEXT:       SymbolAlignmentLog2: 0
520; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
521; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
522; SYMS-NEXT:       StabInfoIndex: 0x0
523; SYMS-NEXT:       StabSectNum: 0x0
524; SYMS-NEXT:     }
525; SYMS-NEXT:   }
526
527; SYMS:        Symbol {
528; SYMS-NEXT:     Index: [[#INDX+30]]
529; SYMS-NEXT:     Name: a
530; SYMS-NEXT:     Value (RelocatableAddress): 0x80
531; SYMS-NEXT:     Section: .bss
532; SYMS-NEXT:     Type: 0x0
533; SYMS-NEXT:     StorageClass: C_EXT (0x2)
534; SYMS-NEXT:     NumberOfAuxEntries: 1
535; SYMS-NEXT:     CSECT Auxiliary Entry {
536; SYMS-NEXT:       Index: [[#INDX+31]]
537; SYMS-NEXT:       SectionLen: 4
538; SYMS-NEXT:       ParameterHashIndex: 0x0
539; SYMS-NEXT:       TypeChkSectNum: 0x0
540; SYMS-NEXT:       SymbolAlignmentLog2: 2
541; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
542; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
543; SYMS-NEXT:       StabInfoIndex: 0x0
544; SYMS-NEXT:       StabSectNum: 0x0
545; SYMS-NEXT:     }
546; SYMS-NEXT:   }
547
548; SYMS:        Symbol {
549; SYMS-NEXT:     Index: [[#INDX+32]]
550; SYMS-NEXT:     Name: b
551; SYMS-NEXT:     Value (RelocatableAddress): 0x88
552; SYMS-NEXT:     Section: .bss
553; SYMS-NEXT:     Type: 0x0
554; SYMS-NEXT:     StorageClass: C_EXT (0x2)
555; SYMS-NEXT:     NumberOfAuxEntries: 1
556; SYMS-NEXT:     CSECT Auxiliary Entry {
557; SYMS-NEXT:       Index: [[#INDX+33]]
558; SYMS-NEXT:       SectionLen: 8
559; SYMS-NEXT:       ParameterHashIndex: 0x0
560; SYMS-NEXT:       TypeChkSectNum: 0x0
561; SYMS-NEXT:       SymbolAlignmentLog2: 3
562; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
563; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
564; SYMS-NEXT:       StabInfoIndex: 0x0
565; SYMS-NEXT:       StabSectNum: 0x0
566; SYMS-NEXT:     }
567; SYMS-NEXT:   }
568
569; SYMS:        Symbol {
570; SYMS-NEXT:     Index: [[#INDX+34]]
571; SYMS-NEXT:     Name: c
572; SYMS-NEXT:     Value (RelocatableAddress): 0x90
573; SYMS-NEXT:     Section: .bss
574; SYMS-NEXT:     Type: 0x0
575; SYMS-NEXT:     StorageClass: C_EXT (0x2)
576; SYMS-NEXT:     NumberOfAuxEntries: 1
577; SYMS-NEXT:     CSECT Auxiliary Entry {
578; SYMS-NEXT:       Index: [[#INDX+35]]
579; SYMS-NEXT:       SectionLen: 2
580; SYMS-NEXT:       ParameterHashIndex: 0x0
581; SYMS-NEXT:       TypeChkSectNum: 0x0
582; SYMS-NEXT:       SymbolAlignmentLog2: 1
583; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
584; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
585; SYMS-NEXT:       StabInfoIndex: 0x0
586; SYMS-NEXT:       StabSectNum: 0x0
587; SYMS-NEXT:     }
588; SYMS-NEXT:   }
589
590; SYMS:        Symbol {
591; SYMS-NEXT:     Index: [[#INDX+36]]
592; SYMS-NEXT:     Name: d
593; SYMS-NEXT:     Value (RelocatableAddress): 0x98
594; SYMS-NEXT:     Section: .bss
595; SYMS-NEXT:     Type: 0x0
596; SYMS-NEXT:     StorageClass: C_EXT (0x2)
597; SYMS-NEXT:     NumberOfAuxEntries: 1
598; SYMS-NEXT:     CSECT Auxiliary Entry {
599; SYMS-NEXT:       Index: [[#INDX+37]]
600; SYMS-NEXT:       SectionLen: 8
601; SYMS-NEXT:       ParameterHashIndex: 0x0
602; SYMS-NEXT:       TypeChkSectNum: 0x0
603; SYMS-NEXT:       SymbolAlignmentLog2: 3
604; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
605; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
606; SYMS-NEXT:       StabInfoIndex: 0x0
607; SYMS-NEXT:       StabSectNum: 0x0
608; SYMS-NEXT:     }
609; SYMS-NEXT:   }
610
611; SYMS:        Symbol {
612; SYMS-NEXT:     Index: [[#INDX+38]]
613; SYMS-NEXT:     Name: f
614; SYMS-NEXT:     Value (RelocatableAddress): 0xA0
615; SYMS-NEXT:     Section: .bss
616; SYMS-NEXT:     Type: 0x0
617; SYMS-NEXT:     StorageClass: C_EXT (0x2)
618; SYMS-NEXT:     NumberOfAuxEntries: 1
619; SYMS-NEXT:     CSECT Auxiliary Entry {
620; SYMS-NEXT:       Index: [[#INDX+39]]
621; SYMS-NEXT:       SectionLen: 4
622; SYMS-NEXT:       ParameterHashIndex: 0x0
623; SYMS-NEXT:       TypeChkSectNum: 0x0
624; SYMS-NEXT:       SymbolAlignmentLog2: 2
625; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
626; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
627; SYMS-NEXT:       StabInfoIndex: 0x0
628; SYMS-NEXT:       StabSectNum: 0x0
629; SYMS-NEXT:     }
630; SYMS-NEXT:   }
631
632; SYMS:        Symbol {
633; SYMS-NEXT:     Index: [[#INDX+40]]
634; SYMS-NEXT:     Name: over_aligned_comm
635; SYMS-NEXT:     Value (RelocatableAddress): 0xC0
636; SYMS-NEXT:     Section: .bss
637; SYMS-NEXT:     Type: 0x0
638; SYMS-NEXT:     StorageClass: C_EXT (0x2)
639; SYMS-NEXT:     NumberOfAuxEntries: 1
640; SYMS-NEXT:     CSECT Auxiliary Entry {
641; SYMS-NEXT:       Index: [[#INDX+41]]
642; SYMS-NEXT:       SectionLen: 8
643; SYMS-NEXT:       ParameterHashIndex: 0x0
644; SYMS-NEXT:       TypeChkSectNum: 0x0
645; SYMS-NEXT:       SymbolAlignmentLog2: 5
646; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
647; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
648; SYMS-NEXT:       StabInfoIndex: 0x0
649; SYMS-NEXT:       StabSectNum: 0x0
650; SYMS-NEXT:     }
651; SYMS-NEXT:   }
652
653; SYMS:        Symbol {
654; SYMS-NEXT:     Index: [[#INDX+42]]
655; SYMS-NEXT:     Name: array
656; SYMS-NEXT:     Value (RelocatableAddress): 0xC8
657; SYMS-NEXT:     Section: .bss
658; SYMS-NEXT:     Type: 0x0
659; SYMS-NEXT:     StorageClass: C_EXT (0x2)
660; SYMS-NEXT:     NumberOfAuxEntries: 1
661; SYMS-NEXT:     CSECT Auxiliary Entry {
662; SYMS-NEXT:       Index: [[#INDX+43]]
663; SYMS-NEXT:       SectionLen: 33
664; SYMS-NEXT:       ParameterHashIndex: 0x0
665; SYMS-NEXT:       TypeChkSectNum: 0x0
666; SYMS-NEXT:       SymbolAlignmentLog2: 0
667; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
668; SYMS-NEXT:       StorageMappingClass: XMC_RW (0x5)
669; SYMS-NEXT:       StabInfoIndex: 0x0
670; SYMS-NEXT:       StabSectNum: 0x0
671; SYMS-NEXT:     }
672; SYMS-NEXT:   }
673; SYMS:      ]
674