DWARF-5: testcase
[binutils-gdb.git] / binutils / testsuite / binutils-all / dw5.S
1 /* Copyright (C) 2017 Free Software Foundation, Inc.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
15
16 .file "main.c"
17 .text
18 .Ltext0:
19 .p2align 4,,15
20 .globl func
21 .type func, %function
22 func:
23 .LFB0:
24 /* main.c:5 */
25 .LM1:
26 /* BLOCK 2 freq:10000 seq:0 */
27 /* PRED: ENTRY [100.0%] (FALLTHRU) */
28 /* main.c:5 */
29 .LM2:
30 .dc.b 0
31 /* SUCC: */
32 .dc.b 0
33 .LFE0:
34 .size func, .-func
35 .section .text.startup,"ax",%progbits
36 .p2align 4,,15
37 .globl main
38 .type main, %function
39 main:
40 .LFB1:
41 /* main.c:6 */
42 .LM3:
43 .LVL0:
44 /* BLOCK 2 freq:10000 seq:0 */
45 /* PRED: ENTRY [100.0%] (FALLTHRU) */
46 .dc.b 0
47 /* main.c:6 */
48 .LM4:
49 .dc.b 0
50 .LVL1:
51 .dc.b 0
52 .LVL2:
53 .dc.b 0
54 /* SUCC: EXIT [100.0%] */
55 .dc.b 0
56 .LFE1:
57 .size main, .-main
58 .comm pvar,8,8
59 .comm yvar,4,4
60 .globl xvar
61 .data
62 .align 4
63 .type xvar, %object
64 .size xvar, 4
65 xvar:
66 .4byte 42
67 .text
68 .Letext0:
69 .section .debug_info,"",%progbits
70 .Ldebug_info0:
71 .4byte 0x160 /* Length of Compilation Unit Info */
72 .2byte 0x5 /* DWARF version number */
73 .byte 0x1 /* DW_UT_compile */
74 .byte 0x8 /* Pointer Size (in bytes) */
75 .4byte .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
76 .uleb128 0x6 /* (DIE (0xc) DW_TAG_compile_unit) */
77 .4byte .LASF21 /* DW_AT_producer: "GNU C11 7.0.1 20170218 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -O2" */
78 .byte 0x1d /* DW_AT_language */
79 .4byte .LASF0 /* DW_AT_name: "main.c" */
80 .4byte .LASF1 /* DW_AT_comp_dir: "" */
81 .4byte .LLRL2 /* DW_AT_ranges */
82 .8byte 0 /* DW_AT_low_pc */
83 .4byte .Ldebug_line0 /* DW_AT_stmt_list */
84 .uleb128 0x1 /* (DIE (0x2a) DW_TAG_base_type) */
85 .byte 0x1 /* DW_AT_byte_size */
86 .byte 0x8 /* DW_AT_encoding */
87 .4byte .LASF2 /* DW_AT_name: "unsigned char" */
88 .uleb128 0x1 /* (DIE (0x31) DW_TAG_base_type) */
89 .byte 0x2 /* DW_AT_byte_size */
90 .byte 0x7 /* DW_AT_encoding */
91 .4byte .LASF3 /* DW_AT_name: "short unsigned int" */
92 .uleb128 0x1 /* (DIE (0x38) DW_TAG_base_type) */
93 .byte 0x4 /* DW_AT_byte_size */
94 .byte 0x7 /* DW_AT_encoding */
95 .4byte .LASF4 /* DW_AT_name: "unsigned int" */
96 .uleb128 0x1 /* (DIE (0x3f) DW_TAG_base_type) */
97 .byte 0x8 /* DW_AT_byte_size */
98 .byte 0x7 /* DW_AT_encoding */
99 .4byte .LASF5 /* DW_AT_name: "long unsigned int" */
100 .uleb128 0x1 /* (DIE (0x46) DW_TAG_base_type) */
101 .byte 0x1 /* DW_AT_byte_size */
102 .byte 0x6 /* DW_AT_encoding */
103 .4byte .LASF6 /* DW_AT_name: "signed char" */
104 .uleb128 0x1 /* (DIE (0x4d) DW_TAG_base_type) */
105 .byte 0x2 /* DW_AT_byte_size */
106 .byte 0x5 /* DW_AT_encoding */
107 .4byte .LASF7 /* DW_AT_name: "short int" */
108 .uleb128 0x7 /* (DIE (0x54) DW_TAG_base_type) */
109 .byte 0x4 /* DW_AT_byte_size */
110 .byte 0x5 /* DW_AT_encoding */
111 .ascii "int\0" /* DW_AT_name */
112 .uleb128 0x1 /* (DIE (0x5b) DW_TAG_base_type) */
113 .byte 0x8 /* DW_AT_byte_size */
114 .byte 0x5 /* DW_AT_encoding */
115 .4byte .LASF8 /* DW_AT_name: "long int" */
116 .uleb128 0x1 /* (DIE (0x62) DW_TAG_base_type) */
117 .byte 0x8 /* DW_AT_byte_size */
118 .byte 0x7 /* DW_AT_encoding */
119 .4byte .LASF9 /* DW_AT_name: "sizetype" */
120 .uleb128 0x3 /* (DIE (0x69) DW_TAG_pointer_type) */
121 /* DW_AT_byte_size (0x8) */
122 .4byte 0x6e /* DW_AT_type */
123 .uleb128 0x1 /* (DIE (0x6e) DW_TAG_base_type) */
124 .byte 0x1 /* DW_AT_byte_size */
125 .byte 0x6 /* DW_AT_encoding */
126 .4byte .LASF10 /* DW_AT_name: "char" */
127 .uleb128 0x8 /* (DIE (0x75) DW_TAG_variable) */
128 .4byte .LASF11 /* DW_AT_name: "__environ" */
129 .byte 0x2 /* DW_AT_decl_file (/usr/include/unistd.h) */
130 .2byte 0x222 /* DW_AT_decl_line */
131 .4byte 0x81 /* DW_AT_type */
132 /* DW_AT_external */
133 /* DW_AT_declaration */
134 .uleb128 0x3 /* (DIE (0x81) DW_TAG_pointer_type) */
135 /* DW_AT_byte_size (0x8) */
136 .4byte 0x69 /* DW_AT_type */
137 .uleb128 0x2 /* (DIE (0x86) DW_TAG_variable) */
138 .4byte .LASF12 /* DW_AT_name: "optarg" */
139 /* DW_AT_decl_file (3, /usr/include/getopt.h) */
140 .byte 0x39 /* DW_AT_decl_line */
141 .4byte 0x69 /* DW_AT_type */
142 /* DW_AT_external */
143 /* DW_AT_declaration */
144 .uleb128 0x2 /* (DIE (0x90) DW_TAG_variable) */
145 .4byte .LASF13 /* DW_AT_name: "optind" */
146 /* DW_AT_decl_file (3, /usr/include/getopt.h) */
147 .byte 0x47 /* DW_AT_decl_line */
148 .4byte 0x54 /* DW_AT_type */
149 /* DW_AT_external */
150 /* DW_AT_declaration */
151 .uleb128 0x2 /* (DIE (0x9a) DW_TAG_variable) */
152 .4byte .LASF14 /* DW_AT_name: "opterr" */
153 /* DW_AT_decl_file (3, /usr/include/getopt.h) */
154 .byte 0x4c /* DW_AT_decl_line */
155 .4byte 0x54 /* DW_AT_type */
156 /* DW_AT_external */
157 /* DW_AT_declaration */
158 .uleb128 0x2 /* (DIE (0xa4) DW_TAG_variable) */
159 .4byte .LASF15 /* DW_AT_name: "optopt" */
160 /* DW_AT_decl_file (3, /usr/include/getopt.h) */
161 .byte 0x50 /* DW_AT_decl_line */
162 .4byte 0x54 /* DW_AT_type */
163 /* DW_AT_external */
164 /* DW_AT_declaration */
165 .uleb128 0x4 /* (DIE (0xae) DW_TAG_variable) */
166 .4byte .LASF16 /* DW_AT_name: "xvar" */
167 /* DW_AT_decl_file (1, main.c) */
168 .byte 0x2 /* DW_AT_decl_line */
169 .4byte 0x54 /* DW_AT_type */
170 /* DW_AT_external */
171 .uleb128 0x9 /* DW_AT_location */
172 .byte 0x3 /* DW_OP_addr */
173 .8byte 0x1234
174 .uleb128 0x4 /* (DIE (0xc2) DW_TAG_variable) */
175 .4byte .LASF17 /* DW_AT_name: "yvar" */
176 /* DW_AT_decl_file (1, main.c) */
177 .byte 0x3 /* DW_AT_decl_line */
178 .4byte 0x54 /* DW_AT_type */
179 /* DW_AT_external */
180 .uleb128 0x9 /* DW_AT_location */
181 .byte 0x3 /* DW_OP_addr */
182 .8byte 0x1234
183 .uleb128 0x4 /* (DIE (0xd6) DW_TAG_variable) */
184 .4byte .LASF18 /* DW_AT_name: "pvar" */
185 /* DW_AT_decl_file (1, main.c) */
186 .byte 0x4 /* DW_AT_decl_line */
187 .4byte 0xea /* DW_AT_type */
188 /* DW_AT_external */
189 .uleb128 0x9 /* DW_AT_location */
190 .byte 0x3 /* DW_OP_addr */
191 .8byte 0x1234
192 .uleb128 0x3 /* (DIE (0xea) DW_TAG_pointer_type) */
193 /* DW_AT_byte_size (0x8) */
194 .4byte 0x54 /* DW_AT_type */
195 .uleb128 0x9 /* (DIE (0xef) DW_TAG_subprogram) */
196 /* DW_AT_external */
197 .4byte .LASF22 /* DW_AT_name: "main" */
198 .byte 0x1 /* DW_AT_decl_file (main.c) */
199 .byte 0x6 /* DW_AT_decl_line */
200 /* DW_AT_prototyped */
201 .4byte 0x54 /* DW_AT_type */
202 .8byte 0x1234 /* DW_AT_low_pc */
203 .8byte 0x5678 /* DW_AT_high_pc */
204 .uleb128 0x1 /* DW_AT_frame_base */
205 .byte 0x9c /* DW_OP_call_frame_cfa */
206 /* DW_AT_call_all_calls */
207 .4byte 0x13e /* DW_AT_sibling */
208 .uleb128 0x5 /* (DIE (0x110) DW_TAG_formal_parameter) */
209 .4byte .LASF19 /* DW_AT_name: "argc" */
210 /* DW_AT_decl_file (1, main.c) */
211 /* DW_AT_decl_line (0x6) */
212 .4byte 0x54 /* DW_AT_type */
213 .4byte .LLST0 /* DW_AT_location */
214 .uleb128 0x5 /* (DIE (0x11d) DW_TAG_formal_parameter) */
215 .4byte .LASF20 /* DW_AT_name: "argv" */
216 /* DW_AT_decl_file (1, main.c) */
217 /* DW_AT_decl_line (0x6) */
218 .4byte 0x81 /* DW_AT_type */
219 .4byte .LLST1 /* DW_AT_location */
220 .uleb128 0xa /* (DIE (0x12a) DW_TAG_call_site) */
221 .8byte 0x12345 /* DW_AT_call_return_pc */
222 .4byte 0x157 /* DW_AT_call_origin */
223 .uleb128 0xb /* (DIE (0x137) DW_TAG_call_site_parameter) */
224 .uleb128 0x1 /* DW_AT_location */
225 .byte 0x55 /* DW_OP_reg5 */
226 .uleb128 0x1 /* DW_AT_call_value */
227 .byte 0x30 /* DW_OP_lit0 */
228 .byte 0 /* end of children of DIE 0x12a */
229 .byte 0 /* end of children of DIE 0xef */
230 .uleb128 0xc /* (DIE (0x13e) DW_TAG_subprogram) */
231 /* DW_AT_external */
232 .4byte .LASF23 /* DW_AT_name: "func" */
233 .byte 0x1 /* DW_AT_decl_file (main.c) */
234 .byte 0x5 /* DW_AT_decl_line */
235 /* DW_AT_prototyped */
236 .8byte 0x1234 /* DW_AT_low_pc */
237 .8byte 0x5678 /* DW_AT_high_pc */
238 .uleb128 0x1 /* DW_AT_frame_base */
239 .byte 0x9c /* DW_OP_call_frame_cfa */
240 /* DW_AT_call_all_calls */
241 .uleb128 0xd /* (DIE (0x157) DW_TAG_subprogram) */
242 /* DW_AT_external */
243 /* DW_AT_declaration */
244 .4byte .LASF24 /* DW_AT_linkage_name: "alarm" */
245 .4byte .LASF24 /* DW_AT_name: "alarm" */
246 .byte 0x2 /* DW_AT_decl_file (/usr/include/unistd.h) */
247 .2byte 0x1b3 /* DW_AT_decl_line */
248 .byte 0 /* end of children of DIE 0xc */
249 .section .debug_abbrev,"",%progbits
250 .Ldebug_abbrev0:
251 .uleb128 0x1 /* (abbrev code) */
252 .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
253 .byte 0 /* DW_children_no */
254 .uleb128 0xb /* (DW_AT_byte_size) */
255 .uleb128 0xb /* (DW_FORM_data1) */
256 .uleb128 0x3e /* (DW_AT_encoding) */
257 .uleb128 0xb /* (DW_FORM_data1) */
258 .uleb128 0x3 /* (DW_AT_name) */
259 .uleb128 0xe /* (DW_FORM_strp) */
260 .byte 0
261 .byte 0
262 .uleb128 0x2 /* (abbrev code) */
263 .uleb128 0x34 /* (TAG: DW_TAG_variable) */
264 .byte 0 /* DW_children_no */
265 .uleb128 0x3 /* (DW_AT_name) */
266 .uleb128 0xe /* (DW_FORM_strp) */
267 .uleb128 0x3a /* (DW_AT_decl_file) */
268 .uleb128 0x21 /* (DW_FORM_implicit_const) */
269 .sleb128 3 /* (/usr/include/getopt.h) */
270 .uleb128 0x3b /* (DW_AT_decl_line) */
271 .uleb128 0xb /* (DW_FORM_data1) */
272 .uleb128 0x49 /* (DW_AT_type) */
273 .uleb128 0x13 /* (DW_FORM_ref4) */
274 .uleb128 0x3f /* (DW_AT_external) */
275 .uleb128 0x19 /* (DW_FORM_flag_present) */
276 .uleb128 0x3c /* (DW_AT_declaration) */
277 .uleb128 0x19 /* (DW_FORM_flag_present) */
278 .byte 0
279 .byte 0
280 .uleb128 0x3 /* (abbrev code) */
281 .uleb128 0xf /* (TAG: DW_TAG_pointer_type) */
282 .byte 0 /* DW_children_no */
283 .uleb128 0xb /* (DW_AT_byte_size) */
284 .uleb128 0x21 /* (DW_FORM_implicit_const) */
285 .sleb128 8
286 .uleb128 0x49 /* (DW_AT_type) */
287 .uleb128 0x13 /* (DW_FORM_ref4) */
288 .byte 0
289 .byte 0
290 .uleb128 0x4 /* (abbrev code) */
291 .uleb128 0x34 /* (TAG: DW_TAG_variable) */
292 .byte 0 /* DW_children_no */
293 .uleb128 0x3 /* (DW_AT_name) */
294 .uleb128 0xe /* (DW_FORM_strp) */
295 .uleb128 0x3a /* (DW_AT_decl_file) */
296 .uleb128 0x21 /* (DW_FORM_implicit_const) */
297 .sleb128 1 /* (main.c) */
298 .uleb128 0x3b /* (DW_AT_decl_line) */
299 .uleb128 0xb /* (DW_FORM_data1) */
300 .uleb128 0x49 /* (DW_AT_type) */
301 .uleb128 0x13 /* (DW_FORM_ref4) */
302 .uleb128 0x3f /* (DW_AT_external) */
303 .uleb128 0x19 /* (DW_FORM_flag_present) */
304 .uleb128 0x2 /* (DW_AT_location) */
305 .uleb128 0x18 /* (DW_FORM_exprloc) */
306 .byte 0
307 .byte 0
308 .uleb128 0x5 /* (abbrev code) */
309 .uleb128 0x5 /* (TAG: DW_TAG_formal_parameter) */
310 .byte 0 /* DW_children_no */
311 .uleb128 0x3 /* (DW_AT_name) */
312 .uleb128 0xe /* (DW_FORM_strp) */
313 .uleb128 0x3a /* (DW_AT_decl_file) */
314 .uleb128 0x21 /* (DW_FORM_implicit_const) */
315 .sleb128 1 /* (main.c) */
316 .uleb128 0x3b /* (DW_AT_decl_line) */
317 .uleb128 0x21 /* (DW_FORM_implicit_const) */
318 .sleb128 6
319 .uleb128 0x49 /* (DW_AT_type) */
320 .uleb128 0x13 /* (DW_FORM_ref4) */
321 .uleb128 0x2 /* (DW_AT_location) */
322 .uleb128 0x17 /* (DW_FORM_sec_offset) */
323 .byte 0
324 .byte 0
325 .uleb128 0x6 /* (abbrev code) */
326 .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
327 .byte 0x1 /* DW_children_yes */
328 .uleb128 0x25 /* (DW_AT_producer) */
329 .uleb128 0xe /* (DW_FORM_strp) */
330 .uleb128 0x13 /* (DW_AT_language) */
331 .uleb128 0xb /* (DW_FORM_data1) */
332 .uleb128 0x3 /* (DW_AT_name) */
333 .uleb128 0x1f /* (DW_FORM_line_strp) */
334 .uleb128 0x1b /* (DW_AT_comp_dir) */
335 .uleb128 0x1f /* (DW_FORM_line_strp) */
336 .uleb128 0x55 /* (DW_AT_ranges) */
337 .uleb128 0x17 /* (DW_FORM_sec_offset) */
338 .uleb128 0x11 /* (DW_AT_low_pc) */
339 .uleb128 0x1 /* (DW_FORM_addr) */
340 .uleb128 0x10 /* (DW_AT_stmt_list) */
341 .uleb128 0x17 /* (DW_FORM_sec_offset) */
342 .byte 0
343 .byte 0
344 .uleb128 0x7 /* (abbrev code) */
345 .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
346 .byte 0 /* DW_children_no */
347 .uleb128 0xb /* (DW_AT_byte_size) */
348 .uleb128 0xb /* (DW_FORM_data1) */
349 .uleb128 0x3e /* (DW_AT_encoding) */
350 .uleb128 0xb /* (DW_FORM_data1) */
351 .uleb128 0x3 /* (DW_AT_name) */
352 .uleb128 0x8 /* (DW_FORM_string) */
353 .byte 0
354 .byte 0
355 .uleb128 0x8 /* (abbrev code) */
356 .uleb128 0x34 /* (TAG: DW_TAG_variable) */
357 .byte 0 /* DW_children_no */
358 .uleb128 0x3 /* (DW_AT_name) */
359 .uleb128 0xe /* (DW_FORM_strp) */
360 .uleb128 0x3a /* (DW_AT_decl_file) */
361 .uleb128 0xb /* (DW_FORM_data1) */
362 .uleb128 0x3b /* (DW_AT_decl_line) */
363 .uleb128 0x5 /* (DW_FORM_data2) */
364 .uleb128 0x49 /* (DW_AT_type) */
365 .uleb128 0x13 /* (DW_FORM_ref4) */
366 .uleb128 0x3f /* (DW_AT_external) */
367 .uleb128 0x19 /* (DW_FORM_flag_present) */
368 .uleb128 0x3c /* (DW_AT_declaration) */
369 .uleb128 0x19 /* (DW_FORM_flag_present) */
370 .byte 0
371 .byte 0
372 .uleb128 0x9 /* (abbrev code) */
373 .uleb128 0x2e /* (TAG: DW_TAG_subprogram) */
374 .byte 0x1 /* DW_children_yes */
375 .uleb128 0x3f /* (DW_AT_external) */
376 .uleb128 0x19 /* (DW_FORM_flag_present) */
377 .uleb128 0x3 /* (DW_AT_name) */
378 .uleb128 0xe /* (DW_FORM_strp) */
379 .uleb128 0x3a /* (DW_AT_decl_file) */
380 .uleb128 0xb /* (DW_FORM_data1) */
381 .uleb128 0x3b /* (DW_AT_decl_line) */
382 .uleb128 0xb /* (DW_FORM_data1) */
383 .uleb128 0x27 /* (DW_AT_prototyped) */
384 .uleb128 0x19 /* (DW_FORM_flag_present) */
385 .uleb128 0x49 /* (DW_AT_type) */
386 .uleb128 0x13 /* (DW_FORM_ref4) */
387 .uleb128 0x11 /* (DW_AT_low_pc) */
388 .uleb128 0x1 /* (DW_FORM_addr) */
389 .uleb128 0x12 /* (DW_AT_high_pc) */
390 .uleb128 0x7 /* (DW_FORM_data8) */
391 .uleb128 0x40 /* (DW_AT_frame_base) */
392 .uleb128 0x18 /* (DW_FORM_exprloc) */
393 .uleb128 0x7a /* (DW_AT_call_all_calls) */
394 .uleb128 0x19 /* (DW_FORM_flag_present) */
395 .uleb128 0x1 /* (DW_AT_sibling) */
396 .uleb128 0x13 /* (DW_FORM_ref4) */
397 .byte 0
398 .byte 0
399 .uleb128 0xa /* (abbrev code) */
400 .uleb128 0x48 /* (TAG: DW_TAG_call_site) */
401 .byte 0x1 /* DW_children_yes */
402 .uleb128 0x7d /* (DW_AT_call_return_pc) */
403 .uleb128 0x1 /* (DW_FORM_addr) */
404 .uleb128 0x7f /* (DW_AT_call_origin) */
405 .uleb128 0x13 /* (DW_FORM_ref4) */
406 .byte 0
407 .byte 0
408 .uleb128 0xb /* (abbrev code) */
409 .uleb128 0x49 /* (TAG: DW_TAG_call_site_parameter) */
410 .byte 0 /* DW_children_no */
411 .uleb128 0x2 /* (DW_AT_location) */
412 .uleb128 0x18 /* (DW_FORM_exprloc) */
413 .uleb128 0x7e /* (DW_AT_call_value) */
414 .uleb128 0x18 /* (DW_FORM_exprloc) */
415 .byte 0
416 .byte 0
417 .uleb128 0xc /* (abbrev code) */
418 .uleb128 0x2e /* (TAG: DW_TAG_subprogram) */
419 .byte 0 /* DW_children_no */
420 .uleb128 0x3f /* (DW_AT_external) */
421 .uleb128 0x19 /* (DW_FORM_flag_present) */
422 .uleb128 0x3 /* (DW_AT_name) */
423 .uleb128 0xe /* (DW_FORM_strp) */
424 .uleb128 0x3a /* (DW_AT_decl_file) */
425 .uleb128 0xb /* (DW_FORM_data1) */
426 .uleb128 0x3b /* (DW_AT_decl_line) */
427 .uleb128 0xb /* (DW_FORM_data1) */
428 .uleb128 0x27 /* (DW_AT_prototyped) */
429 .uleb128 0x19 /* (DW_FORM_flag_present) */
430 .uleb128 0x11 /* (DW_AT_low_pc) */
431 .uleb128 0x1 /* (DW_FORM_addr) */
432 .uleb128 0x12 /* (DW_AT_high_pc) */
433 .uleb128 0x7 /* (DW_FORM_data8) */
434 .uleb128 0x40 /* (DW_AT_frame_base) */
435 .uleb128 0x18 /* (DW_FORM_exprloc) */
436 .uleb128 0x7a /* (DW_AT_call_all_calls) */
437 .uleb128 0x19 /* (DW_FORM_flag_present) */
438 .byte 0
439 .byte 0
440 .uleb128 0xd /* (abbrev code) */
441 .uleb128 0x2e /* (TAG: DW_TAG_subprogram) */
442 .byte 0 /* DW_children_no */
443 .uleb128 0x3f /* (DW_AT_external) */
444 .uleb128 0x19 /* (DW_FORM_flag_present) */
445 .uleb128 0x3c /* (DW_AT_declaration) */
446 .uleb128 0x19 /* (DW_FORM_flag_present) */
447 .uleb128 0x6e /* (DW_AT_linkage_name) */
448 .uleb128 0xe /* (DW_FORM_strp) */
449 .uleb128 0x3 /* (DW_AT_name) */
450 .uleb128 0xe /* (DW_FORM_strp) */
451 .uleb128 0x3a /* (DW_AT_decl_file) */
452 .uleb128 0xb /* (DW_FORM_data1) */
453 .uleb128 0x3b /* (DW_AT_decl_line) */
454 .uleb128 0x5 /* (DW_FORM_data2) */
455 .byte 0
456 .byte 0
457 .byte 0
458 .section .debug_loclists,"",%progbits
459 .4byte .Ldebug_loc2-.Ldebug_loc1 /* Length of Location Lists */
460 .Ldebug_loc1:
461 .2byte 0x5 /* DWARF Version */
462 .byte 0x8 /* Address Size */
463 .byte 0 /* Segment Size */
464 .4byte 0 /* Offset Entry Count */
465 .Ldebug_loc0:
466 .LLST0:
467 .byte 0x6 /* DW_LLE_base_address (*.LLST0) */
468 .8byte 0x1234 /* Base address (*.LLST0) */
469 .byte 0x4 /* DW_LLE_offset_pair (*.LLST0) */
470 .uleb128 .LVL0-.LVL0 /* Location list begin address (*.LLST0) */
471 .uleb128 .LVL1-.LVL0 /* Location list end address (*.LLST0) */
472 .uleb128 0x1 /* Location expression size */
473 .byte 0x55 /* DW_OP_reg5 */
474 .byte 0x4 /* DW_LLE_offset_pair (*.LLST0) */
475 .uleb128 .LVL1-.LVL0 /* Location list begin address (*.LLST0) */
476 .uleb128 .LFE1-.LVL0 /* Location list end address (*.LLST0) */
477 .uleb128 0x4 /* Location expression size */
478 .byte 0xa3 /* DW_OP_entry_value */
479 .uleb128 0x1
480 .byte 0x55 /* DW_OP_reg5 */
481 .byte 0x9f /* DW_OP_stack_value */
482 .byte 0 /* DW_LLE_end_of_list (*.LLST0) */
483 .LLST1:
484 .byte 0x6 /* DW_LLE_base_address (*.LLST1) */
485 .8byte 0x1234 /* Base address (*.LLST1) */
486 .byte 0x4 /* DW_LLE_offset_pair (*.LLST1) */
487 .uleb128 .LVL0-.LVL0 /* Location list begin address (*.LLST1) */
488 .uleb128 .LVL2-1-.LVL0 /* Location list end address (*.LLST1) */
489 .uleb128 0x1 /* Location expression size */
490 .byte 0x54 /* DW_OP_reg4 */
491 .byte 0x4 /* DW_LLE_offset_pair (*.LLST1) */
492 .uleb128 .LVL2-1-.LVL0 /* Location list begin address (*.LLST1) */
493 .uleb128 .LFE1-.LVL0 /* Location list end address (*.LLST1) */
494 .uleb128 0x4 /* Location expression size */
495 .byte 0xa3 /* DW_OP_entry_value */
496 .uleb128 0x1
497 .byte 0x54 /* DW_OP_reg4 */
498 .byte 0x9f /* DW_OP_stack_value */
499 .byte 0 /* DW_LLE_end_of_list (*.LLST1) */
500 .Ldebug_loc2:
501 .section .debug_aranges,"",%progbits
502 .4byte 0x3c /* Length of Address Ranges Info */
503 .2byte 0x2 /* DWARF Version */
504 .4byte .Ldebug_info0 /* Offset of Compilation Unit Info */
505 .byte 0x8 /* Size of Address */
506 .byte 0 /* Size of Segment Descriptor */
507 .2byte 0 /* Pad to 16 byte boundary */
508 .2byte 0
509 .8byte 0x1234 /* Address */
510 .8byte 0x4567 /* Length */
511 .8byte 0x1234 /* Address */
512 .8byte 0x5678 /* Length */
513 .8byte 0
514 .8byte 0
515 .section .debug_rnglists,"",%progbits
516 .Ldebug_ranges0:
517 .4byte .Ldebug_ranges3-.Ldebug_ranges2 /* Length of Range Lists */
518 .Ldebug_ranges2:
519 .2byte 0x5 /* DWARF Version */
520 .byte 0x8 /* Address Size */
521 .byte 0 /* Segment Size */
522 .4byte 0 /* Offset Entry Count */
523 .LLRL2:
524 .byte 0x7 /* DW_RLE_start_length (*.LLRL2) */
525 .8byte 0x1234 /* Range begin address (*.LLRL2) */
526 .uleb128 .Letext0-.Ltext0 /* Range length (*.LLRL2) */
527 .byte 0x7 /* DW_RLE_start_length (*.LLRL2) */
528 .8byte 0x1234 /* Range begin address (*.LLRL2) */
529 .uleb128 .LFE1-.LFB1 /* Range length (*.LLRL2) */
530 .byte 0 /* DW_RLE_end_of_list (*.LLRL2) */
531 .Ldebug_ranges3:
532 .section .debug_line,"",%progbits
533 .Ldebug_line0:
534 .4byte .LELT0-.LSLT0 /* Length of Source Line Info */
535 .LSLT0:
536 .2byte 0x5 /* DWARF Version */
537 .byte 0x8 /* Address Size */
538 .byte 0 /* Segment Size */
539 .4byte .LELTP0-.LASLTP0 /* Prolog Length */
540 .LASLTP0:
541 .byte 0x1 /* Minimum Instruction Length */
542 .byte 0x1 /* Maximum Operations Per Instruction */
543 .byte 0x1 /* Default is_stmt_start flag */
544 .byte 0xf6 /* Line Base Value (Special Opcodes) */
545 .byte 0xf2 /* Line Range Value (Special Opcodes) */
546 .byte 0xd /* Special Opcode Base */
547 .byte 0 /* opcode: 0x1 has 0 args */
548 .byte 0x1 /* opcode: 0x2 has 1 args */
549 .byte 0x1 /* opcode: 0x3 has 1 args */
550 .byte 0x1 /* opcode: 0x4 has 1 args */
551 .byte 0x1 /* opcode: 0x5 has 1 args */
552 .byte 0 /* opcode: 0x6 has 0 args */
553 .byte 0 /* opcode: 0x7 has 0 args */
554 .byte 0 /* opcode: 0x8 has 0 args */
555 .byte 0x1 /* opcode: 0x9 has 1 args */
556 .byte 0 /* opcode: 0xa has 0 args */
557 .byte 0 /* opcode: 0xb has 0 args */
558 .byte 0x1 /* opcode: 0xc has 1 args */
559 .byte 0x1 /* Directory entry format count */
560 .uleb128 0x1 /* DW_LNCT_path */
561 .uleb128 0x1f /* DW_FORM_line_strp */
562 .uleb128 0x3 /* Directories count */
563 .4byte .LASF1 /* Directory Entry: 0: "" */
564 .4byte .LASF25 /* Directory Entry: 0: "" */
565 .4byte .LASF26 /* Directory Entry: 0: "/usr/include" */
566 .byte 0x2 /* File name entry format count */
567 .uleb128 0x1 /* DW_LNCT_path */
568 .uleb128 0x1f /* DW_FORM_line_strp */
569 .uleb128 0x2 /* DW_LNCT_directory_index */
570 .uleb128 0xb /* DW_FORM_data1 */
571 .uleb128 0x4 /* File names count */
572 .4byte .LASF0 /* File Entry: 0: "main.c" */
573 .byte 0
574 .4byte .LASF27 /* File Entry: 0: "main.c" */
575 .byte 0x1
576 .4byte .LASF28 /* File Entry: 0: "unistd.h" */
577 .byte 0x2
578 .4byte .LASF29 /* File Entry: 0: "getopt.h" */
579 .byte 0x2
580 .LELTP0:
581 .byte 0 /* set address *.LM3 */
582 .uleb128 0x9
583 .byte 0x2
584 .8byte 0x1234
585 .byte 0x1c /* line 6 */
586 .byte 0 /* set address *.LM4 */
587 .uleb128 0x9
588 .byte 0x2
589 .8byte 0x12346
590 .byte 0x1 /* copy line 6 */
591 .byte 0 /* set address *.LFE1 */
592 .uleb128 0x9
593 .byte 0x2
594 .8byte 0x1234
595 .byte 0 /* end sequence */
596 .uleb128 0x1
597 .byte 0x1
598 .byte 0 /* set address *.LM1 */
599 .uleb128 0x9
600 .byte 0x2
601 .8byte 0x1234
602 .byte 0x1b /* line 5 */
603 .byte 0 /* set address *.LM2 */
604 .uleb128 0x9
605 .byte 0x2
606 .8byte 0x1234
607 .byte 0x1 /* copy line 5 */
608 .byte 0 /* set address *.Letext0 */
609 .uleb128 0x9
610 .byte 0x2
611 .8byte 0x1234
612 .byte 0 /* end sequence */
613 .uleb128 0x1
614 .byte 0x1
615 .LELT0:
616 .section .debug_str,"MS",%progbits,1
617 .LASF4:
618 .string "unsigned int"
619 .LASF15:
620 .string "optopt"
621 .LASF22:
622 .string "main"
623 .LASF6:
624 .string "signed char"
625 .LASF16:
626 .string "xvar"
627 .LASF5:
628 .string "long unsigned int"
629 .LASF14:
630 .string "opterr"
631 .LASF21:
632 .string "GNU C11 7.0.1 20170218 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -O2"
633 .LASF2:
634 .string "unsigned char"
635 .LASF10:
636 .string "char"
637 .LASF13:
638 .string "optind"
639 .LASF8:
640 .string "long int"
641 .LASF19:
642 .string "argc"
643 .LASF3:
644 .string "short unsigned int"
645 .LASF17:
646 .string "yvar"
647 .LASF18:
648 .string "pvar"
649 .LASF11:
650 .string "__environ"
651 .LASF23:
652 .string "func"
653 .LASF12:
654 .string "optarg"
655 .LASF7:
656 .string "short int"
657 .LASF24:
658 .string "alarm"
659 .LASF9:
660 .string "sizetype"
661 .LASF20:
662 .string "argv"
663 .section .debug_line_str,"MS",%progbits,1
664 .LASF1:
665 .string ""
666 .LASF25:
667 .string ""
668 .LASF29:
669 .string "getopt.h"
670 .LASF28:
671 .string "unistd.h"
672 .LASF0:
673 .string "main.c"
674 .LASF27:
675 .string "main.c"
676 .LASF26:
677 .string "/usr/include"
678 .ident "GCC: (GNU) 7.0.1 20170218 (experimental)"
679 .section .note.GNU-stack,"",%progbits