Commit | Line | Data |
---|---|---|
a05a36a5 DE |
1 | /* This testcase is part of GDB, the GNU debugger. |
2 | ||
b811d2c2 | 3 | Copyright 2014-2020 Free Software Foundation, Inc. |
a05a36a5 DE |
4 | |
5 | This program is free software; you can redistribute it and/or modify | |
6 | it under the terms of the GNU General Public License as published by | |
7 | the Free Software Foundation; either version 3 of the License, or | |
8 | (at your option) any later version. | |
9 | ||
10 | This program is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | GNU General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License | |
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
17 | ||
18 | /* This was made from dw2-single-line-discriminators.c using | |
19 | clang -dA -S -g | |
20 | and then hand-editing the assembly a bit (simplify paths, | |
21 | tweak so gas accepts it). */ | |
22 | ||
23 | .text | |
24 | .file "dw2-single-line-discriminators.c" | |
25 | .section .debug_info,"",@progbits | |
26 | .Lsection_info: | |
27 | .section .debug_abbrev,"",@progbits | |
28 | .Lsection_abbrev: | |
29 | .section .debug_line,"",@progbits | |
30 | .Lsection_line: | |
31 | .section .debug_pubnames,"",@progbits | |
32 | .section .debug_pubtypes,"",@progbits | |
33 | .section .debug_str,"MS",@progbits,1 | |
34 | .Linfo_string: | |
35 | .section .debug_loc,"",@progbits | |
36 | .Lsection_debug_loc: | |
37 | .section .debug_ranges,"",@progbits | |
38 | .Ldebug_range: | |
39 | .file 1 "gdb.dwarf2/dw2-single-line-discriminators.c" | |
40 | .text | |
41 | .globl main | |
42 | .align 16, 0x90 | |
43 | .type main,@function | |
44 | main: # @main | |
45 | .Lfunc_begin0: | |
46 | .loc 1 22 0 # dw2-single-line-discriminators.c:22:0 | |
47 | .cfi_startproc | |
48 | # BB#0: | |
49 | pushq %rbp | |
50 | .Ltmp0: | |
51 | .cfi_def_cfa_offset 16 | |
52 | .Ltmp1: | |
53 | .cfi_offset %rbp, -16 | |
54 | movq %rsp, %rbp | |
55 | .Ltmp2: | |
56 | .cfi_def_cfa_register %rbp | |
57 | movl $0, -4(%rbp) | |
58 | .loc 1 26 3 prologue_end # dw2-single-line-discriminators.c:26:3 | |
59 | .Ltmp3: | |
60 | movl $0, x | |
61 | .loc 1 28 8 # dw2-single-line-discriminators.c:28:8 | |
62 | .Ltmp4: | |
63 | movl $0, -8(%rbp) | |
64 | .LBB0_1: # =>This Inner Loop Header: Depth=1 | |
65 | .loc 1 28 8 discriminator 4 # dw2-single-line-discriminators.c:28:8 | |
66 | .Ltmp5: | |
67 | cmpl $10, -8(%rbp) | |
68 | jge .LBB0_4 | |
69 | .Ltmp6: | |
70 | # BB#2: # in Loop: Header=BB0_1 Depth=1 | |
71 | .loc 1 28 28 discriminator 2 # dw2-single-line-discriminators.c:28:28 | |
72 | jmp .LBB0_3 | |
73 | .Ltmp7: | |
74 | .LBB0_3: # in Loop: Header=BB0_1 Depth=1 | |
75 | .loc 1 28 23 discriminator 3 # dw2-single-line-discriminators.c:28:23 | |
76 | movl -8(%rbp), %eax | |
77 | addl $1, %eax | |
78 | movl %eax, -8(%rbp) | |
79 | jmp .LBB0_1 | |
80 | .Ltmp8: | |
81 | .LBB0_4: | |
82 | movl $0, %eax | |
83 | .loc 1 30 3 # dw2-single-line-discriminators.c:30:3 | |
84 | popq %rbp | |
85 | retq | |
86 | .Ltmp9: | |
87 | .Ltmp10: | |
88 | .size main, .Ltmp10-main | |
89 | .Lfunc_end0: | |
90 | .cfi_endproc | |
91 | ||
92 | .type x,@object # @x | |
93 | .comm x,4,4 | |
94 | .Ldebug_end1: | |
95 | .section .debug_str,"MS",@progbits,1 | |
96 | .Linfo_string0: | |
97 | .asciz "clang version (trunk r215195)" | |
98 | .Linfo_string1: | |
99 | .asciz "dw2-single-line-discriminators.c" | |
100 | .Linfo_string2: | |
101 | .asciz "/tmp/obj/gdb/testsuite" | |
102 | .Linfo_string3: | |
103 | .asciz "x" | |
104 | .Linfo_string4: | |
105 | .asciz "int" | |
106 | .Linfo_string5: | |
107 | .asciz "main" | |
108 | .Linfo_string6: | |
109 | .asciz "i" | |
110 | .section .debug_info,"",@progbits | |
111 | .L.debug_info_begin0: | |
112 | .long 108 # Length of Unit | |
113 | .short 4 # DWARF version number | |
114 | .long .Lsection_abbrev # Offset Into Abbrev. Section | |
115 | .byte 8 # Address Size (in bytes) | |
116 | .byte 1 # Abbrev [1] 0xb:0x65 DW_TAG_compile_unit | |
117 | .long .Linfo_string0 # DW_AT_producer | |
118 | .short 12 # DW_AT_language | |
119 | .long .Linfo_string1 # DW_AT_name | |
120 | .long .Lline_table_start0 # DW_AT_stmt_list | |
121 | .long .Linfo_string2 # DW_AT_comp_dir | |
122 | .quad .Lfunc_begin0 # DW_AT_low_pc | |
123 | .Lset0 = .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
124 | .long .Lset0 | |
125 | .byte 2 # Abbrev [2] 0x2a:0x15 DW_TAG_variable | |
126 | .long .Linfo_string3 # DW_AT_name | |
127 | .long 63 # DW_AT_type | |
128 | # DW_AT_external | |
129 | .byte 1 # DW_AT_decl_file | |
130 | .byte 18 # DW_AT_decl_line | |
131 | .byte 9 # DW_AT_location | |
132 | .byte 3 | |
133 | .quad x | |
134 | .byte 3 # Abbrev [3] 0x3f:0x7 DW_TAG_base_type | |
135 | .long .Linfo_string4 # DW_AT_name | |
136 | .byte 5 # DW_AT_encoding | |
137 | .byte 4 # DW_AT_byte_size | |
138 | .byte 4 # Abbrev [4] 0x46:0x29 DW_TAG_subprogram | |
139 | .quad .Lfunc_begin0 # DW_AT_low_pc | |
140 | .Lset1 = .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc | |
141 | .long .Lset1 | |
142 | .byte 1 # DW_AT_frame_base | |
143 | .byte 86 | |
144 | .long .Linfo_string5 # DW_AT_name | |
145 | .byte 1 # DW_AT_decl_file | |
146 | .byte 21 # DW_AT_decl_line | |
147 | .long 63 # DW_AT_type | |
148 | # DW_AT_external | |
149 | .byte 1 # DW_AT_accessibility | |
150 | # DW_ACCESS_public | |
151 | .byte 5 # Abbrev [5] 0x60:0xe DW_TAG_variable | |
152 | .byte 2 # DW_AT_location | |
153 | .byte 145 | |
154 | .byte 120 | |
155 | .long .Linfo_string6 # DW_AT_name | |
156 | .byte 1 # DW_AT_decl_file | |
157 | .byte 23 # DW_AT_decl_line | |
158 | .long 63 # DW_AT_type | |
159 | .byte 0 # End Of Children Mark | |
160 | .byte 0 # End Of Children Mark | |
161 | .L.debug_info_end0: | |
162 | .section .debug_abbrev,"",@progbits | |
163 | .byte 1 # Abbreviation Code | |
164 | .byte 17 # DW_TAG_compile_unit | |
165 | .byte 1 # DW_CHILDREN_yes | |
166 | .byte 37 # DW_AT_producer | |
167 | .byte 14 # DW_FORM_strp | |
168 | .byte 19 # DW_AT_language | |
169 | .byte 5 # DW_FORM_data2 | |
170 | .byte 3 # DW_AT_name | |
171 | .byte 14 # DW_FORM_strp | |
172 | .byte 16 # DW_AT_stmt_list | |
173 | .byte 23 # DW_FORM_sec_offset | |
174 | .byte 27 # DW_AT_comp_dir | |
175 | .byte 14 # DW_FORM_strp | |
176 | .byte 17 # DW_AT_low_pc | |
177 | .byte 1 # DW_FORM_addr | |
178 | .byte 18 # DW_AT_high_pc | |
179 | .byte 6 # DW_FORM_data4 | |
180 | .byte 0 # EOM(1) | |
181 | .byte 0 # EOM(2) | |
182 | .byte 2 # Abbreviation Code | |
183 | .byte 52 # DW_TAG_variable | |
184 | .byte 0 # DW_CHILDREN_no | |
185 | .byte 3 # DW_AT_name | |
186 | .byte 14 # DW_FORM_strp | |
187 | .byte 73 # DW_AT_type | |
188 | .byte 19 # DW_FORM_ref4 | |
189 | .byte 63 # DW_AT_external | |
190 | .byte 25 # DW_FORM_flag_present | |
191 | .byte 58 # DW_AT_decl_file | |
192 | .byte 11 # DW_FORM_data1 | |
193 | .byte 59 # DW_AT_decl_line | |
194 | .byte 11 # DW_FORM_data1 | |
195 | .byte 2 # DW_AT_location | |
196 | .byte 24 # DW_FORM_exprloc | |
197 | .byte 0 # EOM(1) | |
198 | .byte 0 # EOM(2) | |
199 | .byte 3 # Abbreviation Code | |
200 | .byte 36 # DW_TAG_base_type | |
201 | .byte 0 # DW_CHILDREN_no | |
202 | .byte 3 # DW_AT_name | |
203 | .byte 14 # DW_FORM_strp | |
204 | .byte 62 # DW_AT_encoding | |
205 | .byte 11 # DW_FORM_data1 | |
206 | .byte 11 # DW_AT_byte_size | |
207 | .byte 11 # DW_FORM_data1 | |
208 | .byte 0 # EOM(1) | |
209 | .byte 0 # EOM(2) | |
210 | .byte 4 # Abbreviation Code | |
211 | .byte 46 # DW_TAG_subprogram | |
212 | .byte 1 # DW_CHILDREN_yes | |
213 | .byte 17 # DW_AT_low_pc | |
214 | .byte 1 # DW_FORM_addr | |
215 | .byte 18 # DW_AT_high_pc | |
216 | .byte 6 # DW_FORM_data4 | |
217 | .byte 64 # DW_AT_frame_base | |
218 | .byte 24 # DW_FORM_exprloc | |
219 | .byte 3 # DW_AT_name | |
220 | .byte 14 # DW_FORM_strp | |
221 | .byte 58 # DW_AT_decl_file | |
222 | .byte 11 # DW_FORM_data1 | |
223 | .byte 59 # DW_AT_decl_line | |
224 | .byte 11 # DW_FORM_data1 | |
225 | .byte 73 # DW_AT_type | |
226 | .byte 19 # DW_FORM_ref4 | |
227 | .byte 63 # DW_AT_external | |
228 | .byte 25 # DW_FORM_flag_present | |
229 | .byte 50 # DW_AT_accessibility | |
230 | .byte 11 # DW_FORM_data1 | |
231 | .byte 0 # EOM(1) | |
232 | .byte 0 # EOM(2) | |
233 | .byte 5 # Abbreviation Code | |
234 | .byte 52 # DW_TAG_variable | |
235 | .byte 0 # DW_CHILDREN_no | |
236 | .byte 2 # DW_AT_location | |
237 | .byte 24 # DW_FORM_exprloc | |
238 | .byte 3 # DW_AT_name | |
239 | .byte 14 # DW_FORM_strp | |
240 | .byte 58 # DW_AT_decl_file | |
241 | .byte 11 # DW_FORM_data1 | |
242 | .byte 59 # DW_AT_decl_line | |
243 | .byte 11 # DW_FORM_data1 | |
244 | .byte 73 # DW_AT_type | |
245 | .byte 19 # DW_FORM_ref4 | |
246 | .byte 0 # EOM(1) | |
247 | .byte 0 # EOM(2) | |
248 | .byte 0 # EOM(3) | |
249 | .section .debug_ranges,"",@progbits | |
250 | .section .debug_loc,"",@progbits | |
251 | .section .debug_pubnames,"",@progbits | |
252 | .Lset2 = .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info | |
253 | .long .Lset2 | |
254 | .LpubNames_begin0: | |
255 | .short 2 # DWARF Version | |
256 | .long .L.debug_info_begin0 # Offset of Compilation Unit Info | |
257 | .Lset3 = .L.debug_info_end0-.L.debug_info_begin0 # Compilation Unit Length | |
258 | .long .Lset3 | |
259 | .long 70 # DIE offset | |
260 | .asciz "main" # External Name | |
261 | .long 42 # DIE offset | |
262 | .asciz "x" # External Name | |
263 | .long 0 # End Mark | |
264 | .LpubNames_end0: | |
265 | .section .debug_pubtypes,"",@progbits | |
266 | .Lset4 = .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info | |
267 | .long .Lset4 | |
268 | .LpubTypes_begin0: | |
269 | .short 2 # DWARF Version | |
270 | .long .L.debug_info_begin0 # Offset of Compilation Unit Info | |
271 | .Lset5 = .L.debug_info_end0-.L.debug_info_begin0 # Compilation Unit Length | |
272 | .long .Lset5 | |
273 | .long 63 # DIE offset | |
274 | .asciz "int" # External Name | |
275 | .long 0 # End Mark | |
276 | .LpubTypes_end0: | |
277 | ||
278 | .ident "clang version (trunk r215195)" | |
279 | .section ".note.GNU-stack","",@progbits | |
280 | .section .debug_line,"",@progbits | |
281 | .Lline_table_start0: |