amd64-tailcall-self.S revision 1.1.1.1
1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2015 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 33b: 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 58c: 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 86a: 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 151main: 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 1831: 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 195die29: 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 # 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 # DW_AT_type 223 .uleb128 0x1 # DW_AT_location 224 .byte 0x55 # DW_OP_reg5 225 .byte 0 # end of children of DIE 0x40 226die6b: 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 231die72: 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 298diefe: 299 .uleb128 0xc # (DIE (0xfe) DW_TAG_pointer_type) 300 .byte 0x8 # DW_AT_byte_size 301 .long die104 # DW_AT_type 302die104: 303 .uleb128 0xc # (DIE (0x104) DW_TAG_pointer_type) 304 .byte 0x8 # DW_AT_byte_size 305 .long die10a # DW_AT_type 306die10a: 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 # 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 3212: 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