xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/formclass3.s (revision 14f6cfcf3cab34ec26474dc464a6a35589f582f7)
1*14f6cfcfSEsme-Yi# Source:
2*14f6cfcfSEsme-Yi#   unsigned char arr[0x100000];
3*14f6cfcfSEsme-Yi# Compile with:
4*14f6cfcfSEsme-Yi#   clang -O2 -gdwarf-3 -S 1.cpp -o 1.s --target=x86_64-pc-linux-gnu
5*14f6cfcfSEsme-Yi
6*14f6cfcfSEsme-Yi# RUN: llvm-mc -triple x86_64-pc-linux-gnu -o - -filetype obj < %s | \
7*14f6cfcfSEsme-Yi# RUN:   llvm-dwarfdump -debug-info - | FileCheck %s
8*14f6cfcfSEsme-Yi
9*14f6cfcfSEsme-Yi# CHECK: DW_AT_count (0x00100000)
10*14f6cfcfSEsme-Yi
11*14f6cfcfSEsme-Yi	.text
12*14f6cfcfSEsme-Yi	.file	"1.cpp"
13*14f6cfcfSEsme-Yi	.file	1 "/llvm-project" "1.cpp"
14*14f6cfcfSEsme-Yi	.type	arr,@object                     # @arr
15*14f6cfcfSEsme-Yi	.bss
16*14f6cfcfSEsme-Yi	.globl	arr
17*14f6cfcfSEsme-Yi	.p2align	4
18*14f6cfcfSEsme-Yiarr:
19*14f6cfcfSEsme-Yi	.zero	1048576
20*14f6cfcfSEsme-Yi	.size	arr, 1048576
21*14f6cfcfSEsme-Yi
22*14f6cfcfSEsme-Yi	.section	.debug_abbrev,"",@progbits
23*14f6cfcfSEsme-Yi	.byte	1                               # Abbreviation Code
24*14f6cfcfSEsme-Yi	.byte	17                              # DW_TAG_compile_unit
25*14f6cfcfSEsme-Yi	.byte	1                               # DW_CHILDREN_yes
26*14f6cfcfSEsme-Yi	.byte	37                              # DW_AT_producer
27*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
28*14f6cfcfSEsme-Yi	.byte	19                              # DW_AT_language
29*14f6cfcfSEsme-Yi	.byte	5                               # DW_FORM_data2
30*14f6cfcfSEsme-Yi	.byte	3                               # DW_AT_name
31*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
32*14f6cfcfSEsme-Yi	.byte	16                              # DW_AT_stmt_list
33*14f6cfcfSEsme-Yi	.byte	6                               # DW_FORM_data4
34*14f6cfcfSEsme-Yi	.byte	27                              # DW_AT_comp_dir
35*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
36*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
37*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
38*14f6cfcfSEsme-Yi	.byte	2                               # Abbreviation Code
39*14f6cfcfSEsme-Yi	.byte	52                              # DW_TAG_variable
40*14f6cfcfSEsme-Yi	.byte	0                               # DW_CHILDREN_no
41*14f6cfcfSEsme-Yi	.byte	3                               # DW_AT_name
42*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
43*14f6cfcfSEsme-Yi	.byte	73                              # DW_AT_type
44*14f6cfcfSEsme-Yi	.byte	19                              # DW_FORM_ref4
45*14f6cfcfSEsme-Yi	.byte	63                              # DW_AT_external
46*14f6cfcfSEsme-Yi	.byte	12                              # DW_FORM_flag
47*14f6cfcfSEsme-Yi	.byte	58                              # DW_AT_decl_file
48*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
49*14f6cfcfSEsme-Yi	.byte	59                              # DW_AT_decl_line
50*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
51*14f6cfcfSEsme-Yi	.byte	2                               # DW_AT_location
52*14f6cfcfSEsme-Yi	.byte	10                              # DW_FORM_block1
53*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
54*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
55*14f6cfcfSEsme-Yi	.byte	3                               # Abbreviation Code
56*14f6cfcfSEsme-Yi	.byte	1                               # DW_TAG_array_type
57*14f6cfcfSEsme-Yi	.byte	1                               # DW_CHILDREN_yes
58*14f6cfcfSEsme-Yi	.byte	73                              # DW_AT_type
59*14f6cfcfSEsme-Yi	.byte	19                              # DW_FORM_ref4
60*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
61*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
62*14f6cfcfSEsme-Yi	.byte	4                               # Abbreviation Code
63*14f6cfcfSEsme-Yi	.byte	33                              # DW_TAG_subrange_type
64*14f6cfcfSEsme-Yi	.byte	0                               # DW_CHILDREN_no
65*14f6cfcfSEsme-Yi	.byte	73                              # DW_AT_type
66*14f6cfcfSEsme-Yi	.byte	19                              # DW_FORM_ref4
67*14f6cfcfSEsme-Yi	.byte	55                              # DW_AT_count
68*14f6cfcfSEsme-Yi	.byte	6                               # DW_FORM_data4
69*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
70*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
71*14f6cfcfSEsme-Yi	.byte	5                               # Abbreviation Code
72*14f6cfcfSEsme-Yi	.byte	36                              # DW_TAG_base_type
73*14f6cfcfSEsme-Yi	.byte	0                               # DW_CHILDREN_no
74*14f6cfcfSEsme-Yi	.byte	3                               # DW_AT_name
75*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
76*14f6cfcfSEsme-Yi	.byte	62                              # DW_AT_encoding
77*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
78*14f6cfcfSEsme-Yi	.byte	11                              # DW_AT_byte_size
79*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
80*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
81*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
82*14f6cfcfSEsme-Yi	.byte	6                               # Abbreviation Code
83*14f6cfcfSEsme-Yi	.byte	36                              # DW_TAG_base_type
84*14f6cfcfSEsme-Yi	.byte	0                               # DW_CHILDREN_no
85*14f6cfcfSEsme-Yi	.byte	3                               # DW_AT_name
86*14f6cfcfSEsme-Yi	.byte	14                              # DW_FORM_strp
87*14f6cfcfSEsme-Yi	.byte	11                              # DW_AT_byte_size
88*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
89*14f6cfcfSEsme-Yi	.byte	62                              # DW_AT_encoding
90*14f6cfcfSEsme-Yi	.byte	11                              # DW_FORM_data1
91*14f6cfcfSEsme-Yi	.byte	0                               # EOM(1)
92*14f6cfcfSEsme-Yi	.byte	0                               # EOM(2)
93*14f6cfcfSEsme-Yi	.byte	0                               # EOM(3)
94*14f6cfcfSEsme-Yi	.section	.debug_info,"",@progbits
95*14f6cfcfSEsme-Yi.Lcu_begin0:
96*14f6cfcfSEsme-Yi	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
97*14f6cfcfSEsme-Yi.Ldebug_info_start0:
98*14f6cfcfSEsme-Yi	.short	3                               # DWARF version number
99*14f6cfcfSEsme-Yi	.long	.debug_abbrev                   # Offset Into Abbrev. Section
100*14f6cfcfSEsme-Yi	.byte	8                               # Address Size (in bytes)
101*14f6cfcfSEsme-Yi	.byte	1                               # Abbrev [1] 0xb:0x47 DW_TAG_compile_unit
102*14f6cfcfSEsme-Yi	.long	.Linfo_string0                  # DW_AT_producer
103*14f6cfcfSEsme-Yi	.short	33                              # DW_AT_language
104*14f6cfcfSEsme-Yi	.long	.Linfo_string1                  # DW_AT_name
105*14f6cfcfSEsme-Yi	.long	.Lline_table_start0             # DW_AT_stmt_list
106*14f6cfcfSEsme-Yi	.long	.Linfo_string2                  # DW_AT_comp_dir
107*14f6cfcfSEsme-Yi	.byte	2                               # Abbrev [2] 0x1e:0x16 DW_TAG_variable
108*14f6cfcfSEsme-Yi	.long	.Linfo_string3                  # DW_AT_name
109*14f6cfcfSEsme-Yi	.long	52                              # DW_AT_type
110*14f6cfcfSEsme-Yi	.byte	1                               # DW_AT_external
111*14f6cfcfSEsme-Yi	.byte	1                               # DW_AT_decl_file
112*14f6cfcfSEsme-Yi	.byte	1                               # DW_AT_decl_line
113*14f6cfcfSEsme-Yi	.byte	9                               # DW_AT_location
114*14f6cfcfSEsme-Yi	.byte	3
115*14f6cfcfSEsme-Yi	.quad	arr
116*14f6cfcfSEsme-Yi	.byte	3                               # Abbrev [3] 0x34:0xf DW_TAG_array_type
117*14f6cfcfSEsme-Yi	.long	67                              # DW_AT_type
118*14f6cfcfSEsme-Yi	.byte	4                               # Abbrev [4] 0x39:0x9 DW_TAG_subrange_type
119*14f6cfcfSEsme-Yi	.long	74                              # DW_AT_type
120*14f6cfcfSEsme-Yi	.long	1048576                         # DW_AT_count
121*14f6cfcfSEsme-Yi	.byte	0                               # End Of Children Mark
122*14f6cfcfSEsme-Yi	.byte	5                               # Abbrev [5] 0x43:0x7 DW_TAG_base_type
123*14f6cfcfSEsme-Yi	.long	.Linfo_string4                  # DW_AT_name
124*14f6cfcfSEsme-Yi	.byte	8                               # DW_AT_encoding
125*14f6cfcfSEsme-Yi	.byte	1                               # DW_AT_byte_size
126*14f6cfcfSEsme-Yi	.byte	6                               # Abbrev [6] 0x4a:0x7 DW_TAG_base_type
127*14f6cfcfSEsme-Yi	.long	.Linfo_string5                  # DW_AT_name
128*14f6cfcfSEsme-Yi	.byte	8                               # DW_AT_byte_size
129*14f6cfcfSEsme-Yi	.byte	7                               # DW_AT_encoding
130*14f6cfcfSEsme-Yi	.byte	0                               # End Of Children Mark
131*14f6cfcfSEsme-Yi.Ldebug_info_end0:
132*14f6cfcfSEsme-Yi	.section	.debug_str,"MS",@progbits,1
133*14f6cfcfSEsme-Yi.Linfo_string0:
134*14f6cfcfSEsme-Yi	.asciz	"clang version 13.0.0"          # string offset=0
135*14f6cfcfSEsme-Yi.Linfo_string1:
136*14f6cfcfSEsme-Yi	.asciz	"1.cpp"                         # string offset=21
137*14f6cfcfSEsme-Yi.Linfo_string2:
138*14f6cfcfSEsme-Yi	.asciz	"/llvm-project" # string offset=27
139*14f6cfcfSEsme-Yi.Linfo_string3:
140*14f6cfcfSEsme-Yi	.asciz	"arr"                           # string offset=61
141*14f6cfcfSEsme-Yi.Linfo_string4:
142*14f6cfcfSEsme-Yi	.asciz	"unsigned char"                 # string offset=65
143*14f6cfcfSEsme-Yi.Linfo_string5:
144*14f6cfcfSEsme-Yi	.asciz	"__ARRAY_SIZE_TYPE__"           # string offset=79
145*14f6cfcfSEsme-Yi	.ident	"clang version 13.0.0"
146*14f6cfcfSEsme-Yi	.section	".note.GNU-stack","",@progbits
147*14f6cfcfSEsme-Yi	.addrsig
148*14f6cfcfSEsme-Yi	.section	.debug_line,"",@progbits
149*14f6cfcfSEsme-Yi.Lline_table_start0:
150