/* This testcase is part of GDB, the GNU debugger. Copyright 2011-2023 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This source file was generated from clztest.c using the following command line: gcc -dA -S -g -O2 clztest.c -o clztest.S */ .file "clztest.c" .text .Ltext0: .p2align 4,,15 .globl foo .type foo, @function foo: .LFB0: # clztest.c:8 .LM1: .LVL0: # BLOCK 2 freq:10000 seq:0 # PRED: ENTRY [100.0%] (fallthru) # clztest.c:9 .LM2: bsrq %rdi, %rax xorl $63, %eax cltq .LVL1: # clztest.c:11 .LM3: .LVL2: # clztest.c:12 .LM4: movl vv(%rip), %edx addl $1, %edx movl %edx, vv(%rip) # SUCC: EXIT [100.0%] # clztest.c:14 .LM5: ret .LFE0: .size foo, .-foo .p2align 4,,15 .globl bar .type bar, @function bar: .LFB1: # clztest.c:18 .LM6: .LVL3: # BLOCK 2 freq:10000 seq:0 # PRED: ENTRY [100.0%] (fallthru) # clztest.c:19 .LM7: bsrq %rdi, %rax xorl $63, %eax cltq .LVL4: # clztest.c:21 .LM8: .LVL5: # clztest.c:22 .LM9: movl vv(%rip), %edx addl $1, %edx movl %edx, vv(%rip) # SUCC: EXIT [100.0%] # clztest.c:24 .LM10: ret .LFE1: .size bar, .-bar .section .text.startup,"ax",@progbits .p2align 4,,15 .globl _start .type _start, @function _start: .LFB2: # clztest.c:28 .LM11: # BLOCK 2 freq:10000 seq:0 # PRED: ENTRY [100.0%] (fallthru) pushq %rbx .LCFI0: # clztest.c:29 .LM12: movl vv(%rip), %ebx .LVL6: # clztest.c:30 .LM13: movslq %ebx, %rbx .LVL7: leaq 1193046(%rbx), %rdi call foo .LVL8: # clztest.c:31 .LM14: leaq 2147483647(%rbx), %rdi call bar .LVL9: # clztest.c:33 .LM15: xorl %eax, %eax popq %rbx .LCFI1: .LVL10: # SUCC: EXIT [100.0%] ret .LFE2: .size _start, .-_start .comm vv,4,4 #APP .section .debug_frame,"",@progbits .Lframe0: .long .LECIE0-.LSCIE0 # Length of Common Information Entry .LSCIE0: .long 0xffffffff # CIE Identifier Tag .byte 0x1 # CIE Version .ascii "\0" # CIE Augmentation .uleb128 0x1 # CIE Code Alignment Factor .sleb128 -8 # CIE Data Alignment Factor .byte 0x10 # CIE RA Column .byte 0xc # DW_CFA_def_cfa .uleb128 0x7 .uleb128 0x8 .byte 0x90 # DW_CFA_offset, column 0x10 .uleb128 0x1 .align 8 .LECIE0: .LSFDE0: .long .LEFDE0-.LASFDE0 # FDE Length .LASFDE0: .long .Lframe0 # FDE CIE offset .quad .LFB0 # FDE initial location .quad .LFE0-.LFB0 # FDE address range .align 8 .LEFDE0: .LSFDE2: .long .LEFDE2-.LASFDE2 # FDE Length .LASFDE2: .long .Lframe0 # FDE CIE offset .quad .LFB1 # FDE initial location .quad .LFE1-.LFB1 # FDE address range .align 8 .LEFDE2: .LSFDE4: .long .LEFDE4-.LASFDE4 # FDE Length .LASFDE4: .long .Lframe0 # FDE CIE offset .quad .LFB2 # FDE initial location .quad .LFE2-.LFB2 # FDE address range .byte 0x4 # DW_CFA_advance_loc4 .long .LCFI0-.LFB2 .byte 0xe # DW_CFA_def_cfa_offset .uleb128 0x10 .byte 0x83 # DW_CFA_offset, column 0x3 .uleb128 0x2 .byte 0x4 # DW_CFA_advance_loc4 .long .LCFI1-.LCFI0 .byte 0xe # DW_CFA_def_cfa_offset .uleb128 0x8 .align 8 .LEFDE4: #NO_APP #APP .section .eh_frame,"aw",@progbits .Lframe1: .long .LECIE1-.LSCIE1 # Length of Common Information Entry .LSCIE1: .long 0 # CIE Identifier Tag .byte 0x1 # CIE Version .ascii "zR\0" # CIE Augmentation .uleb128 0x1 # CIE Code Alignment Factor .sleb128 -8 # CIE Data Alignment Factor .byte 0x10 # CIE RA Column .uleb128 0x1 # Augmentation size .byte 0x3 # FDE Encoding (udata4) .byte 0xc # DW_CFA_def_cfa .uleb128 0x7 .uleb128 0x8 .byte 0x90 # DW_CFA_offset, column 0x10 .uleb128 0x1 .align 8 .LECIE1: .LSFDE7: .long .LEFDE7-.LASFDE7 # FDE Length .LASFDE7: .long .LASFDE7-.Lframe1 # FDE CIE offset .long .LFB0 # FDE initial location .long .LFE0-.LFB0 # FDE address range .uleb128 0 # Augmentation size .align 8 .LEFDE7: .LSFDE9: .long .LEFDE9-.LASFDE9 # FDE Length .LASFDE9: .long .LASFDE9-.Lframe1 # FDE CIE offset .long .LFB1 # FDE initial location .long .LFE1-.LFB1 # FDE address range .uleb128 0 # Augmentation size .align 8 .LEFDE9: .LSFDE11: .long .LEFDE11-.LASFDE11 # FDE Length .LASFDE11: .long .LASFDE11-.Lframe1 # FDE CIE offset .long .LFB2 # FDE initial location .long .LFE2-.LFB2 # FDE address range .uleb128 0 # Augmentation size .byte 0x4 # DW_CFA_advance_loc4 .long .LCFI0-.LFB2 .byte 0xe # DW_CFA_def_cfa_offset .uleb128 0x10 .byte 0x83 # DW_CFA_offset, column 0x3 .uleb128 0x2 .byte 0x4 # DW_CFA_advance_loc4 .long .LCFI1-.LCFI0 .byte 0xe # DW_CFA_def_cfa_offset .uleb128 0x8 .align 8 .LEFDE11: #NO_APP .text .Letext0: .section .debug_info,"",@progbits .Ldebug_info0: .long 0x15a # Length of Compilation Unit Info .value 0x2 # DWARF version number .long .Ldebug_abbrev0 # Offset Into Abbrev. Section .byte 0x8 # Pointer Size (in bytes) .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit) .long .LASF1 # DW_AT_producer: "GNU C 4.7.0 20110511 (experimental)" .byte 0x1 # DW_AT_language .long .LASF2 # DW_AT_name: "clztest.c" .long .LASF3 # DW_AT_comp_dir: "/usr/src/gcc/obj/gcc" .long .Ldebug_ranges0+0 # DW_AT_ranges .quad 0 # DW_AT_low_pc .quad 0 # DW_AT_entry_pc .long .Ldebug_line0 # DW_AT_stmt_list .uleb128 0x2 # (DIE (0x31) DW_TAG_subprogram) .byte 0x1 # DW_AT_external .ascii "foo\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x7 # DW_AT_decl_line .byte 0x1 # DW_AT_prototyped .long 0x7a # DW_AT_type .quad .LFB0 # DW_AT_low_pc .quad .LFE0 # DW_AT_high_pc .byte 0x2 # DW_AT_frame_base .byte 0x77 # DW_OP_breg7 .sleb128 8 .byte 0x1 # DW_AT_GNU_all_call_sites .long 0x7a # DW_AT_sibling .uleb128 0x3 # (DIE (0x56) DW_TAG_formal_parameter) .ascii "x\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x7 # DW_AT_decl_line .long 0x7a # DW_AT_type .byte 0x1 # DW_AT_location .byte 0x55 # DW_OP_reg5 .uleb128 0x4 # (DIE (0x61) DW_TAG_variable) .ascii "f\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x9 # DW_AT_decl_line .long 0x7a # DW_AT_type .byte 0x1 # DW_AT_location .byte 0x50 # DW_OP_reg0 .uleb128 0x5 # (DIE (0x6c) DW_TAG_variable) .ascii "g\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0xa # DW_AT_decl_line .long 0x7a # DW_AT_type .long .LLST0 # DW_AT_location .byte 0 # end of children of DIE 0x31 .uleb128 0x6 # (DIE (0x7a) DW_TAG_base_type) .byte 0x8 # DW_AT_byte_size .byte 0x5 # DW_AT_encoding .long .LASF0 # DW_AT_name: "long int" .uleb128 0x2 # (DIE (0x81) DW_TAG_subprogram) .byte 0x1 # DW_AT_external .ascii "bar\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x11 # DW_AT_decl_line .byte 0x1 # DW_AT_prototyped .long 0x7a # DW_AT_type .quad .LFB1 # DW_AT_low_pc .quad .LFE1 # DW_AT_high_pc .byte 0x2 # DW_AT_frame_base .byte 0x77 # DW_OP_breg7 .sleb128 8 .byte 0x1 # DW_AT_GNU_all_call_sites .long 0xca # DW_AT_sibling .uleb128 0x3 # (DIE (0xa6) DW_TAG_formal_parameter) .ascii "x\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x11 # DW_AT_decl_line .long 0x7a # DW_AT_type .byte 0x1 # DW_AT_location .byte 0x55 # DW_OP_reg5 .uleb128 0x4 # (DIE (0xb1) DW_TAG_variable) .ascii "f\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x13 # DW_AT_decl_line .long 0x7a # DW_AT_type .byte 0x1 # DW_AT_location .byte 0x50 # DW_OP_reg0 .uleb128 0x5 # (DIE (0xbc) DW_TAG_variable) .ascii "g\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x14 # DW_AT_decl_line .long 0x7a # DW_AT_type .long .LLST1 # DW_AT_location .byte 0 # end of children of DIE 0x81 .uleb128 0x7 # (DIE (0xca) DW_TAG_subprogram) .byte 0x1 # DW_AT_external .long .LASF4 # DW_AT_name: "main" .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x1b # DW_AT_decl_line .long 0x130 # DW_AT_type .quad .LFB2 # DW_AT_low_pc .quad .LFE2 # DW_AT_high_pc .long .LLST2 # DW_AT_frame_base .byte 0x1 # DW_AT_GNU_all_call_sites .long 0x130 # DW_AT_sibling .uleb128 0x5 # (DIE (0xef) DW_TAG_variable) .ascii "x\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x1d # DW_AT_decl_line .long 0x7a # DW_AT_type .long .LLST3 # DW_AT_location .uleb128 0x8 # (DIE (0xfc) DW_TAG_GNU_call_site) .quad .LVL8 # DW_AT_low_pc .long 0x31 # DW_AT_abstract_origin .long 0x117 # DW_AT_sibling .uleb128 0x9 # (DIE (0x10d) DW_TAG_GNU_call_site_parameter) .byte 0x1 # DW_AT_location .byte 0x55 # DW_OP_reg5 .byte 0x5 # DW_AT_GNU_call_site_value .byte 0x73 # DW_OP_breg3 .sleb128 1193046 .byte 0 # end of children of DIE 0xfc .uleb128 0xa # (DIE (0x117) DW_TAG_GNU_call_site) .quad .LVL9 # DW_AT_low_pc .long 0x81 # DW_AT_abstract_origin .uleb128 0x9 # (DIE (0x124) DW_TAG_GNU_call_site_parameter) .byte 0x1 # DW_AT_location .byte 0x55 # DW_OP_reg5 .byte 0x6 # DW_AT_GNU_call_site_value .byte 0x73 # DW_OP_breg3 .sleb128 2147483647 .byte 0 # end of children of DIE 0x117 .byte 0 # end of children of DIE 0xca .uleb128 0xb # (DIE (0x130) DW_TAG_base_type) .byte 0x4 # DW_AT_byte_size .byte 0x5 # DW_AT_encoding .ascii "int\0" # DW_AT_name .uleb128 0xc # (DIE (0x137) DW_TAG_variable) .ascii "vv\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x4 # DW_AT_decl_line .long 0x143 # DW_AT_type .byte 0x1 # DW_AT_external .byte 0x1 # DW_AT_declaration .uleb128 0xd # (DIE (0x143) DW_TAG_volatile_type) .long 0x130 # DW_AT_type .uleb128 0xe # (DIE (0x148) DW_TAG_variable) .ascii "vv\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (clztest.c) .byte 0x4 # DW_AT_decl_line .long 0x143 # DW_AT_type .byte 0x1 # DW_AT_external .byte 0x9 # DW_AT_location .byte 0x3 # DW_OP_addr .quad vv .byte 0 # end of children of DIE 0xb .section .debug_abbrev,"",@progbits .Ldebug_abbrev0: .uleb128 0x1 # (abbrev code) .uleb128 0x11 # (TAG: DW_TAG_compile_unit) .byte 0x1 # DW_children_yes .uleb128 0x25 # (DW_AT_producer) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x13 # (DW_AT_language) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x1b # (DW_AT_comp_dir) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x55 # (DW_AT_ranges) .uleb128 0x6 # (DW_FORM_data4) .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x52 # (DW_AT_entry_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x10 # (DW_AT_stmt_list) .uleb128 0x6 # (DW_FORM_data4) .byte 0 .byte 0 .uleb128 0x2 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x3f # (DW_AT_external) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x27 # (DW_AT_prototyped) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x12 # (DW_AT_high_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x40 # (DW_AT_frame_base) .uleb128 0xa # (DW_FORM_block1) .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x3 # (abbrev code) .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2 # (DW_AT_location) .uleb128 0xa # (DW_FORM_block1) .byte 0 .byte 0 .uleb128 0x4 # (abbrev code) .uleb128 0x34 # (TAG: DW_TAG_variable) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2 # (DW_AT_location) .uleb128 0xa # (DW_FORM_block1) .byte 0 .byte 0 .uleb128 0x5 # (abbrev code) .uleb128 0x34 # (TAG: DW_TAG_variable) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2 # (DW_AT_location) .uleb128 0x6 # (DW_FORM_data4) .byte 0 .byte 0 .uleb128 0x6 # (abbrev code) .uleb128 0x24 # (TAG: DW_TAG_base_type) .byte 0 # DW_children_no .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3e # (DW_AT_encoding) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .byte 0 .byte 0 .uleb128 0x7 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x3f # (DW_AT_external) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x12 # (DW_AT_high_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x40 # (DW_AT_frame_base) .uleb128 0x6 # (DW_FORM_data4) .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x8 # (abbrev code) .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) .byte 0x1 # DW_children_yes .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x31 # (DW_AT_abstract_origin) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x9 # (abbrev code) .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter) .byte 0 # DW_children_no .uleb128 0x2 # (DW_AT_location) .uleb128 0xa # (DW_FORM_block1) .uleb128 0x2111 # (DW_AT_GNU_call_site_value) .uleb128 0xa # (DW_FORM_block1) .byte 0 .byte 0 .uleb128 0xa # (abbrev code) .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site) .byte 0x1 # DW_children_yes .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x31 # (DW_AT_abstract_origin) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0xb # (abbrev code) .uleb128 0x24 # (TAG: DW_TAG_base_type) .byte 0 # DW_children_no .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3e # (DW_AT_encoding) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .byte 0 .byte 0 .uleb128 0xc # (abbrev code) .uleb128 0x34 # (TAG: DW_TAG_variable) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x3f # (DW_AT_external) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0xc # (DW_FORM_flag) .byte 0 .byte 0 .uleb128 0xd # (abbrev code) .uleb128 0x35 # (TAG: DW_TAG_volatile_type) .byte 0 # DW_children_no .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0xe # (abbrev code) .uleb128 0x34 # (TAG: DW_TAG_variable) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x3f # (DW_AT_external) .uleb128 0xc # (DW_FORM_flag) .uleb128 0x2 # (DW_AT_location) .uleb128 0xa # (DW_FORM_block1) .byte 0 .byte 0 .byte 0 .section .debug_loc,"",@progbits .Ldebug_loc0: .LLST0: .quad .LVL1 # Location list begin address (*.LLST0) .quad .LVL2 # Location list end address (*.LLST0) .value 0x1 # Location expression size .byte 0x50 # DW_OP_reg0 .quad .LVL2 # Location list begin address (*.LLST0) .quad .LFE0 # Location list end address (*.LLST0) .value 0x36 # Location expression size .byte 0x8 # DW_OP_const1u .byte 0x3f .byte 0x75 # DW_OP_breg5 .sleb128 0 .byte 0x12 # DW_OP_dup .byte 0x28 # DW_OP_bra .value 0x6 .byte 0x13 # DW_OP_drop .byte 0x8 # DW_OP_const1u .byte 0x40 .byte 0x2f # DW_OP_skip .value 0x1c .byte 0x30 # DW_OP_lit0 .byte 0x16 # DW_OP_swap .byte 0x12 # DW_OP_dup .byte 0x10 # DW_OP_constu .uleb128 0x8000000000000000 .byte 0x1a # DW_OP_and .byte 0x28 # DW_OP_bra .value 0x9 .byte 0x31 # DW_OP_lit1 .byte 0x24 # DW_OP_shl .byte 0x16 # DW_OP_swap .byte 0x23 # DW_OP_plus_uconst .uleb128 0x1 .byte 0x16 # DW_OP_swap .byte 0x2f # DW_OP_skip .value 0xffe7 .byte 0x13 # DW_OP_drop .byte 0x96 # DW_OP_nop .byte 0x1c # DW_OP_minus .byte 0x8 # DW_OP_const1u .byte 0x3f .byte 0x27 # DW_OP_xor .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x24 # DW_OP_shl .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x26 # DW_OP_shra .byte 0x9f # DW_OP_stack_value .quad 0 # Location list terminator begin (*.LLST0) .quad 0 # Location list terminator end (*.LLST0) .LLST1: .quad .LVL4 # Location list begin address (*.LLST1) .quad .LVL5 # Location list end address (*.LLST1) .value 0x1 # Location expression size .byte 0x50 # DW_OP_reg0 .quad .LVL5 # Location list begin address (*.LLST1) .quad .LFE1 # Location list end address (*.LLST1) .value 0x36 # Location expression size .byte 0x8 # DW_OP_const1u .byte 0x3f .byte 0x75 # DW_OP_breg5 .sleb128 0 .byte 0x12 # DW_OP_dup .byte 0x28 # DW_OP_bra .value 0x6 .byte 0x13 # DW_OP_drop .byte 0x8 # DW_OP_const1u .byte 0x40 .byte 0x2f # DW_OP_skip .value 0x1c .byte 0x30 # DW_OP_lit0 .byte 0x16 # DW_OP_swap .byte 0x12 # DW_OP_dup .byte 0x10 # DW_OP_constu .uleb128 0x8000000000000000 .byte 0x1a # DW_OP_and .byte 0x28 # DW_OP_bra .value 0x9 .byte 0x31 # DW_OP_lit1 .byte 0x24 # DW_OP_shl .byte 0x16 # DW_OP_swap .byte 0x23 # DW_OP_plus_uconst .uleb128 0x1 .byte 0x16 # DW_OP_swap .byte 0x2f # DW_OP_skip .value 0xffe7 .byte 0x13 # DW_OP_drop .byte 0x96 # DW_OP_nop .byte 0x1c # DW_OP_minus .byte 0x8 # DW_OP_const1u .byte 0x3f .byte 0x27 # DW_OP_xor .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x24 # DW_OP_shl .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x26 # DW_OP_shra .byte 0x9f # DW_OP_stack_value .quad 0 # Location list terminator begin (*.LLST1) .quad 0 # Location list terminator end (*.LLST1) .LLST2: .quad .LFB2 # Location list begin address (*.LLST2) .quad .LCFI0 # Location list end address (*.LLST2) .value 0x2 # Location expression size .byte 0x77 # DW_OP_breg7 .sleb128 8 .quad .LCFI0 # Location list begin address (*.LLST2) .quad .LCFI1 # Location list end address (*.LLST2) .value 0x2 # Location expression size .byte 0x77 # DW_OP_breg7 .sleb128 16 .quad .LCFI1 # Location list begin address (*.LLST2) .quad .LFE2 # Location list end address (*.LLST2) .value 0x2 # Location expression size .byte 0x77 # DW_OP_breg7 .sleb128 8 .quad 0 # Location list terminator begin (*.LLST2) .quad 0 # Location list terminator end (*.LLST2) .LLST3: .quad .LVL6 # Location list begin address (*.LLST3) .quad .LVL7 # Location list end address (*.LLST3) .value 0x9 # Location expression size .byte 0x73 # DW_OP_breg3 .sleb128 0 .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x24 # DW_OP_shl .byte 0x8 # DW_OP_const1u .byte 0x20 .byte 0x26 # DW_OP_shra .byte 0x9f # DW_OP_stack_value .quad .LVL7 # Location list begin address (*.LLST3) .quad .LVL10 # Location list end address (*.LLST3) .value 0x1 # Location expression size .byte 0x53 # DW_OP_reg3 .quad 0 # Location list terminator begin (*.LLST3) .quad 0 # Location list terminator end (*.LLST3) .section .debug_aranges,"",@progbits .long 0x3c # Length of Address Ranges Info .value 0x2 # DWARF Version .long .Ldebug_info0 # Offset of Compilation Unit Info .byte 0x8 # Size of Address .byte 0 # Size of Segment Descriptor .value 0 # Pad to 16 byte boundary .value 0 .quad .Ltext0 # Address .quad .Letext0-.Ltext0 # Length .quad .LFB2 # Address .quad .LFE2-.LFB2 # Length .quad 0 .quad 0 .section .debug_ranges,"",@progbits .Ldebug_ranges0: .quad .Ltext0 # Offset 0 .quad .Letext0 .quad .LFB2 # Offset 0x10 .quad .LFE2 .quad 0 .quad 0 .section .debug_line,"",@progbits .Ldebug_line0: .long .LELT0-.LSLT0 # Length of Source Line Info .LSLT0: .value 0x2 # DWARF Version .long .LELTP0-.LASLTP0 # Prolog Length .LASLTP0: .byte 0x1 # Minimum Instruction Length .byte 0x1 # Default is_stmt_start flag .byte 0xf6 # Line Base Value (Special Opcodes) .byte 0xf2 # Line Range Value (Special Opcodes) .byte 0xd # Special Opcode Base .byte 0 # opcode: 0x1 has 0 args .byte 0x1 # opcode: 0x2 has 1 args .byte 0x1 # opcode: 0x3 has 1 args .byte 0x1 # opcode: 0x4 has 1 args .byte 0x1 # opcode: 0x5 has 1 args .byte 0 # opcode: 0x6 has 0 args .byte 0 # opcode: 0x7 has 0 args .byte 0 # opcode: 0x8 has 0 args .byte 0x1 # opcode: 0x9 has 1 args .byte 0 # opcode: 0xa has 0 args .byte 0 # opcode: 0xb has 0 args .byte 0x1 # opcode: 0xc has 1 args .byte 0 # End directory table .ascii "clztest.c\0" # File Entry: 0x1 .uleb128 0 .uleb128 0 .uleb128 0 .byte 0 # End file name table .LELTP0: .byte 0 # set address *.LM11 .uleb128 0x9 .byte 0x2 .quad .LM11 .byte 0x32 # line 28 .byte 0 # set address *.LM12 .uleb128 0x9 .byte 0x2 .quad .LM12 .byte 0x18 # line 29 .byte 0 # set address *.LM13 .uleb128 0x9 .byte 0x2 .quad .LM13 .byte 0x18 # line 30 .byte 0 # set address *.LM14 .uleb128 0x9 .byte 0x2 .quad .LM14 .byte 0x18 # line 31 .byte 0 # set address *.LM15 .uleb128 0x9 .byte 0x2 .quad .LM15 .byte 0x19 # line 33 .byte 0 # set address *.LFE2 .uleb128 0x9 .byte 0x2 .quad .LFE2 .byte 0 # end sequence .uleb128 0x1 .byte 0x1 .byte 0 # set address *.LM1 .uleb128 0x9 .byte 0x2 .quad .LM1 .byte 0x1e # line 8 .byte 0 # set address *.LM2 .uleb128 0x9 .byte 0x2 .quad .LM2 .byte 0x18 # line 9 .byte 0 # set address *.LM3 .uleb128 0x9 .byte 0x2 .quad .LM3 .byte 0x19 # line 11 .byte 0 # set address *.LM4 .uleb128 0x9 .byte 0x2 .quad .LM4 .byte 0x18 # line 12 .byte 0 # set address *.LM5 .uleb128 0x9 .byte 0x2 .quad .LM5 .byte 0x19 # line 14 .byte 0 # set address *.LM6 .uleb128 0x9 .byte 0x2 .quad .LM6 .byte 0x1b # line 18 .byte 0 # set address *.LM7 .uleb128 0x9 .byte 0x2 .quad .LM7 .byte 0x18 # line 19 .byte 0 # set address *.LM8 .uleb128 0x9 .byte 0x2 .quad .LM8 .byte 0x19 # line 21 .byte 0 # set address *.LM9 .uleb128 0x9 .byte 0x2 .quad .LM9 .byte 0x18 # line 22 .byte 0 # set address *.LM10 .uleb128 0x9 .byte 0x2 .quad .LM10 .byte 0x19 # line 24 .byte 0 # set address *.Letext0 .uleb128 0x9 .byte 0x2 .quad .Letext0 .byte 0 # end sequence .uleb128 0x1 .byte 0x1 .LELT0: .section .debug_str,"MS",@progbits,1 .LASF1: .string "GNU C 4.7.0 20110511 (experimental)" .LASF3: .string "/usr/src/gcc/obj/gcc" .LASF0: .string "long int" .LASF4: .string "main" .LASF2: .string "clztest.c" .ident "GCC: (GNU) 4.7.0 20110511 (experimental)" .section .note.GNU-stack,"",@progbits