Home | History | Annotate | Line # | Download | only in gdb.arch
      1 /* This testcase is part of GDB, the GNU debugger.
      2 
      3    Copyright 2015-2024 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
    616