[PATCH 7/57][Arm][GAS] Add support for MVE instructions: vstr/vldr
[binutils-gdb.git] / gdb / testsuite / gdb.arch / amd64-tailcall-self.S
blob0dce7e21d58a954f912b9eb31157f79cd3b60057
1 /* This testcase is part of GDB, the GNU debugger.
3    Copyright 2015-2019 Free Software Foundation, Inc.
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.
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.
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/>.  */
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    */
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
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
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
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
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
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)"