1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2013-2021 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-noret.S gdb.arch/amd64-tailcall-noret.c -Wall -S -dA -O2 -g 20 */ 21 22 .file "amd64-tailcall-noret.c" 23 .text 24.Ltext0: 25 .section .text.unlikely,"ax",@progbits 26 .type noret, @function 27noret: 28.LFB9: 29 .file 1 "gdb.arch/amd64-tailcall-noret.c" 30 # gdb.arch/amd64-tailcall-noret.c:24 31 .loc 1 24 0 32 .cfi_startproc 33.LVL0: 34# BLOCK 2 freq:10000 seq:0 35# PRED: ENTRY [100.0%] (fallthru) 36 pushq %rax 37.LCFI0: 38 .cfi_def_cfa_offset 16 39 # gdb.arch/amd64-tailcall-noret.c:25 40 .loc 1 25 0 41 call abort 42.LVL1: 43# SUCC: 44 .cfi_endproc 45.LFE9: 46 .size noret, .-noret 47 .text 48 .p2align 4,,15 49 .type mayret, @function 50mayret: 51.LFB10: 52 # gdb.arch/amd64-tailcall-noret.c:30 53 .loc 1 30 0 54 .cfi_startproc 55.LVL2: 56# BLOCK 2 freq:10000 seq:0 57# PRED: ENTRY [100.0%] (fallthru) 58 # gdb.arch/amd64-tailcall-noret.c:31 59 .loc 1 31 0 60 movl v(%rip), %eax 61 testl %eax, %eax 62# SUCC: 4 [0.0%] (can_fallthru) 3 [100.0%] (fallthru,can_fallthru) 63 jne .L8 64# BLOCK 3 freq:9996 seq:1 65# PRED: 2 [100.0%] (fallthru,can_fallthru) 66# SUCC: EXIT [100.0%] 67 rep 68 ret 69# BLOCK 4 freq:4 seq:2 70# PRED: 2 [0.0%] (can_fallthru) 71.L8: 72 # gdb.arch/amd64-tailcall-noret.c:30 73 .loc 1 30 0 74 pushq %rdx 75.LCFI1: 76 .cfi_def_cfa_offset 16 77 # gdb.arch/amd64-tailcall-noret.c:32 78 .loc 1 32 0 79 xorl %eax, %eax 80 call noret 81.LVL3: 82# SUCC: 83 .cfi_endproc 84.LFE10: 85 .size mayret, .-mayret 86 .p2align 4,,15 87 .type tailcall, @function 88tailcall: 89.LFB11: 90 # gdb.arch/amd64-tailcall-noret.c:37 91 .loc 1 37 0 92 .cfi_startproc 93.LVL4: 94# BLOCK 2 freq:10000 seq:0 95# PRED: ENTRY [100.0%] (fallthru) 96 # gdb.arch/amd64-tailcall-noret.c:38 97 .loc 1 38 0 98 jmp mayret 99.LVL5: 100# SUCC: EXIT [100.0%] (ab,sibcall) 101 .cfi_endproc 102.LFE11: 103 .size tailcall, .-tailcall 104 .section .text.startup,"ax",@progbits 105 .p2align 4,,15 106 .globl main 107 .type main, @function 108main: 109.LFB12: 110 # gdb.arch/amd64-tailcall-noret.c:43 111 .loc 1 43 0 112 .cfi_startproc 113# BLOCK 2 freq:10000 seq:0 114# PRED: ENTRY [100.0%] (fallthru) 115 subq $8, %rsp 116.LCFI2: 117 .cfi_def_cfa_offset 16 118 # gdb.arch/amd64-tailcall-noret.c:44 119 .loc 1 44 0 120 movl $1, %edi 121 call tailcall 122.LVL6: 123 # gdb.arch/amd64-tailcall-noret.c:46 124 .loc 1 46 0 125 xorl %eax, %eax 126 addq $8, %rsp 127.LCFI3: 128 .cfi_def_cfa_offset 8 129# SUCC: EXIT [100.0%] 130 ret 131 .cfi_endproc 132.LFE12: 133 .size main, .-main 134 .globl v 135 .data 136 .align 4 137 .type v, @object 138 .size v, 4 139v: 140 .long 1 141 .text 142.Letext0: 143 .file 2 "/usr/include/stdlib.h" 144 .section .debug_info,"",@progbits 145.Ldebug_info0: 146 .long 0x19d # Length of Compilation Unit Info 147 .value 0x2 # DWARF version number 148 .long .Ldebug_abbrev0 # Offset Into Abbrev. Section 149 .byte 0x8 # Pointer Size (in bytes) 150 .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) 151 .long .LASF14 # DW_AT_producer: "GNU C 4.7.3 20130221 (prerelease)" 152 .byte 0x1 # DW_AT_language 153 .long .LASF15 # DW_AT_name: "gdb.arch/amd64-tailcall-noret.c" 154 .long .LASF16 # DW_AT_comp_dir: "" 155 .long .Ldebug_ranges0+0 # DW_AT_ranges 156 .quad 0 # DW_AT_low_pc 157 .quad 0 # DW_AT_entry_pc 158 .long .Ldebug_line0 # DW_AT_stmt_list 159 .uleb128 0x2 # (DIE (0x31) DW_TAG_base_type) 160 .byte 0x8 # DW_AT_byte_size 161 .byte 0x7 # DW_AT_encoding 162 .long .LASF0 # DW_AT_name: "long unsigned int" 163 .uleb128 0x3 # (DIE (0x38) DW_TAG_base_type) 164 .byte 0x4 # DW_AT_byte_size 165 .byte 0x5 # DW_AT_encoding 166 .ascii "int\0" # DW_AT_name 167 .uleb128 0x2 # (DIE (0x3f) DW_TAG_base_type) 168 .byte 0x1 # DW_AT_byte_size 169 .byte 0x8 # DW_AT_encoding 170 .long .LASF1 # DW_AT_name: "unsigned char" 171 .uleb128 0x2 # (DIE (0x46) DW_TAG_base_type) 172 .byte 0x2 # DW_AT_byte_size 173 .byte 0x7 # DW_AT_encoding 174 .long .LASF2 # DW_AT_name: "short unsigned int" 175 .uleb128 0x2 # (DIE (0x4d) DW_TAG_base_type) 176 .byte 0x4 # DW_AT_byte_size 177 .byte 0x7 # DW_AT_encoding 178 .long .LASF3 # DW_AT_name: "unsigned int" 179 .uleb128 0x2 # (DIE (0x54) DW_TAG_base_type) 180 .byte 0x1 # DW_AT_byte_size 181 .byte 0x6 # DW_AT_encoding 182 .long .LASF4 # DW_AT_name: "signed char" 183 .uleb128 0x2 # (DIE (0x5b) DW_TAG_base_type) 184 .byte 0x2 # DW_AT_byte_size 185 .byte 0x5 # DW_AT_encoding 186 .long .LASF5 # DW_AT_name: "short int" 187 .uleb128 0x2 # (DIE (0x62) DW_TAG_base_type) 188 .byte 0x8 # DW_AT_byte_size 189 .byte 0x5 # DW_AT_encoding 190 .long .LASF6 # DW_AT_name: "long int" 191 .uleb128 0x2 # (DIE (0x69) DW_TAG_base_type) 192 .byte 0x8 # DW_AT_byte_size 193 .byte 0x7 # DW_AT_encoding 194 .long .LASF7 # DW_AT_name: "sizetype" 195 .uleb128 0x2 # (DIE (0x70) DW_TAG_base_type) 196 .byte 0x1 # DW_AT_byte_size 197 .byte 0x6 # DW_AT_encoding 198 .long .LASF8 # DW_AT_name: "char" 199 .uleb128 0x2 # (DIE (0x77) DW_TAG_base_type) 200 .byte 0x8 # DW_AT_byte_size 201 .byte 0x5 # DW_AT_encoding 202 .long .LASF9 # DW_AT_name: "long long int" 203 .uleb128 0x2 # (DIE (0x7e) DW_TAG_base_type) 204 .byte 0x8 # DW_AT_byte_size 205 .byte 0x7 # DW_AT_encoding 206 .long .LASF10 # DW_AT_name: "long long unsigned int" 207 .uleb128 0x4 # (DIE (0x85) DW_TAG_volatile_type) 208 .long 0x38 # DW_AT_type 209 .uleb128 0x5 # (DIE (0x8a) DW_TAG_subprogram) 210 .long .LASF11 # DW_AT_name: "noret" 211 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 212 .byte 0x17 # DW_AT_decl_line 213 .byte 0x1 # DW_AT_prototyped 214 .quad .LFB9 # DW_AT_low_pc 215 .quad .LFE9 # DW_AT_high_pc 216 .long .LLST0 # DW_AT_frame_base 217 .byte 0x1 # DW_AT_GNU_all_call_sites 218 .long 0xc7 # DW_AT_sibling 219 .uleb128 0x6 # (DIE (0xab) DW_TAG_formal_parameter) 220 .ascii "x\0" # DW_AT_name 221 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 222 .byte 0x17 # DW_AT_decl_line 223 .long 0x38 # DW_AT_type 224 .long .LLST1 # DW_AT_location 225 .uleb128 0x7 # (DIE (0xb8) DW_TAG_unspecified_parameters) 226 .uleb128 0x8 # (DIE (0xb9) DW_TAG_GNU_call_site) 227 .quad .LVL1 # DW_AT_low_pc 228 .long 0x195 # DW_AT_abstract_origin 229 .byte 0 # end of children of DIE 0x8a 230 .uleb128 0x5 # (DIE (0xc7) DW_TAG_subprogram) 231 .long .LASF12 # DW_AT_name: "mayret" 232 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 233 .byte 0x1d # DW_AT_decl_line 234 .byte 0x1 # DW_AT_prototyped 235 .quad .LFB10 # DW_AT_low_pc 236 .quad .LFE10 # DW_AT_high_pc 237 .long .LLST2 # DW_AT_frame_base 238 .byte 0x1 # DW_AT_GNU_all_call_sites 239 .long 0x103 # DW_AT_sibling 240 .uleb128 0x6 # (DIE (0xe8) DW_TAG_formal_parameter) 241 .ascii "x\0" # DW_AT_name 242 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 243 .byte 0x1d # DW_AT_decl_line 244 .long 0x38 # DW_AT_type 245 .long .LLST3 # DW_AT_location 246 .uleb128 0x8 # (DIE (0xf5) DW_TAG_GNU_call_site) 247 .quad .LVL3 # DW_AT_low_pc 248 .long 0x8a # DW_AT_abstract_origin 249 .byte 0 # end of children of DIE 0xc7 250 .uleb128 0x9 # (DIE (0x103) DW_TAG_subprogram) 251 .long .LASF13 # DW_AT_name: "tailcall" 252 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 253 .byte 0x24 # DW_AT_decl_line 254 .byte 0x1 # DW_AT_prototyped 255 .quad .LFB11 # DW_AT_low_pc 256 .quad .LFE11 # DW_AT_high_pc 257 .byte 0x2 # DW_AT_frame_base 258 .byte 0x77 # DW_OP_breg7 259 .sleb128 8 260 .byte 0x1 # DW_AT_GNU_all_call_sites 261 .long 0x147 # DW_AT_sibling 262 .uleb128 0x6 # (DIE (0x123) DW_TAG_formal_parameter) 263 .ascii "x\0" # DW_AT_name 264 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 265 .byte 0x24 # DW_AT_decl_line 266 .long 0x38 # DW_AT_type 267 .long .LLST4 # DW_AT_location 268 .uleb128 0xa # (DIE (0x130) DW_TAG_GNU_call_site) 269 .quad .LVL5 # DW_AT_low_pc 270 .byte 0x1 # DW_AT_GNU_tail_call 271 .long 0xc7 # DW_AT_abstract_origin 272 .uleb128 0xb # (DIE (0x13e) DW_TAG_GNU_call_site_parameter) 273 .byte 0x1 # DW_AT_location 274 .byte 0x55 # DW_OP_reg5 275 .byte 0x3 # DW_AT_GNU_call_site_value 276 .byte 0xf3 # DW_OP_GNU_entry_value 277 .uleb128 0x1 278 .byte 0x55 # DW_OP_reg5 279 .byte 0 # end of children of DIE 0x130 280 .byte 0 # end of children of DIE 0x103 281 .uleb128 0xc # (DIE (0x147) DW_TAG_subprogram) 282 .byte 0x1 # DW_AT_external 283 .long .LASF17 # DW_AT_name: "main" 284 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 285 .byte 0x2a # DW_AT_decl_line 286 .byte 0x1 # DW_AT_prototyped 287 .long 0x38 # DW_AT_type 288 .quad .LFB12 # DW_AT_low_pc 289 .quad .LFE12 # DW_AT_high_pc 290 .long .LLST5 # DW_AT_frame_base 291 .byte 0x1 # DW_AT_GNU_all_call_sites 292 .long 0x181 # DW_AT_sibling 293 .uleb128 0xd # (DIE (0x16d) DW_TAG_GNU_call_site) 294 .quad .LVL6 # DW_AT_low_pc 295 .long 0x103 # DW_AT_abstract_origin 296 .uleb128 0xb # (DIE (0x17a) DW_TAG_GNU_call_site_parameter) 297 .byte 0x1 # DW_AT_location 298 .byte 0x55 # DW_OP_reg5 299 .byte 0x1 # DW_AT_GNU_call_site_value 300 .byte 0x31 # DW_OP_lit1 301 .byte 0 # end of children of DIE 0x16d 302 .byte 0 # end of children of DIE 0x147 303 .uleb128 0xe # (DIE (0x181) DW_TAG_variable) 304 .ascii "v\0" # DW_AT_name 305 .byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c) 306 .byte 0x14 # DW_AT_decl_line 307 .long 0x85 # DW_AT_type 308 .byte 0x1 # DW_AT_external 309 .byte 0x9 # DW_AT_location 310 .byte 0x3 # DW_OP_addr 311 .quad v 312 .uleb128 0xf # (DIE (0x195) DW_TAG_subprogram) 313 .byte 0x1 # DW_AT_external 314 .long .LASF18 # DW_AT_name: "abort" 315 .byte 0x2 # DW_AT_decl_file (/usr/include/stdlib.h) 316 .value 0x202 # DW_AT_decl_line 317 .byte 0x1 # DW_AT_prototyped 318 .byte 0x1 # DW_AT_declaration 319 .byte 0 # end of children of DIE 0xb 320 .section .debug_abbrev,"",@progbits 321.Ldebug_abbrev0: 322 .uleb128 0x1 # (abbrev code) 323 .uleb128 0x11 # (TAG: DW_TAG_compile_unit) 324 .byte 0x1 # DW_children_yes 325 .uleb128 0x25 # (DW_AT_producer) 326 .uleb128 0xe # (DW_FORM_strp) 327 .uleb128 0x13 # (DW_AT_language) 328 .uleb128 0xb # (DW_FORM_data1) 329 .uleb128 0x3 # (DW_AT_name) 330 .uleb128 0xe # (DW_FORM_strp) 331 .uleb128 0x1b # (DW_AT_comp_dir) 332 .uleb128 0xe # (DW_FORM_strp) 333 .uleb128 0x55 # (DW_AT_ranges) 334 .uleb128 0x6 # (DW_FORM_data4) 335 .uleb128 0x11 # (DW_AT_low_pc) 336 .uleb128 0x1 # (DW_FORM_addr) 337 .uleb128 0x52 # (DW_AT_entry_pc) 338 .uleb128 0x1 # (DW_FORM_addr) 339 .uleb128 0x10 # (DW_AT_stmt_list) 340 .uleb128 0x6 # (DW_FORM_data4) 341 .byte 0 342 .byte 0 343 .uleb128 0x2 # (abbrev code) 344 .uleb128 0x24 # (TAG: DW_TAG_base_type) 345 .byte 0 # DW_children_no 346 .uleb128 0xb # (DW_AT_byte_size) 347 .uleb128 0xb # (DW_FORM_data1) 348 .uleb128 0x3e # (DW_AT_encoding) 349 .uleb128 0xb # (DW_FORM_data1) 350 .uleb128 0x3 # (DW_AT_name) 351 .uleb128 0xe # (DW_FORM_strp) 352 .byte 0 353 .byte 0 354 .uleb128 0x3 # (abbrev code) 355 .uleb128 0x24 # (TAG: DW_TAG_base_type) 356 .byte 0 # DW_children_no 357 .uleb128 0xb # (DW_AT_byte_size) 358 .uleb128 0xb # (DW_FORM_data1) 359 .uleb128 0x3e # (DW_AT_encoding) 360 .uleb128 0xb # (DW_FORM_data1) 361 .uleb128 0x3 # (DW_AT_name) 362 .uleb128 0x8 # (DW_FORM_string) 363 .byte 0 364 .byte 0 365 .uleb128 0x4 # (abbrev code) 366 .uleb128 0x35 # (TAG: DW_TAG_volatile_type) 367 .byte 0 # DW_children_no 368 .uleb128 0x49 # (DW_AT_type) 369 .uleb128 0x13 # (DW_FORM_ref4) 370 .byte 0 371 .byte 0 372 .uleb128 0x5 # (abbrev code) 373 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 374 .byte 0x1 # DW_children_yes 375 .uleb128 0x3 # (DW_AT_name) 376 .uleb128 0xe # (DW_FORM_strp) 377 .uleb128 0x3a # (DW_AT_decl_file) 378 .uleb128 0xb # (DW_FORM_data1) 379 .uleb128 0x3b # (DW_AT_decl_line) 380 .uleb128 0xb # (DW_FORM_data1) 381 .uleb128 0x27 # (DW_AT_prototyped) 382 .uleb128 0xc # (DW_FORM_flag) 383 .uleb128 0x11 # (DW_AT_low_pc) 384 .uleb128 0x1 # (DW_FORM_addr) 385 .uleb128 0x12 # (DW_AT_high_pc) 386 .uleb128 0x1 # (DW_FORM_addr) 387 .uleb128 0x40 # (DW_AT_frame_base) 388 .uleb128 0x6 # (DW_FORM_data4) 389 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) 390 .uleb128 0xc # (DW_FORM_flag) 391 .uleb128 0x1 # (DW_AT_sibling) 392 .uleb128 0x13 # (DW_FORM_ref4) 393 .byte 0 394 .byte 0 395 .uleb128 0x6 # (abbrev code) 396 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) 397 .byte 0 # DW_children_no 398 .uleb128 0x3 # (DW_AT_name) 399 .uleb128 0x8 # (DW_FORM_string) 400 .uleb128 0x3a # (DW_AT_decl_file) 401 .uleb128 0xb # (DW_FORM_data1) 402 .uleb128 0x3b # (DW_AT_decl_line) 403 .uleb128 0xb # (DW_FORM_data1) 404 .uleb128 0x49 # (DW_AT_type) 405 .uleb128 0x13 # (DW_FORM_ref4) 406 .uleb128 0x2 # (DW_AT_location) 407 .uleb128 0x6 # (DW_FORM_data4) 408 .byte 0 409 .byte 0 410 .uleb128 0x7 # (abbrev code) 411 .uleb128 0x18 # (TAG: DW_TAG_unspecified_parameters) 412 .byte 0 # DW_children_no 413 .byte 0 414 .byte 0 415 .uleb128 0x8 # (abbrev code) 416 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) 417 .byte 0 # DW_children_no 418 .uleb128 0x11 # (DW_AT_low_pc) 419 .uleb128 0x1 # (DW_FORM_addr) 420 .uleb128 0x31 # (DW_AT_abstract_origin) 421 .uleb128 0x13 # (DW_FORM_ref4) 422 .byte 0 423 .byte 0 424 .uleb128 0x9 # (abbrev code) 425 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 426 .byte 0x1 # DW_children_yes 427 .uleb128 0x3 # (DW_AT_name) 428 .uleb128 0xe # (DW_FORM_strp) 429 .uleb128 0x3a # (DW_AT_decl_file) 430 .uleb128 0xb # (DW_FORM_data1) 431 .uleb128 0x3b # (DW_AT_decl_line) 432 .uleb128 0xb # (DW_FORM_data1) 433 .uleb128 0x27 # (DW_AT_prototyped) 434 .uleb128 0xc # (DW_FORM_flag) 435 .uleb128 0x11 # (DW_AT_low_pc) 436 .uleb128 0x1 # (DW_FORM_addr) 437 .uleb128 0x12 # (DW_AT_high_pc) 438 .uleb128 0x1 # (DW_FORM_addr) 439 .uleb128 0x40 # (DW_AT_frame_base) 440 .uleb128 0xa # (DW_FORM_block1) 441 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) 442 .uleb128 0xc # (DW_FORM_flag) 443 .uleb128 0x1 # (DW_AT_sibling) 444 .uleb128 0x13 # (DW_FORM_ref4) 445 .byte 0 446 .byte 0 447 .uleb128 0xa # (abbrev code) 448 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) 449 .byte 0x1 # DW_children_yes 450 .uleb128 0x11 # (DW_AT_low_pc) 451 .uleb128 0x1 # (DW_FORM_addr) 452 .uleb128 0x2115 # (DW_AT_GNU_tail_call) 453 .uleb128 0xc # (DW_FORM_flag) 454 .uleb128 0x31 # (DW_AT_abstract_origin) 455 .uleb128 0x13 # (DW_FORM_ref4) 456 .byte 0 457 .byte 0 458 .uleb128 0xb # (abbrev code) 459 .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter) 460 .byte 0 # DW_children_no 461 .uleb128 0x2 # (DW_AT_location) 462 .uleb128 0xa # (DW_FORM_block1) 463 .uleb128 0x2111 # (DW_AT_GNU_call_site_value) 464 .uleb128 0xa # (DW_FORM_block1) 465 .byte 0 466 .byte 0 467 .uleb128 0xc # (abbrev code) 468 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 469 .byte 0x1 # DW_children_yes 470 .uleb128 0x3f # (DW_AT_external) 471 .uleb128 0xc # (DW_FORM_flag) 472 .uleb128 0x3 # (DW_AT_name) 473 .uleb128 0xe # (DW_FORM_strp) 474 .uleb128 0x3a # (DW_AT_decl_file) 475 .uleb128 0xb # (DW_FORM_data1) 476 .uleb128 0x3b # (DW_AT_decl_line) 477 .uleb128 0xb # (DW_FORM_data1) 478 .uleb128 0x27 # (DW_AT_prototyped) 479 .uleb128 0xc # (DW_FORM_flag) 480 .uleb128 0x49 # (DW_AT_type) 481 .uleb128 0x13 # (DW_FORM_ref4) 482 .uleb128 0x11 # (DW_AT_low_pc) 483 .uleb128 0x1 # (DW_FORM_addr) 484 .uleb128 0x12 # (DW_AT_high_pc) 485 .uleb128 0x1 # (DW_FORM_addr) 486 .uleb128 0x40 # (DW_AT_frame_base) 487 .uleb128 0x6 # (DW_FORM_data4) 488 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) 489 .uleb128 0xc # (DW_FORM_flag) 490 .uleb128 0x1 # (DW_AT_sibling) 491 .uleb128 0x13 # (DW_FORM_ref4) 492 .byte 0 493 .byte 0 494 .uleb128 0xd # (abbrev code) 495 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) 496 .byte 0x1 # DW_children_yes 497 .uleb128 0x11 # (DW_AT_low_pc) 498 .uleb128 0x1 # (DW_FORM_addr) 499 .uleb128 0x31 # (DW_AT_abstract_origin) 500 .uleb128 0x13 # (DW_FORM_ref4) 501 .byte 0 502 .byte 0 503 .uleb128 0xe # (abbrev code) 504 .uleb128 0x34 # (TAG: DW_TAG_variable) 505 .byte 0 # DW_children_no 506 .uleb128 0x3 # (DW_AT_name) 507 .uleb128 0x8 # (DW_FORM_string) 508 .uleb128 0x3a # (DW_AT_decl_file) 509 .uleb128 0xb # (DW_FORM_data1) 510 .uleb128 0x3b # (DW_AT_decl_line) 511 .uleb128 0xb # (DW_FORM_data1) 512 .uleb128 0x49 # (DW_AT_type) 513 .uleb128 0x13 # (DW_FORM_ref4) 514 .uleb128 0x3f # (DW_AT_external) 515 .uleb128 0xc # (DW_FORM_flag) 516 .uleb128 0x2 # (DW_AT_location) 517 .uleb128 0xa # (DW_FORM_block1) 518 .byte 0 519 .byte 0 520 .uleb128 0xf # (abbrev code) 521 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 522 .byte 0 # DW_children_no 523 .uleb128 0x3f # (DW_AT_external) 524 .uleb128 0xc # (DW_FORM_flag) 525 .uleb128 0x3 # (DW_AT_name) 526 .uleb128 0xe # (DW_FORM_strp) 527 .uleb128 0x3a # (DW_AT_decl_file) 528 .uleb128 0xb # (DW_FORM_data1) 529 .uleb128 0x3b # (DW_AT_decl_line) 530 .uleb128 0x5 # (DW_FORM_data2) 531 .uleb128 0x27 # (DW_AT_prototyped) 532 .uleb128 0xc # (DW_FORM_flag) 533 .uleb128 0x3c # (DW_AT_declaration) 534 .uleb128 0xc # (DW_FORM_flag) 535 .byte 0 536 .byte 0 537 .byte 0 538 .section .debug_loc,"",@progbits 539.Ldebug_loc0: 540.LLST0: 541 .quad .LFB9 # Location list begin address (*.LLST0) 542 .quad .LCFI0 # Location list end address (*.LLST0) 543 .value 0x2 # Location expression size 544 .byte 0x77 # DW_OP_breg7 545 .sleb128 8 546 .quad .LCFI0 # Location list begin address (*.LLST0) 547 .quad .LFE9 # Location list end address (*.LLST0) 548 .value 0x2 # Location expression size 549 .byte 0x77 # DW_OP_breg7 550 .sleb128 16 551 .quad 0 # Location list terminator begin (*.LLST0) 552 .quad 0 # Location list terminator end (*.LLST0) 553.LLST1: 554 .quad .LVL0 # Location list begin address (*.LLST1) 555 .quad .LVL1-1 # Location list end address (*.LLST1) 556 .value 0x1 # Location expression size 557 .byte 0x55 # DW_OP_reg5 558 .quad .LVL1-1 # Location list begin address (*.LLST1) 559 .quad .LFE9 # Location list end address (*.LLST1) 560 .value 0x4 # Location expression size 561 .byte 0xf3 # DW_OP_GNU_entry_value 562 .uleb128 0x1 563 .byte 0x55 # DW_OP_reg5 564 .byte 0x9f # DW_OP_stack_value 565 .quad 0 # Location list terminator begin (*.LLST1) 566 .quad 0 # Location list terminator end (*.LLST1) 567.LLST2: 568 .quad .LFB10 # Location list begin address (*.LLST2) 569 .quad .LCFI1 # Location list end address (*.LLST2) 570 .value 0x2 # Location expression size 571 .byte 0x77 # DW_OP_breg7 572 .sleb128 8 573 .quad .LCFI1 # Location list begin address (*.LLST2) 574 .quad .LFE10 # Location list end address (*.LLST2) 575 .value 0x2 # Location expression size 576 .byte 0x77 # DW_OP_breg7 577 .sleb128 16 578 .quad 0 # Location list terminator begin (*.LLST2) 579 .quad 0 # Location list terminator end (*.LLST2) 580.LLST3: 581 .quad .LVL2 # Location list begin address (*.LLST3) 582 .quad .LVL3-1 # Location list end address (*.LLST3) 583 .value 0x1 # Location expression size 584 .byte 0x55 # DW_OP_reg5 585 .quad .LVL3-1 # Location list begin address (*.LLST3) 586 .quad .LFE10 # Location list end address (*.LLST3) 587 .value 0x4 # Location expression size 588 .byte 0xf3 # DW_OP_GNU_entry_value 589 .uleb128 0x1 590 .byte 0x55 # DW_OP_reg5 591 .byte 0x9f # DW_OP_stack_value 592 .quad 0 # Location list terminator begin (*.LLST3) 593 .quad 0 # Location list terminator end (*.LLST3) 594.LLST4: 595 .quad .LVL4 # Location list begin address (*.LLST4) 596 .quad .LVL5-1 # Location list end address (*.LLST4) 597 .value 0x1 # Location expression size 598 .byte 0x55 # DW_OP_reg5 599 .quad .LVL5-1 # Location list begin address (*.LLST4) 600 .quad .LFE11 # Location list end address (*.LLST4) 601 .value 0x4 # Location expression size 602 .byte 0xf3 # DW_OP_GNU_entry_value 603 .uleb128 0x1 604 .byte 0x55 # DW_OP_reg5 605 .byte 0x9f # DW_OP_stack_value 606 .quad 0 # Location list terminator begin (*.LLST4) 607 .quad 0 # Location list terminator end (*.LLST4) 608.LLST5: 609 .quad .LFB12 # Location list begin address (*.LLST5) 610 .quad .LCFI2 # Location list end address (*.LLST5) 611 .value 0x2 # Location expression size 612 .byte 0x77 # DW_OP_breg7 613 .sleb128 8 614 .quad .LCFI2 # Location list begin address (*.LLST5) 615 .quad .LCFI3 # Location list end address (*.LLST5) 616 .value 0x2 # Location expression size 617 .byte 0x77 # DW_OP_breg7 618 .sleb128 16 619 .quad .LCFI3 # Location list begin address (*.LLST5) 620 .quad .LFE12 # Location list end address (*.LLST5) 621 .value 0x2 # Location expression size 622 .byte 0x77 # DW_OP_breg7 623 .sleb128 8 624 .quad 0 # Location list terminator begin (*.LLST5) 625 .quad 0 # Location list terminator end (*.LLST5) 626 .section .debug_aranges,"",@progbits 627 .long 0x4c # Length of Address Ranges Info 628 .value 0x2 # DWARF Version 629 .long .Ldebug_info0 # Offset of Compilation Unit Info 630 .byte 0x8 # Size of Address 631 .byte 0 # Size of Segment Descriptor 632 .value 0 # Pad to 16 byte boundary 633 .value 0 634 .quad .Ltext0 # Address 635 .quad .Letext0-.Ltext0 # Length 636 .quad .LFB9 # Address 637 .quad .LFE9-.LFB9 # Length 638 .quad .LFB12 # Address 639 .quad .LFE12-.LFB12 # Length 640 .quad 0 641 .quad 0 642 .section .debug_ranges,"",@progbits 643.Ldebug_ranges0: 644 .quad .Ltext0 # Offset 0 645 .quad .Letext0 646 .quad .LFB9 # Offset 0x10 647 .quad .LFE9 648 .quad .LFB12 # Offset 0x20 649 .quad .LFE12 650 .quad 0 651 .quad 0 652 .section .debug_line,"",@progbits 653.Ldebug_line0: 654 .section .debug_str,"MS",@progbits,1 655.LASF9: 656 .string "long long int" 657.LASF14: 658 .string "GNU C 4.7.3 20130221 (prerelease)" 659.LASF3: 660 .string "unsigned int" 661.LASF17: 662 .string "main" 663.LASF0: 664 .string "long unsigned int" 665.LASF10: 666 .string "long long unsigned int" 667.LASF16: 668 .string "" 669.LASF13: 670 .string "tailcall" 671.LASF1: 672 .string "unsigned char" 673.LASF8: 674 .string "char" 675.LASF6: 676 .string "long int" 677.LASF11: 678 .string "noret" 679.LASF2: 680 .string "short unsigned int" 681.LASF4: 682 .string "signed char" 683.LASF12: 684 .string "mayret" 685.LASF18: 686 .string "abort" 687.LASF5: 688 .string "short int" 689.LASF7: 690 .string "sizetype" 691.LASF15: 692 .string "gdb.arch/amd64-tailcall-noret.c" 693 .ident "GCC: (GNU) 4.7.3 20130221 (prerelease)" 694 .section .note.GNU-stack,"",@progbits 695