OLD | NEW |
(Empty) | |
| 1 /* This testcase is part of GDB, the GNU debugger. |
| 2 |
| 3 Copyright 2013 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 |
| 27 noret: |
| 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 |
| 50 mayret: |
| 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 |
| 88 tailcall: |
| 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 |
| 108 main: |
| 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 |
| 139 v: |
| 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 |
OLD | NEW |