]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.arch/amd64-tailcall-self.S
182c735e9f1cbff4d9cc1917d1e8e43f12076a6d
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.arch / amd64-tailcall-self.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2015-2023 Free Software Foundation, Inc.
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 source file was generated by:
19 gcc -o gdb.arch/amd64-tailcall-self.S -S gdb.arch/amd64-tailcall-self.c -Wall -g -dA -Os
20 */
21
22 .file "amd64-tailcall-self.c"
23 .text
24 .Ltext0:
25 .section .text.unlikely,"ax",@progbits
26 .LCOLDB0:
27 .text
28 .LHOTB0:
29 .section .text.unlikely
30 .Ltext_cold0:
31 .text
32 .type b, @function
33 b:
34 .LFB0:
35 .file 1 "amd64-tailcall-self.c"
36 # amd64-tailcall-self.c:1
37 .loc 1 1 0
38 .cfi_startproc
39 # BLOCK 2 freq:10000 seq:0
40 # PRED: ENTRY [100.0%] (FALLTHRU)
41 # amd64-tailcall-self.c:2
42 .loc 1 2 0
43 # SUCC: EXIT [100.0%]
44 ret
45 .cfi_endproc
46 .LFE0:
47 .size b, .-b
48 .section .text.unlikely
49 .LCOLDE0:
50 .text
51 .LHOTE0:
52 .section .text.unlikely
53 .LCOLDB1:
54 .text
55 .LHOTB1:
56 .globl c
57 .type c, @function
58 c:
59 .LFB1:
60 # amd64-tailcall-self.c:7
61 .loc 1 7 0
62 .cfi_startproc
63 .LVL0:
64 # BLOCK 2 freq:10000 seq:0
65 # PRED: ENTRY [100.0%] (FALLTHRU)
66 # amd64-tailcall-self.c:8
67 .loc 1 8 0
68 leal 1(%rdi), %eax
69 # SUCC: EXIT [100.0%]
70 # amd64-tailcall-self.c:9
71 .loc 1 9 0
72 ret
73 .cfi_endproc
74 .LFE1:
75 .size c, .-c
76 .section .text.unlikely
77 .LCOLDE1:
78 .text
79 .LHOTE1:
80 .section .text.unlikely
81 .LCOLDB2:
82 .text
83 .LHOTB2:
84 .globl a
85 .type a, @function
86 a:
87 .LFB2:
88 # amd64-tailcall-self.c:11
89 .loc 1 11 0
90 .cfi_startproc
91 .LVL1:
92 # BLOCK 2 freq:10000 seq:0
93 # PRED: ENTRY [100.0%] (FALLTHRU) 3 [100.0%] (DFS_BACK,CAN_FALLTHRU)
94 .L5:
95 # amd64-tailcall-self.c:12
96 .loc 1 12 0
97 #APP
98 # 12 "amd64-tailcall-self.c" 1
99 nop;nop;nop
100 # 0 "" 2
101 # amd64-tailcall-self.c:13
102 .loc 1 13 0
103 #NO_APP
104 movl i(%rip), %edi
105 leal -1(%rdi), %eax
106 cmpl $9, %eax
107 # SUCC: 3 [91.0%] (FALLTHRU,CAN_FALLTHRU) 4 [9.0%] (CAN_FALLTHRU,LOOP_EXIT)
108 ja .L4
109 # BLOCK 3 freq:9100 seq:1
110 # PRED: 2 [91.0%] (FALLTHRU,CAN_FALLTHRU)
111 # amd64-tailcall-self.c:14
112 .loc 1 14 0
113 orl $1, %edi
114 movl %edi, i(%rip)
115 # SUCC: 2 [100.0%] (DFS_BACK,CAN_FALLTHRU)
116 jmp .L5
117 .Lfirsttailcall:
118 # BLOCK 4 freq:900 seq:2
119 # PRED: 2 [9.0%] (CAN_FALLTHRU,LOOP_EXIT)
120 .L4:
121 # amd64-tailcall-self.c:16
122 .loc 1 16 0
123 cmpl $0, %edi
124 # SUCC: 5 [19.9%] (FALLTHRU,CAN_FALLTHRU) 6 [80.1%] (CAN_FALLTHRU)
125 jne .L3
126 # BLOCK 5 freq:179 seq:3
127 # PRED: 4 [19.9%] (FALLTHRU,CAN_FALLTHRU)
128 # SUCC: EXIT [100.0%] (ABNORMAL,SIBCALL)
129 # amd64-tailcall-self.c:17
130 .loc 1 17 0
131 jmp b
132 .LVL2:
133 # BLOCK 6 freq:721 seq:4
134 # PRED: 4 [80.1%] (CAN_FALLTHRU)
135 .L3:
136 # SUCC: EXIT [100.0%]
137 ret
138 .cfi_endproc
139 .LFE2:
140 .size a, .-a
141 .section .text.unlikely
142 .LCOLDE2:
143 .text
144 .LHOTE2:
145 .section .text.unlikely
146 .LCOLDB3:
147 .section .text.startup,"ax",@progbits
148 .LHOTB3:
149 .globl main
150 .type main, @function
151 main:
152 .LFB3:
153 # amd64-tailcall-self.c:20
154 .loc 1 20 0
155 .cfi_startproc
156 .LVL3:
157 # BLOCK 2 freq:10000 seq:0
158 # PRED: ENTRY [100.0%] (FALLTHRU)
159 # amd64-tailcall-self.c:21
160 .loc 1 21 0
161 call a
162 .LVL4:
163 # amd64-tailcall-self.c:23
164 .loc 1 23 0
165 xorl %eax, %eax
166 # SUCC: EXIT [100.0%]
167 ret
168 .cfi_endproc
169 .LFE3:
170 .size main, .-main
171 .section .text.unlikely
172 .LCOLDE3:
173 .section .text.startup
174 .LHOTE3:
175 .comm i,4,4
176 .text
177 .Letext0:
178 .section .text.unlikely
179 .Letext_cold0:
180 .section .debug_info,"",@progbits
181 .Ldebug_info0:
182 .long 2f-1f # Length of Compilation Unit Info
183 1:
184 .value 0x4 # DWARF version number
185 .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
186 .byte 0x8 # Pointer Size (in bytes)
187 .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
188 .long .LASF4 # DW_AT_producer: "GNU C 4.9.2 20150212 (Red Hat 4.9.2-6) -mtune=generic -march=x86-64 -g -Os"
189 .byte 0x1 # DW_AT_language
190 .long .LASF5 # DW_AT_name: "amd64-tailcall-self.c"
191 .long .LASF6 # DW_AT_comp_dir: "/home/jkratoch/t"
192 .long .Ldebug_ranges0+0 # DW_AT_ranges
193 .quad 0 # DW_AT_low_pc
194 .long .Ldebug_line0 # DW_AT_stmt_list
195 die29:
196 .uleb128 0x2 # (DIE (0x29) DW_TAG_subprogram)
197 .ascii "b\0" # DW_AT_name
198 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
199 .byte 0x1 # DW_AT_decl_line
200 # DW_AT_prototyped
201 .quad .LFB0 # DW_AT_low_pc
202 .quad .LFE0-.LFB0 # DW_AT_high_pc
203 .uleb128 0x1 # DW_AT_frame_base
204 .byte 0x9c # DW_OP_call_frame_cfa
205 # DW_AT_GNU_all_call_sites
206 .uleb128 0x3 # (DIE (0x40) DW_TAG_subprogram)
207 # DW_AT_external
208 .ascii "c\0" # DW_AT_name
209 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
210 .byte 0x7 # DW_AT_decl_line
211 # DW_AT_prototyped
212 .long die6b - .Ldebug_info0 # DW_AT_type
213 .quad .LFB1 # DW_AT_low_pc
214 .quad .LFE1-.LFB1 # DW_AT_high_pc
215 .uleb128 0x1 # DW_AT_frame_base
216 .byte 0x9c # DW_OP_call_frame_cfa
217 # DW_AT_GNU_all_call_sites
218 .uleb128 0x4 # (DIE (0x5f) DW_TAG_formal_parameter)
219 .ascii "q\0" # DW_AT_name
220 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
221 .byte 0x7 # DW_AT_decl_line
222 .long die6b - .Ldebug_info0 # DW_AT_type
223 .uleb128 0x1 # DW_AT_location
224 .byte 0x55 # DW_OP_reg5
225 .byte 0 # end of children of DIE 0x40
226 die6b:
227 .uleb128 0x5 # (DIE (0x6b) DW_TAG_base_type)
228 .byte 0x4 # DW_AT_byte_size
229 .byte 0x5 # DW_AT_encoding
230 .ascii "int\0" # DW_AT_name
231 die72:
232 .uleb128 0x6 # (DIE (0x72) DW_TAG_subprogram)
233 # DW_AT_external
234 .ascii "a\0" # DW_AT_name
235 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
236 .byte 0xb # DW_AT_decl_line
237 # DW_AT_prototyped
238 .quad .LFB2 # DW_AT_low_pc
239 .quad .LFE2-.LFB2 # DW_AT_high_pc
240 .uleb128 0x1 # DW_AT_frame_base
241 .byte 0x9c # DW_OP_call_frame_cfa
242 # DW_AT_GNU_all_call_sites
243 .uleb128 0x4 # (DIE (0x8d) DW_TAG_formal_parameter)
244 .ascii "q\0" # DW_AT_name
245 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
246 .byte 0xb # DW_AT_decl_line
247 .long die6b - .Ldebug_info0 # DW_AT_type
248 .uleb128 0x4 # DW_AT_location
249 .byte 0xf3 # DW_OP_GNU_entry_value
250 .uleb128 0x1
251 .byte 0x55 # DW_OP_reg5
252 .byte 0x9f # DW_OP_stack_value
253 .uleb128 0x7 # (DIE () DW_TAG_GNU_call_site)
254 .quad .Lfirsttailcall # DW_AT_low_pc
255 # DW_AT_GNU_tail_call
256 .long die72 - .Ldebug_info0 # DW_AT_abstract_origin
257 .uleb128 0x7 # (DIE (0x9b) DW_TAG_GNU_call_site)
258 .quad .LVL2 # DW_AT_low_pc
259 # DW_AT_GNU_tail_call
260 .long die29 - .Ldebug_info0 # DW_AT_abstract_origin
261 .byte 0 # end of children of DIE 0x72
262 .uleb128 0x8 # (DIE (0xa9) DW_TAG_subprogram)
263 # DW_AT_external
264 .long .LASF0 # DW_AT_name: "main"
265 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
266 .byte 0x14 # DW_AT_decl_line
267 # DW_AT_prototyped
268 .long die6b - .Ldebug_info0 # DW_AT_type
269 .quad .LFB3 # DW_AT_low_pc
270 .quad .LFE3-.LFB3 # DW_AT_high_pc
271 .uleb128 0x1 # DW_AT_frame_base
272 .byte 0x9c # DW_OP_call_frame_cfa
273 # DW_AT_GNU_all_call_sites
274 .uleb128 0x9 # (DIE (0xca) DW_TAG_formal_parameter)
275 .long .LASF1 # DW_AT_name: "argc"
276 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
277 .byte 0x14 # DW_AT_decl_line
278 .long die6b - .Ldebug_info0 # DW_AT_type
279 .long .LLST0 # DW_AT_location
280 .uleb128 0x9 # (DIE (0xd9) DW_TAG_formal_parameter)
281 .long .LASF2 # DW_AT_name: "argv"
282 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
283 .byte 0x14 # DW_AT_decl_line
284 .long diefe - .Ldebug_info0 # DW_AT_type
285 .long .LLST1 # DW_AT_location
286 .uleb128 0xa # (DIE (0xe8) DW_TAG_GNU_call_site)
287 .quad .LVL4 # DW_AT_low_pc
288 .long die72 - .Ldebug_info0 # DW_AT_abstract_origin
289 .uleb128 0xb # (DIE (0xf5) DW_TAG_GNU_call_site_parameter)
290 .uleb128 0x1 # DW_AT_location
291 .byte 0x55 # DW_OP_reg5
292 .uleb128 0x3 # DW_AT_GNU_call_site_value
293 .byte 0xf3 # DW_OP_GNU_entry_value
294 .uleb128 0x1
295 .byte 0x55 # DW_OP_reg5
296 .byte 0 # end of children of DIE 0xe8
297 .byte 0 # end of children of DIE 0xa9
298 diefe:
299 .uleb128 0xc # (DIE (0xfe) DW_TAG_pointer_type)
300 .byte 0x8 # DW_AT_byte_size
301 .long die104 - .Ldebug_info0 # DW_AT_type
302 die104:
303 .uleb128 0xc # (DIE (0x104) DW_TAG_pointer_type)
304 .byte 0x8 # DW_AT_byte_size
305 .long die10a - .Ldebug_info0 # DW_AT_type
306 die10a:
307 .uleb128 0xd # (DIE (0x10a) DW_TAG_base_type)
308 .byte 0x1 # DW_AT_byte_size
309 .byte 0x6 # DW_AT_encoding
310 .long .LASF3 # DW_AT_name: "char"
311 .uleb128 0xe # (DIE (0x111) DW_TAG_variable)
312 .ascii "i\0" # DW_AT_name
313 .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
314 .byte 0x5 # DW_AT_decl_line
315 .long die6b - .Ldebug_info0 # DW_AT_type
316 # DW_AT_external
317 .uleb128 0x9 # DW_AT_location
318 .byte 0x3 # DW_OP_addr
319 .quad i
320 .byte 0 # end of children of DIE 0xb
321 2:
322 .section .debug_abbrev,"",@progbits
323 .Ldebug_abbrev0:
324 .uleb128 0x1 # (abbrev code)
325 .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
326 .byte 0x1 # DW_children_yes
327 .uleb128 0x25 # (DW_AT_producer)
328 .uleb128 0xe # (DW_FORM_strp)
329 .uleb128 0x13 # (DW_AT_language)
330 .uleb128 0xb # (DW_FORM_data1)
331 .uleb128 0x3 # (DW_AT_name)
332 .uleb128 0xe # (DW_FORM_strp)
333 .uleb128 0x1b # (DW_AT_comp_dir)
334 .uleb128 0xe # (DW_FORM_strp)
335 .uleb128 0x55 # (DW_AT_ranges)
336 .uleb128 0x17 # (DW_FORM_sec_offset)
337 .uleb128 0x11 # (DW_AT_low_pc)
338 .uleb128 0x1 # (DW_FORM_addr)
339 .uleb128 0x10 # (DW_AT_stmt_list)
340 .uleb128 0x17 # (DW_FORM_sec_offset)
341 .byte 0
342 .byte 0
343 .uleb128 0x2 # (abbrev code)
344 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
345 .byte 0 # DW_children_no
346 .uleb128 0x3 # (DW_AT_name)
347 .uleb128 0x8 # (DW_FORM_string)
348 .uleb128 0x3a # (DW_AT_decl_file)
349 .uleb128 0xb # (DW_FORM_data1)
350 .uleb128 0x3b # (DW_AT_decl_line)
351 .uleb128 0xb # (DW_FORM_data1)
352 .uleb128 0x27 # (DW_AT_prototyped)
353 .uleb128 0x19 # (DW_FORM_flag_present)
354 .uleb128 0x11 # (DW_AT_low_pc)
355 .uleb128 0x1 # (DW_FORM_addr)
356 .uleb128 0x12 # (DW_AT_high_pc)
357 .uleb128 0x7 # (DW_FORM_data8)
358 .uleb128 0x40 # (DW_AT_frame_base)
359 .uleb128 0x18 # (DW_FORM_exprloc)
360 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
361 .uleb128 0x19 # (DW_FORM_flag_present)
362 .byte 0
363 .byte 0
364 .uleb128 0x3 # (abbrev code)
365 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
366 .byte 0x1 # DW_children_yes
367 .uleb128 0x3f # (DW_AT_external)
368 .uleb128 0x19 # (DW_FORM_flag_present)
369 .uleb128 0x3 # (DW_AT_name)
370 .uleb128 0x8 # (DW_FORM_string)
371 .uleb128 0x3a # (DW_AT_decl_file)
372 .uleb128 0xb # (DW_FORM_data1)
373 .uleb128 0x3b # (DW_AT_decl_line)
374 .uleb128 0xb # (DW_FORM_data1)
375 .uleb128 0x27 # (DW_AT_prototyped)
376 .uleb128 0x19 # (DW_FORM_flag_present)
377 .uleb128 0x49 # (DW_AT_type)
378 .uleb128 0x13 # (DW_FORM_ref4)
379 .uleb128 0x11 # (DW_AT_low_pc)
380 .uleb128 0x1 # (DW_FORM_addr)
381 .uleb128 0x12 # (DW_AT_high_pc)
382 .uleb128 0x7 # (DW_FORM_data8)
383 .uleb128 0x40 # (DW_AT_frame_base)
384 .uleb128 0x18 # (DW_FORM_exprloc)
385 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
386 .uleb128 0x19 # (DW_FORM_flag_present)
387 .byte 0
388 .byte 0
389 .uleb128 0x4 # (abbrev code)
390 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
391 .byte 0 # DW_children_no
392 .uleb128 0x3 # (DW_AT_name)
393 .uleb128 0x8 # (DW_FORM_string)
394 .uleb128 0x3a # (DW_AT_decl_file)
395 .uleb128 0xb # (DW_FORM_data1)
396 .uleb128 0x3b # (DW_AT_decl_line)
397 .uleb128 0xb # (DW_FORM_data1)
398 .uleb128 0x49 # (DW_AT_type)
399 .uleb128 0x13 # (DW_FORM_ref4)
400 .uleb128 0x2 # (DW_AT_location)
401 .uleb128 0x18 # (DW_FORM_exprloc)
402 .byte 0
403 .byte 0
404 .uleb128 0x5 # (abbrev code)
405 .uleb128 0x24 # (TAG: DW_TAG_base_type)
406 .byte 0 # DW_children_no
407 .uleb128 0xb # (DW_AT_byte_size)
408 .uleb128 0xb # (DW_FORM_data1)
409 .uleb128 0x3e # (DW_AT_encoding)
410 .uleb128 0xb # (DW_FORM_data1)
411 .uleb128 0x3 # (DW_AT_name)
412 .uleb128 0x8 # (DW_FORM_string)
413 .byte 0
414 .byte 0
415 .uleb128 0x6 # (abbrev code)
416 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
417 .byte 0x1 # DW_children_yes
418 .uleb128 0x3f # (DW_AT_external)
419 .uleb128 0x19 # (DW_FORM_flag_present)
420 .uleb128 0x3 # (DW_AT_name)
421 .uleb128 0x8 # (DW_FORM_string)
422 .uleb128 0x3a # (DW_AT_decl_file)
423 .uleb128 0xb # (DW_FORM_data1)
424 .uleb128 0x3b # (DW_AT_decl_line)
425 .uleb128 0xb # (DW_FORM_data1)
426 .uleb128 0x27 # (DW_AT_prototyped)
427 .uleb128 0x19 # (DW_FORM_flag_present)
428 .uleb128 0x11 # (DW_AT_low_pc)
429 .uleb128 0x1 # (DW_FORM_addr)
430 .uleb128 0x12 # (DW_AT_high_pc)
431 .uleb128 0x7 # (DW_FORM_data8)
432 .uleb128 0x40 # (DW_AT_frame_base)
433 .uleb128 0x18 # (DW_FORM_exprloc)
434 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
435 .uleb128 0x19 # (DW_FORM_flag_present)
436 .byte 0
437 .byte 0
438 .uleb128 0x7 # (abbrev code)
439 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
440 .byte 0 # DW_children_no
441 .uleb128 0x11 # (DW_AT_low_pc)
442 .uleb128 0x1 # (DW_FORM_addr)
443 .uleb128 0x2115 # (DW_AT_GNU_tail_call)
444 .uleb128 0x19 # (DW_FORM_flag_present)
445 .uleb128 0x31 # (DW_AT_abstract_origin)
446 .uleb128 0x13 # (DW_FORM_ref4)
447 .byte 0
448 .byte 0
449 .uleb128 0x8 # (abbrev code)
450 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
451 .byte 0x1 # DW_children_yes
452 .uleb128 0x3f # (DW_AT_external)
453 .uleb128 0x19 # (DW_FORM_flag_present)
454 .uleb128 0x3 # (DW_AT_name)
455 .uleb128 0xe # (DW_FORM_strp)
456 .uleb128 0x3a # (DW_AT_decl_file)
457 .uleb128 0xb # (DW_FORM_data1)
458 .uleb128 0x3b # (DW_AT_decl_line)
459 .uleb128 0xb # (DW_FORM_data1)
460 .uleb128 0x27 # (DW_AT_prototyped)
461 .uleb128 0x19 # (DW_FORM_flag_present)
462 .uleb128 0x49 # (DW_AT_type)
463 .uleb128 0x13 # (DW_FORM_ref4)
464 .uleb128 0x11 # (DW_AT_low_pc)
465 .uleb128 0x1 # (DW_FORM_addr)
466 .uleb128 0x12 # (DW_AT_high_pc)
467 .uleb128 0x7 # (DW_FORM_data8)
468 .uleb128 0x40 # (DW_AT_frame_base)
469 .uleb128 0x18 # (DW_FORM_exprloc)
470 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
471 .uleb128 0x19 # (DW_FORM_flag_present)
472 .byte 0
473 .byte 0
474 .uleb128 0x9 # (abbrev code)
475 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
476 .byte 0 # DW_children_no
477 .uleb128 0x3 # (DW_AT_name)
478 .uleb128 0xe # (DW_FORM_strp)
479 .uleb128 0x3a # (DW_AT_decl_file)
480 .uleb128 0xb # (DW_FORM_data1)
481 .uleb128 0x3b # (DW_AT_decl_line)
482 .uleb128 0xb # (DW_FORM_data1)
483 .uleb128 0x49 # (DW_AT_type)
484 .uleb128 0x13 # (DW_FORM_ref4)
485 .uleb128 0x2 # (DW_AT_location)
486 .uleb128 0x17 # (DW_FORM_sec_offset)
487 .byte 0
488 .byte 0
489 .uleb128 0xa # (abbrev code)
490 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
491 .byte 0x1 # DW_children_yes
492 .uleb128 0x11 # (DW_AT_low_pc)
493 .uleb128 0x1 # (DW_FORM_addr)
494 .uleb128 0x31 # (DW_AT_abstract_origin)
495 .uleb128 0x13 # (DW_FORM_ref4)
496 .byte 0
497 .byte 0
498 .uleb128 0xb # (abbrev code)
499 .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter)
500 .byte 0 # DW_children_no
501 .uleb128 0x2 # (DW_AT_location)
502 .uleb128 0x18 # (DW_FORM_exprloc)
503 .uleb128 0x2111 # (DW_AT_GNU_call_site_value)
504 .uleb128 0x18 # (DW_FORM_exprloc)
505 .byte 0
506 .byte 0
507 .uleb128 0xc # (abbrev code)
508 .uleb128 0xf # (TAG: DW_TAG_pointer_type)
509 .byte 0 # DW_children_no
510 .uleb128 0xb # (DW_AT_byte_size)
511 .uleb128 0xb # (DW_FORM_data1)
512 .uleb128 0x49 # (DW_AT_type)
513 .uleb128 0x13 # (DW_FORM_ref4)
514 .byte 0
515 .byte 0
516 .uleb128 0xd # (abbrev code)
517 .uleb128 0x24 # (TAG: DW_TAG_base_type)
518 .byte 0 # DW_children_no
519 .uleb128 0xb # (DW_AT_byte_size)
520 .uleb128 0xb # (DW_FORM_data1)
521 .uleb128 0x3e # (DW_AT_encoding)
522 .uleb128 0xb # (DW_FORM_data1)
523 .uleb128 0x3 # (DW_AT_name)
524 .uleb128 0xe # (DW_FORM_strp)
525 .byte 0
526 .byte 0
527 .uleb128 0xe # (abbrev code)
528 .uleb128 0x34 # (TAG: DW_TAG_variable)
529 .byte 0 # DW_children_no
530 .uleb128 0x3 # (DW_AT_name)
531 .uleb128 0x8 # (DW_FORM_string)
532 .uleb128 0x3a # (DW_AT_decl_file)
533 .uleb128 0xb # (DW_FORM_data1)
534 .uleb128 0x3b # (DW_AT_decl_line)
535 .uleb128 0xb # (DW_FORM_data1)
536 .uleb128 0x49 # (DW_AT_type)
537 .uleb128 0x13 # (DW_FORM_ref4)
538 .uleb128 0x3f # (DW_AT_external)
539 .uleb128 0x19 # (DW_FORM_flag_present)
540 .uleb128 0x2 # (DW_AT_location)
541 .uleb128 0x18 # (DW_FORM_exprloc)
542 .byte 0
543 .byte 0
544 .byte 0
545 .section .debug_loc,"",@progbits
546 .Ldebug_loc0:
547 .LLST0:
548 .quad .LVL3 # Location list begin address (*.LLST0)
549 .quad .LVL4-1 # Location list end address (*.LLST0)
550 .value 0x1 # Location expression size
551 .byte 0x55 # DW_OP_reg5
552 .quad .LVL4-1 # Location list begin address (*.LLST0)
553 .quad .LFE3 # Location list end address (*.LLST0)
554 .value 0x4 # Location expression size
555 .byte 0xf3 # DW_OP_GNU_entry_value
556 .uleb128 0x1
557 .byte 0x55 # DW_OP_reg5
558 .byte 0x9f # DW_OP_stack_value
559 .quad 0 # Location list terminator begin (*.LLST0)
560 .quad 0 # Location list terminator end (*.LLST0)
561 .LLST1:
562 .quad .LVL3 # Location list begin address (*.LLST1)
563 .quad .LVL4-1 # Location list end address (*.LLST1)
564 .value 0x1 # Location expression size
565 .byte 0x54 # DW_OP_reg4
566 .quad .LVL4-1 # Location list begin address (*.LLST1)
567 .quad .LFE3 # Location list end address (*.LLST1)
568 .value 0x4 # Location expression size
569 .byte 0xf3 # DW_OP_GNU_entry_value
570 .uleb128 0x1
571 .byte 0x54 # DW_OP_reg4
572 .byte 0x9f # DW_OP_stack_value
573 .quad 0 # Location list terminator begin (*.LLST1)
574 .quad 0 # Location list terminator end (*.LLST1)
575 .section .debug_aranges,"",@progbits
576 .long 0x3c # Length of Address Ranges Info
577 .value 0x2 # DWARF Version
578 .long .Ldebug_info0 # Offset of Compilation Unit Info
579 .byte 0x8 # Size of Address
580 .byte 0 # Size of Segment Descriptor
581 .value 0 # Pad to 16 byte boundary
582 .value 0
583 .quad .Ltext0 # Address
584 .quad .Letext0-.Ltext0 # Length
585 .quad .LFB3 # Address
586 .quad .LFE3-.LFB3 # Length
587 .quad 0
588 .quad 0
589 .section .debug_ranges,"",@progbits
590 .Ldebug_ranges0:
591 .quad .Ltext0 # Offset 0
592 .quad .Letext0
593 .quad .LFB3 # Offset 0x10
594 .quad .LFE3
595 .quad 0
596 .quad 0
597 .section .debug_line,"",@progbits
598 .Ldebug_line0:
599 .section .debug_str,"MS",@progbits,1
600 .LASF1:
601 .string "argc"
602 .LASF0:
603 .string "main"
604 .LASF4:
605 .string "GNU C 4.9.2 20150212 (Red Hat 4.9.2-6) -mtune=generic -march=x86-64 -g -Os"
606 .LASF5:
607 .string "amd64-tailcall-self.c"
608 .LASF6:
609 .string ""
610 .LASF3:
611 .string "char"
612 .LASF2:
613 .string "argv"
614 .ident "GCC: (GNU) 4.9.2 20150212 (Red Hat 4.9.2-6)"
615 .section .note.GNU-stack,"",@progbits