1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2011-2016 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 from clztest.c using the following 19 command line: 20 21 gcc -dA -S -g -O2 clztest.c -o clztest.S 22 23*/ 24 25 .file "clztest.c" 26 .text 27.Ltext0: 28 .p2align 4,,15 29 .globl foo 30 .type foo, @function 31foo: 32.LFB0: 33 # clztest.c:8 34.LM1: 35.LVL0: 36# BLOCK 2 freq:10000 seq:0 37# PRED: ENTRY [100.0%] (fallthru) 38 # clztest.c:9 39.LM2: 40 bsrq %rdi, %rax 41 xorl $63, %eax 42 cltq 43.LVL1: 44 # clztest.c:11 45.LM3: 46.LVL2: 47 # clztest.c:12 48.LM4: 49 movl vv(%rip), %edx 50 addl $1, %edx 51 movl %edx, vv(%rip) 52# SUCC: EXIT [100.0%] 53 # clztest.c:14 54.LM5: 55 ret 56.LFE0: 57 .size foo, .-foo 58 .p2align 4,,15 59 .globl bar 60 .type bar, @function 61bar: 62.LFB1: 63 # clztest.c:18 64.LM6: 65.LVL3: 66# BLOCK 2 freq:10000 seq:0 67# PRED: ENTRY [100.0%] (fallthru) 68 # clztest.c:19 69.LM7: 70 bsrq %rdi, %rax 71 xorl $63, %eax 72 cltq 73.LVL4: 74 # clztest.c:21 75.LM8: 76.LVL5: 77 # clztest.c:22 78.LM9: 79 movl vv(%rip), %edx 80 addl $1, %edx 81 movl %edx, vv(%rip) 82# SUCC: EXIT [100.0%] 83 # clztest.c:24 84.LM10: 85 ret 86.LFE1: 87 .size bar, .-bar 88 .section .text.startup,"ax",@progbits 89 .p2align 4,,15 90 .globl _start 91 .type _start, @function 92_start: 93.LFB2: 94 # clztest.c:28 95.LM11: 96# BLOCK 2 freq:10000 seq:0 97# PRED: ENTRY [100.0%] (fallthru) 98 pushq %rbx 99.LCFI0: 100 # clztest.c:29 101.LM12: 102 movl vv(%rip), %ebx 103.LVL6: 104 # clztest.c:30 105.LM13: 106 movslq %ebx, %rbx 107.LVL7: 108 leaq 1193046(%rbx), %rdi 109 call foo 110.LVL8: 111 # clztest.c:31 112.LM14: 113 leaq 2147483647(%rbx), %rdi 114 call bar 115.LVL9: 116 # clztest.c:33 117.LM15: 118 xorl %eax, %eax 119 popq %rbx 120.LCFI1: 121.LVL10: 122# SUCC: EXIT [100.0%] 123 ret 124.LFE2: 125 .size _start, .-_start 126 .comm vv,4,4 127#APP 128 .section .debug_frame,"",@progbits 129.Lframe0: 130 .long .LECIE0-.LSCIE0 # Length of Common Information Entry 131.LSCIE0: 132 .long 0xffffffff # CIE Identifier Tag 133 .byte 0x1 # CIE Version 134 .ascii "\0" # CIE Augmentation 135 .uleb128 0x1 # CIE Code Alignment Factor 136 .sleb128 -8 # CIE Data Alignment Factor 137 .byte 0x10 # CIE RA Column 138 .byte 0xc # DW_CFA_def_cfa 139 .uleb128 0x7 140 .uleb128 0x8 141 .byte 0x90 # DW_CFA_offset, column 0x10 142 .uleb128 0x1 143 .align 8 144.LECIE0: 145.LSFDE0: 146 .long .LEFDE0-.LASFDE0 # FDE Length 147.LASFDE0: 148 .long .Lframe0 # FDE CIE offset 149 .quad .LFB0 # FDE initial location 150 .quad .LFE0-.LFB0 # FDE address range 151 .align 8 152.LEFDE0: 153.LSFDE2: 154 .long .LEFDE2-.LASFDE2 # FDE Length 155.LASFDE2: 156 .long .Lframe0 # FDE CIE offset 157 .quad .LFB1 # FDE initial location 158 .quad .LFE1-.LFB1 # FDE address range 159 .align 8 160.LEFDE2: 161.LSFDE4: 162 .long .LEFDE4-.LASFDE4 # FDE Length 163.LASFDE4: 164 .long .Lframe0 # FDE CIE offset 165 .quad .LFB2 # FDE initial location 166 .quad .LFE2-.LFB2 # FDE address range 167 .byte 0x4 # DW_CFA_advance_loc4 168 .long .LCFI0-.LFB2 169 .byte 0xe # DW_CFA_def_cfa_offset 170 .uleb128 0x10 171 .byte 0x83 # DW_CFA_offset, column 0x3 172 .uleb128 0x2 173 .byte 0x4 # DW_CFA_advance_loc4 174 .long .LCFI1-.LCFI0 175 .byte 0xe # DW_CFA_def_cfa_offset 176 .uleb128 0x8 177 .align 8 178.LEFDE4: 179#NO_APP 180#APP 181 .section .eh_frame,"aw",@progbits 182.Lframe1: 183 .long .LECIE1-.LSCIE1 # Length of Common Information Entry 184.LSCIE1: 185 .long 0 # CIE Identifier Tag 186 .byte 0x1 # CIE Version 187 .ascii "zR\0" # CIE Augmentation 188 .uleb128 0x1 # CIE Code Alignment Factor 189 .sleb128 -8 # CIE Data Alignment Factor 190 .byte 0x10 # CIE RA Column 191 .uleb128 0x1 # Augmentation size 192 .byte 0x3 # FDE Encoding (udata4) 193 .byte 0xc # DW_CFA_def_cfa 194 .uleb128 0x7 195 .uleb128 0x8 196 .byte 0x90 # DW_CFA_offset, column 0x10 197 .uleb128 0x1 198 .align 8 199.LECIE1: 200.LSFDE7: 201 .long .LEFDE7-.LASFDE7 # FDE Length 202.LASFDE7: 203 .long .LASFDE7-.Lframe1 # FDE CIE offset 204 .long .LFB0 # FDE initial location 205 .long .LFE0-.LFB0 # FDE address range 206 .uleb128 0 # Augmentation size 207 .align 8 208.LEFDE7: 209.LSFDE9: 210 .long .LEFDE9-.LASFDE9 # FDE Length 211.LASFDE9: 212 .long .LASFDE9-.Lframe1 # FDE CIE offset 213 .long .LFB1 # FDE initial location 214 .long .LFE1-.LFB1 # FDE address range 215 .uleb128 0 # Augmentation size 216 .align 8 217.LEFDE9: 218.LSFDE11: 219 .long .LEFDE11-.LASFDE11 # FDE Length 220.LASFDE11: 221 .long .LASFDE11-.Lframe1 # FDE CIE offset 222 .long .LFB2 # FDE initial location 223 .long .LFE2-.LFB2 # FDE address range 224 .uleb128 0 # Augmentation size 225 .byte 0x4 # DW_CFA_advance_loc4 226 .long .LCFI0-.LFB2 227 .byte 0xe # DW_CFA_def_cfa_offset 228 .uleb128 0x10 229 .byte 0x83 # DW_CFA_offset, column 0x3 230 .uleb128 0x2 231 .byte 0x4 # DW_CFA_advance_loc4 232 .long .LCFI1-.LCFI0 233 .byte 0xe # DW_CFA_def_cfa_offset 234 .uleb128 0x8 235 .align 8 236.LEFDE11: 237#NO_APP 238 .text 239.Letext0: 240 .section .debug_info,"",@progbits 241.Ldebug_info0: 242 .long 0x15a # Length of Compilation Unit Info 243 .value 0x2 # DWARF version number 244 .long .Ldebug_abbrev0 # Offset Into Abbrev. Section 245 .byte 0x8 # Pointer Size (in bytes) 246 .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) 247 .long .LASF1 # DW_AT_producer: "GNU C 4.7.0 20110511 (experimental)" 248 .byte 0x1 # DW_AT_language 249 .long .LASF2 # DW_AT_name: "clztest.c" 250 .long .LASF3 # DW_AT_comp_dir: "/usr/src/gcc/obj/gcc" 251 .long .Ldebug_ranges0+0 # DW_AT_ranges 252 .quad 0 # DW_AT_low_pc 253 .quad 0 # DW_AT_entry_pc 254 .long .Ldebug_line0 # DW_AT_stmt_list 255 .uleb128 0x2 # (DIE (0x31) DW_TAG_subprogram) 256 .byte 0x1 # DW_AT_external 257 .ascii "foo\0" # DW_AT_name 258 .byte 0x1 # DW_AT_decl_file (clztest.c) 259 .byte 0x7 # DW_AT_decl_line 260 .byte 0x1 # DW_AT_prototyped 261 .long 0x7a # DW_AT_type 262 .quad .LFB0 # DW_AT_low_pc 263 .quad .LFE0 # DW_AT_high_pc 264 .byte 0x2 # DW_AT_frame_base 265 .byte 0x77 # DW_OP_breg7 266 .sleb128 8 267 .byte 0x1 # DW_AT_GNU_all_call_sites 268 .long 0x7a # DW_AT_sibling 269 .uleb128 0x3 # (DIE (0x56) DW_TAG_formal_parameter) 270 .ascii "x\0" # DW_AT_name 271 .byte 0x1 # DW_AT_decl_file (clztest.c) 272 .byte 0x7 # DW_AT_decl_line 273 .long 0x7a # DW_AT_type 274 .byte 0x1 # DW_AT_location 275 .byte 0x55 # DW_OP_reg5 276 .uleb128 0x4 # (DIE (0x61) DW_TAG_variable) 277 .ascii "f\0" # DW_AT_name 278 .byte 0x1 # DW_AT_decl_file (clztest.c) 279 .byte 0x9 # DW_AT_decl_line 280 .long 0x7a # DW_AT_type 281 .byte 0x1 # DW_AT_location 282 .byte 0x50 # DW_OP_reg0 283 .uleb128 0x5 # (DIE (0x6c) DW_TAG_variable) 284 .ascii "g\0" # DW_AT_name 285 .byte 0x1 # DW_AT_decl_file (clztest.c) 286 .byte 0xa # DW_AT_decl_line 287 .long 0x7a # DW_AT_type 288 .long .LLST0 # DW_AT_location 289 .byte 0 # end of children of DIE 0x31 290 .uleb128 0x6 # (DIE (0x7a) DW_TAG_base_type) 291 .byte 0x8 # DW_AT_byte_size 292 .byte 0x5 # DW_AT_encoding 293 .long .LASF0 # DW_AT_name: "long int" 294 .uleb128 0x2 # (DIE (0x81) DW_TAG_subprogram) 295 .byte 0x1 # DW_AT_external 296 .ascii "bar\0" # DW_AT_name 297 .byte 0x1 # DW_AT_decl_file (clztest.c) 298 .byte 0x11 # DW_AT_decl_line 299 .byte 0x1 # DW_AT_prototyped 300 .long 0x7a # DW_AT_type 301 .quad .LFB1 # DW_AT_low_pc 302 .quad .LFE1 # DW_AT_high_pc 303 .byte 0x2 # DW_AT_frame_base 304 .byte 0x77 # DW_OP_breg7 305 .sleb128 8 306 .byte 0x1 # DW_AT_GNU_all_call_sites 307 .long 0xca # DW_AT_sibling 308 .uleb128 0x3 # (DIE (0xa6) DW_TAG_formal_parameter) 309 .ascii "x\0" # DW_AT_name 310 .byte 0x1 # DW_AT_decl_file (clztest.c) 311 .byte 0x11 # DW_AT_decl_line 312 .long 0x7a # DW_AT_type 313 .byte 0x1 # DW_AT_location 314 .byte 0x55 # DW_OP_reg5 315 .uleb128 0x4 # (DIE (0xb1) DW_TAG_variable) 316 .ascii "f\0" # DW_AT_name 317 .byte 0x1 # DW_AT_decl_file (clztest.c) 318 .byte 0x13 # DW_AT_decl_line 319 .long 0x7a # DW_AT_type 320 .byte 0x1 # DW_AT_location 321 .byte 0x50 # DW_OP_reg0 322 .uleb128 0x5 # (DIE (0xbc) DW_TAG_variable) 323 .ascii "g\0" # DW_AT_name 324 .byte 0x1 # DW_AT_decl_file (clztest.c) 325 .byte 0x14 # DW_AT_decl_line 326 .long 0x7a # DW_AT_type 327 .long .LLST1 # DW_AT_location 328 .byte 0 # end of children of DIE 0x81 329 .uleb128 0x7 # (DIE (0xca) DW_TAG_subprogram) 330 .byte 0x1 # DW_AT_external 331 .long .LASF4 # DW_AT_name: "main" 332 .byte 0x1 # DW_AT_decl_file (clztest.c) 333 .byte 0x1b # DW_AT_decl_line 334 .long 0x130 # DW_AT_type 335 .quad .LFB2 # DW_AT_low_pc 336 .quad .LFE2 # DW_AT_high_pc 337 .long .LLST2 # DW_AT_frame_base 338 .byte 0x1 # DW_AT_GNU_all_call_sites 339 .long 0x130 # DW_AT_sibling 340 .uleb128 0x5 # (DIE (0xef) DW_TAG_variable) 341 .ascii "x\0" # DW_AT_name 342 .byte 0x1 # DW_AT_decl_file (clztest.c) 343 .byte 0x1d # DW_AT_decl_line 344 .long 0x7a # DW_AT_type 345 .long .LLST3 # DW_AT_location 346 .uleb128 0x8 # (DIE (0xfc) DW_TAG_GNU_call_site) 347 .quad .LVL8 # DW_AT_low_pc 348 .long 0x31 # DW_AT_abstract_origin 349 .long 0x117 # DW_AT_sibling 350 .uleb128 0x9 # (DIE (0x10d) DW_TAG_GNU_call_site_parameter) 351 .byte 0x1 # DW_AT_location 352 .byte 0x55 # DW_OP_reg5 353 .byte 0x5 # DW_AT_GNU_call_site_value 354 .byte 0x73 # DW_OP_breg3 355 .sleb128 1193046 356 .byte 0 # end of children of DIE 0xfc 357 .uleb128 0xa # (DIE (0x117) DW_TAG_GNU_call_site) 358 .quad .LVL9 # DW_AT_low_pc 359 .long 0x81 # DW_AT_abstract_origin 360 .uleb128 0x9 # (DIE (0x124) DW_TAG_GNU_call_site_parameter) 361 .byte 0x1 # DW_AT_location 362 .byte 0x55 # DW_OP_reg5 363 .byte 0x6 # DW_AT_GNU_call_site_value 364 .byte 0x73 # DW_OP_breg3 365 .sleb128 2147483647 366 .byte 0 # end of children of DIE 0x117 367 .byte 0 # end of children of DIE 0xca 368 .uleb128 0xb # (DIE (0x130) DW_TAG_base_type) 369 .byte 0x4 # DW_AT_byte_size 370 .byte 0x5 # DW_AT_encoding 371 .ascii "int\0" # DW_AT_name 372 .uleb128 0xc # (DIE (0x137) DW_TAG_variable) 373 .ascii "vv\0" # DW_AT_name 374 .byte 0x1 # DW_AT_decl_file (clztest.c) 375 .byte 0x4 # DW_AT_decl_line 376 .long 0x143 # DW_AT_type 377 .byte 0x1 # DW_AT_external 378 .byte 0x1 # DW_AT_declaration 379 .uleb128 0xd # (DIE (0x143) DW_TAG_volatile_type) 380 .long 0x130 # DW_AT_type 381 .uleb128 0xe # (DIE (0x148) DW_TAG_variable) 382 .ascii "vv\0" # DW_AT_name 383 .byte 0x1 # DW_AT_decl_file (clztest.c) 384 .byte 0x4 # DW_AT_decl_line 385 .long 0x143 # DW_AT_type 386 .byte 0x1 # DW_AT_external 387 .byte 0x9 # DW_AT_location 388 .byte 0x3 # DW_OP_addr 389 .quad vv 390 .byte 0 # end of children of DIE 0xb 391 .section .debug_abbrev,"",@progbits 392.Ldebug_abbrev0: 393 .uleb128 0x1 # (abbrev code) 394 .uleb128 0x11 # (TAG: DW_TAG_compile_unit) 395 .byte 0x1 # DW_children_yes 396 .uleb128 0x25 # (DW_AT_producer) 397 .uleb128 0xe # (DW_FORM_strp) 398 .uleb128 0x13 # (DW_AT_language) 399 .uleb128 0xb # (DW_FORM_data1) 400 .uleb128 0x3 # (DW_AT_name) 401 .uleb128 0xe # (DW_FORM_strp) 402 .uleb128 0x1b # (DW_AT_comp_dir) 403 .uleb128 0xe # (DW_FORM_strp) 404 .uleb128 0x55 # (DW_AT_ranges) 405 .uleb128 0x6 # (DW_FORM_data4) 406 .uleb128 0x11 # (DW_AT_low_pc) 407 .uleb128 0x1 # (DW_FORM_addr) 408 .uleb128 0x52 # (DW_AT_entry_pc) 409 .uleb128 0x1 # (DW_FORM_addr) 410 .uleb128 0x10 # (DW_AT_stmt_list) 411 .uleb128 0x6 # (DW_FORM_data4) 412 .byte 0 413 .byte 0 414 .uleb128 0x2 # (abbrev code) 415 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 416 .byte 0x1 # DW_children_yes 417 .uleb128 0x3f # (DW_AT_external) 418 .uleb128 0xc # (DW_FORM_flag) 419 .uleb128 0x3 # (DW_AT_name) 420 .uleb128 0x8 # (DW_FORM_string) 421 .uleb128 0x3a # (DW_AT_decl_file) 422 .uleb128 0xb # (DW_FORM_data1) 423 .uleb128 0x3b # (DW_AT_decl_line) 424 .uleb128 0xb # (DW_FORM_data1) 425 .uleb128 0x27 # (DW_AT_prototyped) 426 .uleb128 0xc # (DW_FORM_flag) 427 .uleb128 0x49 # (DW_AT_type) 428 .uleb128 0x13 # (DW_FORM_ref4) 429 .uleb128 0x11 # (DW_AT_low_pc) 430 .uleb128 0x1 # (DW_FORM_addr) 431 .uleb128 0x12 # (DW_AT_high_pc) 432 .uleb128 0x1 # (DW_FORM_addr) 433 .uleb128 0x40 # (DW_AT_frame_base) 434 .uleb128 0xa # (DW_FORM_block1) 435 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) 436 .uleb128 0xc # (DW_FORM_flag) 437 .uleb128 0x1 # (DW_AT_sibling) 438 .uleb128 0x13 # (DW_FORM_ref4) 439 .byte 0 440 .byte 0 441 .uleb128 0x3 # (abbrev code) 442 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) 443 .byte 0 # DW_children_no 444 .uleb128 0x3 # (DW_AT_name) 445 .uleb128 0x8 # (DW_FORM_string) 446 .uleb128 0x3a # (DW_AT_decl_file) 447 .uleb128 0xb # (DW_FORM_data1) 448 .uleb128 0x3b # (DW_AT_decl_line) 449 .uleb128 0xb # (DW_FORM_data1) 450 .uleb128 0x49 # (DW_AT_type) 451 .uleb128 0x13 # (DW_FORM_ref4) 452 .uleb128 0x2 # (DW_AT_location) 453 .uleb128 0xa # (DW_FORM_block1) 454 .byte 0 455 .byte 0 456 .uleb128 0x4 # (abbrev code) 457 .uleb128 0x34 # (TAG: DW_TAG_variable) 458 .byte 0 # DW_children_no 459 .uleb128 0x3 # (DW_AT_name) 460 .uleb128 0x8 # (DW_FORM_string) 461 .uleb128 0x3a # (DW_AT_decl_file) 462 .uleb128 0xb # (DW_FORM_data1) 463 .uleb128 0x3b # (DW_AT_decl_line) 464 .uleb128 0xb # (DW_FORM_data1) 465 .uleb128 0x49 # (DW_AT_type) 466 .uleb128 0x13 # (DW_FORM_ref4) 467 .uleb128 0x2 # (DW_AT_location) 468 .uleb128 0xa # (DW_FORM_block1) 469 .byte 0 470 .byte 0 471 .uleb128 0x5 # (abbrev code) 472 .uleb128 0x34 # (TAG: DW_TAG_variable) 473 .byte 0 # DW_children_no 474 .uleb128 0x3 # (DW_AT_name) 475 .uleb128 0x8 # (DW_FORM_string) 476 .uleb128 0x3a # (DW_AT_decl_file) 477 .uleb128 0xb # (DW_FORM_data1) 478 .uleb128 0x3b # (DW_AT_decl_line) 479 .uleb128 0xb # (DW_FORM_data1) 480 .uleb128 0x49 # (DW_AT_type) 481 .uleb128 0x13 # (DW_FORM_ref4) 482 .uleb128 0x2 # (DW_AT_location) 483 .uleb128 0x6 # (DW_FORM_data4) 484 .byte 0 485 .byte 0 486 .uleb128 0x6 # (abbrev code) 487 .uleb128 0x24 # (TAG: DW_TAG_base_type) 488 .byte 0 # DW_children_no 489 .uleb128 0xb # (DW_AT_byte_size) 490 .uleb128 0xb # (DW_FORM_data1) 491 .uleb128 0x3e # (DW_AT_encoding) 492 .uleb128 0xb # (DW_FORM_data1) 493 .uleb128 0x3 # (DW_AT_name) 494 .uleb128 0xe # (DW_FORM_strp) 495 .byte 0 496 .byte 0 497 .uleb128 0x7 # (abbrev code) 498 .uleb128 0x2e # (TAG: DW_TAG_subprogram) 499 .byte 0x1 # DW_children_yes 500 .uleb128 0x3f # (DW_AT_external) 501 .uleb128 0xc # (DW_FORM_flag) 502 .uleb128 0x3 # (DW_AT_name) 503 .uleb128 0xe # (DW_FORM_strp) 504 .uleb128 0x3a # (DW_AT_decl_file) 505 .uleb128 0xb # (DW_FORM_data1) 506 .uleb128 0x3b # (DW_AT_decl_line) 507 .uleb128 0xb # (DW_FORM_data1) 508 .uleb128 0x49 # (DW_AT_type) 509 .uleb128 0x13 # (DW_FORM_ref4) 510 .uleb128 0x11 # (DW_AT_low_pc) 511 .uleb128 0x1 # (DW_FORM_addr) 512 .uleb128 0x12 # (DW_AT_high_pc) 513 .uleb128 0x1 # (DW_FORM_addr) 514 .uleb128 0x40 # (DW_AT_frame_base) 515 .uleb128 0x6 # (DW_FORM_data4) 516 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) 517 .uleb128 0xc # (DW_FORM_flag) 518 .uleb128 0x1 # (DW_AT_sibling) 519 .uleb128 0x13 # (DW_FORM_ref4) 520 .byte 0 521 .byte 0 522 .uleb128 0x8 # (abbrev code) 523 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) 524 .byte 0x1 # DW_children_yes 525 .uleb128 0x11 # (DW_AT_low_pc) 526 .uleb128 0x1 # (DW_FORM_addr) 527 .uleb128 0x31 # (DW_AT_abstract_origin) 528 .uleb128 0x13 # (DW_FORM_ref4) 529 .uleb128 0x1 # (DW_AT_sibling) 530 .uleb128 0x13 # (DW_FORM_ref4) 531 .byte 0 532 .byte 0 533 .uleb128 0x9 # (abbrev code) 534 .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter) 535 .byte 0 # DW_children_no 536 .uleb128 0x2 # (DW_AT_location) 537 .uleb128 0xa # (DW_FORM_block1) 538 .uleb128 0x2111 # (DW_AT_GNU_call_site_value) 539 .uleb128 0xa # (DW_FORM_block1) 540 .byte 0 541 .byte 0 542 .uleb128 0xa # (abbrev code) 543 .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) 544 .byte 0x1 # DW_children_yes 545 .uleb128 0x11 # (DW_AT_low_pc) 546 .uleb128 0x1 # (DW_FORM_addr) 547 .uleb128 0x31 # (DW_AT_abstract_origin) 548 .uleb128 0x13 # (DW_FORM_ref4) 549 .byte 0 550 .byte 0 551 .uleb128 0xb # (abbrev code) 552 .uleb128 0x24 # (TAG: DW_TAG_base_type) 553 .byte 0 # DW_children_no 554 .uleb128 0xb # (DW_AT_byte_size) 555 .uleb128 0xb # (DW_FORM_data1) 556 .uleb128 0x3e # (DW_AT_encoding) 557 .uleb128 0xb # (DW_FORM_data1) 558 .uleb128 0x3 # (DW_AT_name) 559 .uleb128 0x8 # (DW_FORM_string) 560 .byte 0 561 .byte 0 562 .uleb128 0xc # (abbrev code) 563 .uleb128 0x34 # (TAG: DW_TAG_variable) 564 .byte 0 # DW_children_no 565 .uleb128 0x3 # (DW_AT_name) 566 .uleb128 0x8 # (DW_FORM_string) 567 .uleb128 0x3a # (DW_AT_decl_file) 568 .uleb128 0xb # (DW_FORM_data1) 569 .uleb128 0x3b # (DW_AT_decl_line) 570 .uleb128 0xb # (DW_FORM_data1) 571 .uleb128 0x49 # (DW_AT_type) 572 .uleb128 0x13 # (DW_FORM_ref4) 573 .uleb128 0x3f # (DW_AT_external) 574 .uleb128 0xc # (DW_FORM_flag) 575 .uleb128 0x3c # (DW_AT_declaration) 576 .uleb128 0xc # (DW_FORM_flag) 577 .byte 0 578 .byte 0 579 .uleb128 0xd # (abbrev code) 580 .uleb128 0x35 # (TAG: DW_TAG_volatile_type) 581 .byte 0 # DW_children_no 582 .uleb128 0x49 # (DW_AT_type) 583 .uleb128 0x13 # (DW_FORM_ref4) 584 .byte 0 585 .byte 0 586 .uleb128 0xe # (abbrev code) 587 .uleb128 0x34 # (TAG: DW_TAG_variable) 588 .byte 0 # DW_children_no 589 .uleb128 0x3 # (DW_AT_name) 590 .uleb128 0x8 # (DW_FORM_string) 591 .uleb128 0x3a # (DW_AT_decl_file) 592 .uleb128 0xb # (DW_FORM_data1) 593 .uleb128 0x3b # (DW_AT_decl_line) 594 .uleb128 0xb # (DW_FORM_data1) 595 .uleb128 0x49 # (DW_AT_type) 596 .uleb128 0x13 # (DW_FORM_ref4) 597 .uleb128 0x3f # (DW_AT_external) 598 .uleb128 0xc # (DW_FORM_flag) 599 .uleb128 0x2 # (DW_AT_location) 600 .uleb128 0xa # (DW_FORM_block1) 601 .byte 0 602 .byte 0 603 .byte 0 604 .section .debug_loc,"",@progbits 605.Ldebug_loc0: 606.LLST0: 607 .quad .LVL1 # Location list begin address (*.LLST0) 608 .quad .LVL2 # Location list end address (*.LLST0) 609 .value 0x1 # Location expression size 610 .byte 0x50 # DW_OP_reg0 611 .quad .LVL2 # Location list begin address (*.LLST0) 612 .quad .LFE0 # Location list end address (*.LLST0) 613 .value 0x36 # Location expression size 614 .byte 0x8 # DW_OP_const1u 615 .byte 0x3f 616 .byte 0x75 # DW_OP_breg5 617 .sleb128 0 618 .byte 0x12 # DW_OP_dup 619 .byte 0x28 # DW_OP_bra 620 .value 0x6 621 .byte 0x13 # DW_OP_drop 622 .byte 0x8 # DW_OP_const1u 623 .byte 0x40 624 .byte 0x2f # DW_OP_skip 625 .value 0x1c 626 .byte 0x30 # DW_OP_lit0 627 .byte 0x16 # DW_OP_swap 628 .byte 0x12 # DW_OP_dup 629 .byte 0x10 # DW_OP_constu 630 .uleb128 0x8000000000000000 631 .byte 0x1a # DW_OP_and 632 .byte 0x28 # DW_OP_bra 633 .value 0x9 634 .byte 0x31 # DW_OP_lit1 635 .byte 0x24 # DW_OP_shl 636 .byte 0x16 # DW_OP_swap 637 .byte 0x23 # DW_OP_plus_uconst 638 .uleb128 0x1 639 .byte 0x16 # DW_OP_swap 640 .byte 0x2f # DW_OP_skip 641 .value 0xffe7 642 .byte 0x13 # DW_OP_drop 643 .byte 0x96 # DW_OP_nop 644 .byte 0x1c # DW_OP_minus 645 .byte 0x8 # DW_OP_const1u 646 .byte 0x3f 647 .byte 0x27 # DW_OP_xor 648 .byte 0x8 # DW_OP_const1u 649 .byte 0x20 650 .byte 0x24 # DW_OP_shl 651 .byte 0x8 # DW_OP_const1u 652 .byte 0x20 653 .byte 0x26 # DW_OP_shra 654 .byte 0x9f # DW_OP_stack_value 655 .quad 0 # Location list terminator begin (*.LLST0) 656 .quad 0 # Location list terminator end (*.LLST0) 657.LLST1: 658 .quad .LVL4 # Location list begin address (*.LLST1) 659 .quad .LVL5 # Location list end address (*.LLST1) 660 .value 0x1 # Location expression size 661 .byte 0x50 # DW_OP_reg0 662 .quad .LVL5 # Location list begin address (*.LLST1) 663 .quad .LFE1 # Location list end address (*.LLST1) 664 .value 0x36 # Location expression size 665 .byte 0x8 # DW_OP_const1u 666 .byte 0x3f 667 .byte 0x75 # DW_OP_breg5 668 .sleb128 0 669 .byte 0x12 # DW_OP_dup 670 .byte 0x28 # DW_OP_bra 671 .value 0x6 672 .byte 0x13 # DW_OP_drop 673 .byte 0x8 # DW_OP_const1u 674 .byte 0x40 675 .byte 0x2f # DW_OP_skip 676 .value 0x1c 677 .byte 0x30 # DW_OP_lit0 678 .byte 0x16 # DW_OP_swap 679 .byte 0x12 # DW_OP_dup 680 .byte 0x10 # DW_OP_constu 681 .uleb128 0x8000000000000000 682 .byte 0x1a # DW_OP_and 683 .byte 0x28 # DW_OP_bra 684 .value 0x9 685 .byte 0x31 # DW_OP_lit1 686 .byte 0x24 # DW_OP_shl 687 .byte 0x16 # DW_OP_swap 688 .byte 0x23 # DW_OP_plus_uconst 689 .uleb128 0x1 690 .byte 0x16 # DW_OP_swap 691 .byte 0x2f # DW_OP_skip 692 .value 0xffe7 693 .byte 0x13 # DW_OP_drop 694 .byte 0x96 # DW_OP_nop 695 .byte 0x1c # DW_OP_minus 696 .byte 0x8 # DW_OP_const1u 697 .byte 0x3f 698 .byte 0x27 # DW_OP_xor 699 .byte 0x8 # DW_OP_const1u 700 .byte 0x20 701 .byte 0x24 # DW_OP_shl 702 .byte 0x8 # DW_OP_const1u 703 .byte 0x20 704 .byte 0x26 # DW_OP_shra 705 .byte 0x9f # DW_OP_stack_value 706 .quad 0 # Location list terminator begin (*.LLST1) 707 .quad 0 # Location list terminator end (*.LLST1) 708.LLST2: 709 .quad .LFB2 # Location list begin address (*.LLST2) 710 .quad .LCFI0 # Location list end address (*.LLST2) 711 .value 0x2 # Location expression size 712 .byte 0x77 # DW_OP_breg7 713 .sleb128 8 714 .quad .LCFI0 # Location list begin address (*.LLST2) 715 .quad .LCFI1 # Location list end address (*.LLST2) 716 .value 0x2 # Location expression size 717 .byte 0x77 # DW_OP_breg7 718 .sleb128 16 719 .quad .LCFI1 # Location list begin address (*.LLST2) 720 .quad .LFE2 # Location list end address (*.LLST2) 721 .value 0x2 # Location expression size 722 .byte 0x77 # DW_OP_breg7 723 .sleb128 8 724 .quad 0 # Location list terminator begin (*.LLST2) 725 .quad 0 # Location list terminator end (*.LLST2) 726.LLST3: 727 .quad .LVL6 # Location list begin address (*.LLST3) 728 .quad .LVL7 # Location list end address (*.LLST3) 729 .value 0x9 # Location expression size 730 .byte 0x73 # DW_OP_breg3 731 .sleb128 0 732 .byte 0x8 # DW_OP_const1u 733 .byte 0x20 734 .byte 0x24 # DW_OP_shl 735 .byte 0x8 # DW_OP_const1u 736 .byte 0x20 737 .byte 0x26 # DW_OP_shra 738 .byte 0x9f # DW_OP_stack_value 739 .quad .LVL7 # Location list begin address (*.LLST3) 740 .quad .LVL10 # Location list end address (*.LLST3) 741 .value 0x1 # Location expression size 742 .byte 0x53 # DW_OP_reg3 743 .quad 0 # Location list terminator begin (*.LLST3) 744 .quad 0 # Location list terminator end (*.LLST3) 745 .section .debug_aranges,"",@progbits 746 .long 0x3c # Length of Address Ranges Info 747 .value 0x2 # DWARF Version 748 .long .Ldebug_info0 # Offset of Compilation Unit Info 749 .byte 0x8 # Size of Address 750 .byte 0 # Size of Segment Descriptor 751 .value 0 # Pad to 16 byte boundary 752 .value 0 753 .quad .Ltext0 # Address 754 .quad .Letext0-.Ltext0 # Length 755 .quad .LFB2 # Address 756 .quad .LFE2-.LFB2 # Length 757 .quad 0 758 .quad 0 759 .section .debug_ranges,"",@progbits 760.Ldebug_ranges0: 761 .quad .Ltext0 # Offset 0 762 .quad .Letext0 763 .quad .LFB2 # Offset 0x10 764 .quad .LFE2 765 .quad 0 766 .quad 0 767 .section .debug_line,"",@progbits 768.Ldebug_line0: 769 .long .LELT0-.LSLT0 # Length of Source Line Info 770.LSLT0: 771 .value 0x2 # DWARF Version 772 .long .LELTP0-.LASLTP0 # Prolog Length 773.LASLTP0: 774 .byte 0x1 # Minimum Instruction Length 775 .byte 0x1 # Default is_stmt_start flag 776 .byte 0xf6 # Line Base Value (Special Opcodes) 777 .byte 0xf2 # Line Range Value (Special Opcodes) 778 .byte 0xd # Special Opcode Base 779 .byte 0 # opcode: 0x1 has 0 args 780 .byte 0x1 # opcode: 0x2 has 1 args 781 .byte 0x1 # opcode: 0x3 has 1 args 782 .byte 0x1 # opcode: 0x4 has 1 args 783 .byte 0x1 # opcode: 0x5 has 1 args 784 .byte 0 # opcode: 0x6 has 0 args 785 .byte 0 # opcode: 0x7 has 0 args 786 .byte 0 # opcode: 0x8 has 0 args 787 .byte 0x1 # opcode: 0x9 has 1 args 788 .byte 0 # opcode: 0xa has 0 args 789 .byte 0 # opcode: 0xb has 0 args 790 .byte 0x1 # opcode: 0xc has 1 args 791 .byte 0 # End directory table 792 .ascii "clztest.c\0" # File Entry: 0x1 793 .uleb128 0 794 .uleb128 0 795 .uleb128 0 796 .byte 0 # End file name table 797.LELTP0: 798 .byte 0 # set address *.LM11 799 .uleb128 0x9 800 .byte 0x2 801 .quad .LM11 802 .byte 0x32 # line 28 803 .byte 0 # set address *.LM12 804 .uleb128 0x9 805 .byte 0x2 806 .quad .LM12 807 .byte 0x18 # line 29 808 .byte 0 # set address *.LM13 809 .uleb128 0x9 810 .byte 0x2 811 .quad .LM13 812 .byte 0x18 # line 30 813 .byte 0 # set address *.LM14 814 .uleb128 0x9 815 .byte 0x2 816 .quad .LM14 817 .byte 0x18 # line 31 818 .byte 0 # set address *.LM15 819 .uleb128 0x9 820 .byte 0x2 821 .quad .LM15 822 .byte 0x19 # line 33 823 .byte 0 # set address *.LFE2 824 .uleb128 0x9 825 .byte 0x2 826 .quad .LFE2 827 .byte 0 # end sequence 828 .uleb128 0x1 829 .byte 0x1 830 .byte 0 # set address *.LM1 831 .uleb128 0x9 832 .byte 0x2 833 .quad .LM1 834 .byte 0x1e # line 8 835 .byte 0 # set address *.LM2 836 .uleb128 0x9 837 .byte 0x2 838 .quad .LM2 839 .byte 0x18 # line 9 840 .byte 0 # set address *.LM3 841 .uleb128 0x9 842 .byte 0x2 843 .quad .LM3 844 .byte 0x19 # line 11 845 .byte 0 # set address *.LM4 846 .uleb128 0x9 847 .byte 0x2 848 .quad .LM4 849 .byte 0x18 # line 12 850 .byte 0 # set address *.LM5 851 .uleb128 0x9 852 .byte 0x2 853 .quad .LM5 854 .byte 0x19 # line 14 855 .byte 0 # set address *.LM6 856 .uleb128 0x9 857 .byte 0x2 858 .quad .LM6 859 .byte 0x1b # line 18 860 .byte 0 # set address *.LM7 861 .uleb128 0x9 862 .byte 0x2 863 .quad .LM7 864 .byte 0x18 # line 19 865 .byte 0 # set address *.LM8 866 .uleb128 0x9 867 .byte 0x2 868 .quad .LM8 869 .byte 0x19 # line 21 870 .byte 0 # set address *.LM9 871 .uleb128 0x9 872 .byte 0x2 873 .quad .LM9 874 .byte 0x18 # line 22 875 .byte 0 # set address *.LM10 876 .uleb128 0x9 877 .byte 0x2 878 .quad .LM10 879 .byte 0x19 # line 24 880 .byte 0 # set address *.Letext0 881 .uleb128 0x9 882 .byte 0x2 883 .quad .Letext0 884 .byte 0 # end sequence 885 .uleb128 0x1 886 .byte 0x1 887.LELT0: 888 .section .debug_str,"MS",@progbits,1 889.LASF1: 890 .string "GNU C 4.7.0 20110511 (experimental)" 891.LASF3: 892 .string "/usr/src/gcc/obj/gcc" 893.LASF0: 894 .string "long int" 895.LASF4: 896 .string "main" 897.LASF2: 898 .string "clztest.c" 899 .ident "GCC: (GNU) 4.7.0 20110511 (experimental)" 900 .section .note.GNU-stack,"",@progbits 901