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