Hi all and Cary, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49750 It is a part of former Bug (FIXED): http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510
currently -fdebug-types-section regresses GDB testsuite for: FAIL: gdb.cp/anon-struct.exp: print type of X::t2::t2 FAIL: gdb.cp/member-ptr.exp: * Describing `gdb.cp/anon-struct.exp' which is addressed also by Tom Tromey's Bug above. Unaware if it fixes also gdb.cp/member-ptr.exp, I hope so. There is no way to find out where the "t2" method (constructor) belongs from DIE <77> (it belongs to "X::t2", making the constructor name "X::t2::t2()"). With posted FSF GDB HEAD fix (fixing another unrelated issue): [patch] Fix printed anonymous struct name http://sourceware.org/ml/gdb-patches/2011-09/msg00483.html I think it would be enough to just put proper declarations around the "t2" method DIE, at least it works for me with the GDB patch above. But maybe a better DWARF solution exists. Thanks, Jan Attaching "anonstruct4b.s" patched by hand as the diff below suggests: echo 'int main(){}'|g++ -g -c -o anonstructmain4.o -Wall -x c++ -;g++ -o anonstruct4b anonstructmain4.o anonstruct4b.s -Wall ./gdb -q -nx -ex 'set language c++' -ex "ptype X::t2::t2" -ex q ~/t/anonstruct4b -There is no field named t2 -> +type = void (X::t2 * const) <1><>: Abbrev Number: 18 (DW_TAG_namespace) <> DW_AT_name : X <2><>: Abbrev Number: 19 (DW_TAG_typedef) <> DW_AT_name : t2 <> DW_AT_type : signature: 9d52f6834a49e845 <2><>: Abbrev Number: 20 (DW_TAG_variable) <> DW_AT_name : v <> DW_AT_linkage_name: (indirect string, offset: ): _ZN1X1vE <> DW_AT_type : <> <> DW_AT_external : 1 <> DW_AT_declaration : 1 - <1><>: Abbrev Number: 21 (DW_TAG_structure_type) - <> DW_AT_declaration : 1 + <2><>: Abbrev Number: 21 (DW_TAG_structure_type) + <> DW_AT_declaration : 1 + <> DW_AT_MIPS_linkage_name: (indirect string, offset: ): N1X2t2E - <2><>: Abbrev Number: 22 (DW_TAG_subprogram) + <3><>: Abbrev Number: 22 (DW_TAG_subprogram) <> DW_AT_name : t2 <> DW_AT_artificial : 1 <> DW_AT_declaration : 1 <> DW_AT_object_pointer: <>
.file "anonstruct.C" .text .Ltext0: .weak _ZN1CC1Ev .set _ZN1CC1Ev,_ZN1CC2Ev .section .text._ZN1CC2Ev,"axG",@progbits,_ZN1CC5Ev,comdat .align 2 .weak _ZN1CC2Ev .type _ZN1CC2Ev, @function _ZN1CC2Ev: .LFB1: .file 1 "anonstruct.C" # anonstruct.C:1 .loc 1 1 0 .cfi_startproc # BLOCK 2 seq:0 # PRED: ENTRY (fallthru) pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movq %rdi, -8(%rbp) # anonstruct.C:1 .loc 1 1 0 popq %rbp .cfi_def_cfa 7, 8 # SUCC: EXIT [100.0%] ret .cfi_endproc .LFE1: .size _ZN1CC2Ev, .-_ZN1CC2Ev .set _ZN1X2t2C1Ev,_ZN1X2t2C2Ev .text .align 2 .type _ZN1X2t2C2Ev, @function _ZN1X2t2C2Ev: .LFB4: # anonstruct.C:6 .loc 1 6 0 .cfi_startproc # BLOCK 2 seq:0 # PRED: ENTRY (fallthru) pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp movq %rdi, -8(%rbp) .LBB2: # anonstruct.C:6 .loc 1 6 0 movq -8(%rbp), %rax movq %rax, %rdi call _ZN1CC1Ev .LBE2: leave .cfi_def_cfa 7, 8 # SUCC: EXIT [100.0%] ret .cfi_endproc .LFE4: .size _ZN1X2t2C2Ev, .-_ZN1X2t2C2Ev .globl _ZN1X1vE .bss .type _ZN1X1vE, @object .size _ZN1X1vE, 1 _ZN1X1vE: .zero 1 .text .type _Z41__static_initialization_and_destruction_0ii, @function _Z41__static_initialization_and_destruction_0ii: .LFB6: # anonstruct.C:9 .loc 1 9 0 .cfi_startproc # BLOCK 2 seq:0 # PRED: ENTRY (fallthru) pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp movl %edi, -4(%rbp) movl %esi, -8(%rbp) # anonstruct.C:9 .loc 1 9 0 cmpl $1, -4(%rbp) # SUCC: 3 (fallthru) 5 jne .L3 # BLOCK 3 seq:1 # PRED: 2 (fallthru) # anonstruct.C:9 .loc 1 9 0 is_stmt 0 discriminator 1 cmpl $65535, -8(%rbp) # SUCC: 4 (fallthru) 5 jne .L3 # BLOCK 4 seq:2 # PRED: 3 (fallthru) # anonstruct.C:8 .loc 1 8 0 is_stmt 1 movl $_ZN1X1vE, %edi # SUCC: 5 (fallthru) call _ZN1X2t2C1Ev # BLOCK 5 seq:3 # PRED: 4 (fallthru) 2 3 .L3: # anonstruct.C:9 .loc 1 9 0 leave .cfi_def_cfa 7, 8 # SUCC: EXIT [100.0%] ret .cfi_endproc .LFE6: .size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii .type _GLOBAL__sub_I__ZN1X1vE, @function _GLOBAL__sub_I__ZN1X1vE: .LFB7: # anonstruct.C:9 .loc 1 9 0 .cfi_startproc # BLOCK 2 seq:0 # PRED: ENTRY (fallthru) pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 # anonstruct.C:9 .loc 1 9 0 movl $65535, %esi movl $1, %edi call _Z41__static_initialization_and_destruction_0ii popq %rbp .cfi_def_cfa 7, 8 # SUCC: EXIT [100.0%] ret .cfi_endproc .LFE7: .size _GLOBAL__sub_I__ZN1X1vE, .-_GLOBAL__sub_I__ZN1X1vE .section .init_array .align 8 .quad _GLOBAL__sub_I__ZN1X1vE .text .Letext0: .section .debug_types,"G",@progbits,wt.9d52f6834a49e845,comdat .long 0x64 # Length of Compilation Unit Info .value 0x4 # DWARF version number .long .Ldebug_abbrev0 # Offset Into Abbrev. Section .byte 0x8 # Pointer Size (in bytes) .byte 0x9d # Type Signature .byte 0x52 .byte 0xf6 .byte 0x83 .byte 0x4a .byte 0x49 .byte 0xe8 .byte 0x45 .long 0x26 # Offset to Type DIE .uleb128 0x1 # (DIE (0x17) DW_TAG_type_unit) .byte 0x4 # DW_AT_language .long .Ldebug_line0 # DW_AT_stmt_list .uleb128 0x2 # (DIE (0x1d) DW_TAG_namespace) .ascii "X\0" # DW_AT_name # DW_AT_declaration .long 0x26 # DW_AT_sibling .uleb128 0x3 # (DIE (0x24) DW_TAG_structure_type) # DW_AT_declaration .byte 0 # end of children of DIE 0x1d .uleb128 0x4 # (DIE (0x26) DW_TAG_structure_type) .byte 0x1 # DW_AT_byte_size .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x4 # DW_AT_decl_line .long .LASF0 # DW_AT_linkage_name: "N1X2t2E" .long 0x24 # DW_AT_specification .long 0x53 # DW_AT_sibling .uleb128 0x5 # (DIE (0x36) DW_TAG_member) .ascii "m\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x5 # DW_AT_decl_line .byte 0x97 # DW_AT_type .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f .byte 0 # DW_AT_data_member_location .uleb128 0x6 # (DIE (0x44) DW_TAG_subprogram) .ascii "t2\0" # DW_AT_name # DW_AT_artificial # DW_AT_declaration .long 0x4c # DW_AT_object_pointer .uleb128 0x7 # (DIE (0x4c) DW_TAG_formal_parameter) .long 0x53 # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0x44 .byte 0 # end of children of DIE 0x26 .uleb128 0x8 # (DIE (0x53) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .long 0x5c # DW_AT_type .uleb128 0x9 # (DIE (0x59) DW_TAG_namespace) .ascii "X\0" # DW_AT_name # DW_AT_declaration .uleb128 0xa # (DIE (0x5c) DW_TAG_typedef) .ascii "t2\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x6 # DW_AT_decl_line .long 0x26 # DW_AT_type .byte 0 # end of children of DIE 0x59 .byte 0 # end of children of DIE 0x17 .section .debug_types,"G",@progbits,wt.97c175d6b1f1939f,comdat .long 0x43 # Length of Compilation Unit Info .value 0x4 # DWARF version number .long .Ldebug_abbrev0 # Offset Into Abbrev. Section .byte 0x8 # Pointer Size (in bytes) .byte 0x97 # Type Signature .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f .long 0x25 # Offset to Type DIE .uleb128 0xb # (DIE (0x17) DW_TAG_type_unit) .byte 0x4 # DW_AT_language .byte 0x78 # DW_AT_GNU_odr_signature .byte 0x14 .byte 0x4f .byte 0xef .byte 0xe1 .byte 0x36 .byte 0xb8 .byte 0xaf .long .Ldebug_line0 # DW_AT_stmt_list .uleb128 0xc # (DIE (0x25) DW_TAG_class_type) .ascii "C\0" # DW_AT_name .byte 0x1 # DW_AT_byte_size .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x1 # DW_AT_decl_line .long 0x40 # DW_AT_sibling .uleb128 0xd # (DIE (0x2f) DW_TAG_subprogram) # DW_AT_external .ascii "C\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x1 # DW_AT_decl_line .byte 0x1 # DW_AT_accessibility # DW_AT_declaration .long 0x39 # DW_AT_object_pointer .uleb128 0x7 # (DIE (0x39) DW_TAG_formal_parameter) .long 0x40 # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0x2f .byte 0 # end of children of DIE 0x25 .uleb128 0x8 # (DIE (0x40) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .long 0x25 # DW_AT_type .byte 0 # end of children of DIE 0x17 .section .debug_info,"",@progbits .Ldebug_info0: d: .long len - 1f # Length of Compilation Unit Info 1: .value 0x4 # DWARF version number .long .Ldebug_abbrev0 # Offset Into Abbrev. Section .byte 0x8 # Pointer Size (in bytes) dieb: .uleb128 0xe # (DIE (0xb) DW_TAG_compile_unit) .long .LASF4 # DW_AT_producer: "GNU C++ 4.7.0 20110927 (experimental)" .byte 0x4 # DW_AT_language .long .LASF5 # DW_AT_name: "anonstruct.C" .long .LASF6 # DW_AT_comp_dir: "/home/jkratoch/t" .long .Ldebug_ranges0+0 # DW_AT_ranges .quad 0 # DW_AT_low_pc .long .Ldebug_line0 # DW_AT_stmt_list die29: .uleb128 0xf # (DIE (0x29) DW_TAG_class_type) .ascii "C\0" # DW_AT_name .byte 0x97 # DW_AT_signature .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f # DW_AT_declaration .long die43 - d # DW_AT_sibling die38: .uleb128 0x10 # (DIE (0x38) DW_TAG_subprogram) # DW_AT_external .ascii "C\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x1 # DW_AT_decl_line .byte 0x1 # DW_AT_accessibility # DW_AT_declaration .long die194 - d # DW_AT_object_pointer .byte 0 # end of children of DIE 0x29 die43: .uleb128 0x11 # (DIE (0x43) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .byte 0x97 # DW_AT_type .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f die4d: .uleb128 0x12 # (DIE (0x4d) DW_TAG_namespace) .ascii "X\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x3 # DW_AT_decl_line .long die72 - d # DW_AT_sibling die56: .uleb128 0x13 # (DIE (0x56) DW_TAG_typedef) .ascii "t2\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x6 # DW_AT_decl_line .byte 0x9d # DW_AT_type .byte 0x52 .byte 0xf6 .byte 0x83 .byte 0x4a .byte 0x49 .byte 0xe8 .byte 0x45 die64: .uleb128 0x14 # (DIE (0x64) DW_TAG_variable) .ascii "v\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x8 # DW_AT_decl_line .long .LASF7 # DW_AT_linkage_name: "_ZN1X1vE" .long die56 - d # DW_AT_type # DW_AT_external # DW_AT_declaration die72: .uleb128 0x15 # (DIE (0x72) DW_TAG_structure_type) # DW_AT_declaration .long .Lmystr # DW_AT_sibling die77: .uleb128 0x16 # (DIE (0x77) DW_TAG_subprogram) .ascii "t2\0" # DW_AT_name # DW_AT_artificial # DW_AT_declaration .long die1b5 - d # DW_AT_object_pointer .byte 0 # end of children of DIE 0x72 .byte 0 # end of children of DIE 0x4d die80: .uleb128 0x17 # (DIE (0x80) DW_TAG_subprogram) .long die38 - d # DW_AT_specification .byte 0x2 # DW_AT_inline .long die8e - d # DW_AT_object_pointer .long die98 - d # DW_AT_sibling die8e: .uleb128 0x18 # (DIE (0x8e) DW_TAG_formal_parameter) .long .LASF1 # DW_AT_name: "this" .long die98 - d # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0x80 die98: .uleb128 0x19 # (DIE (0x98) DW_TAG_const_type) .long die43 - d # DW_AT_type die9d: .uleb128 0x1a # (DIE (0x9d) DW_TAG_subprogram) .long die80 - d # DW_AT_abstract_origin .long .LASF8 # DW_AT_linkage_name: "_ZN1CC2Ev" .quad .LFB1 # DW_AT_low_pc .quad .LFE1 # DW_AT_high_pc .uleb128 0x1 # DW_AT_frame_base .byte 0x9c # DW_OP_call_frame_cfa .long diec0 - d # DW_AT_object_pointer # DW_AT_GNU_all_call_sites .long diec9 - d # DW_AT_sibling diec0: .uleb128 0x1b # (DIE (0xc0) DW_TAG_formal_parameter) .long die8e - d # DW_AT_abstract_origin .uleb128 0x2 # DW_AT_location .byte 0x91 # DW_OP_fbreg .sleb128 -24 .byte 0 # end of children of DIE 0x9d diec9: .uleb128 0x8 # (DIE (0xc9) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .long die56 - d # DW_AT_type diecf: .uleb128 0x1c # (DIE (0xcf) DW_TAG_subprogram) .long die77 - d # DW_AT_specification .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x6 # DW_AT_decl_line .byte 0x2 # DW_AT_inline .long diedf - d # DW_AT_object_pointer .long diee9 - d # DW_AT_sibling diedf: .uleb128 0x18 # (DIE (0xdf) DW_TAG_formal_parameter) .long .LASF1 # DW_AT_name: "this" .long diee9 - d # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0xcf diee9: .uleb128 0x19 # (DIE (0xe9) DW_TAG_const_type) .long diec9 - d # DW_AT_type dieee: .uleb128 0x1d # (DIE (0xee) DW_TAG_subprogram) .long diecf - d # DW_AT_abstract_origin .quad .LFB4 # DW_AT_low_pc .quad .LFE4 # DW_AT_high_pc .uleb128 0x1 # DW_AT_frame_base .byte 0x9c # DW_OP_call_frame_cfa .long die10d - d # DW_AT_object_pointer # DW_AT_GNU_all_tail_call_sites .long die116 - d # DW_AT_sibling die10d: .uleb128 0x1b # (DIE (0x10d) DW_TAG_formal_parameter) .long diedf - d # DW_AT_abstract_origin .uleb128 0x2 # DW_AT_location .byte 0x91 # DW_OP_fbreg .sleb128 -24 .byte 0 # end of children of DIE 0xee die116: .uleb128 0x1e # (DIE (0x116) DW_TAG_subprogram) .long .LASF9 # DW_AT_name: "__static_initialization_and_destruction_0" # DW_AT_artificial .quad .LFB6 # DW_AT_low_pc .quad .LFE6 # DW_AT_high_pc .uleb128 0x1 # DW_AT_frame_base .byte 0x9c # DW_OP_call_frame_cfa # DW_AT_GNU_all_tail_call_sites .long die14e - d # DW_AT_sibling die131: .uleb128 0x1f # (DIE (0x131) DW_TAG_formal_parameter) .long .LASF2 # DW_AT_name: "__initialize_p" .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x9 # DW_AT_decl_line .long die14e - d # DW_AT_type .uleb128 0x2 # DW_AT_location .byte 0x91 # DW_OP_fbreg .sleb128 -20 die13f: .uleb128 0x1f # (DIE (0x13f) DW_TAG_formal_parameter) .long .LASF3 # DW_AT_name: "__priority" .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x9 # DW_AT_decl_line .long die14e - d # DW_AT_type .uleb128 0x2 # DW_AT_location .byte 0x91 # DW_OP_fbreg .sleb128 -24 .byte 0 # end of children of DIE 0x116 die14e: .uleb128 0x20 # (DIE (0x14e) DW_TAG_base_type) .byte 0x4 # DW_AT_byte_size .byte 0x5 # DW_AT_encoding .ascii "int\0" # DW_AT_name die155: .uleb128 0x21 # (DIE (0x155) DW_TAG_subprogram) .long .LASF10 # DW_AT_name: "_GLOBAL__sub_I__ZN1X1vE" # DW_AT_artificial .quad .LFB7 # DW_AT_low_pc .quad .LFE7 # DW_AT_high_pc .uleb128 0x1 # DW_AT_frame_base .byte 0x9c # DW_OP_call_frame_cfa # DW_AT_GNU_all_tail_call_sites die16c: .uleb128 0x22 # (DIE (0x16c) DW_TAG_variable) .long die64 - d # DW_AT_specification .uleb128 0x9 # DW_AT_location .byte 0x3 # DW_OP_addr .quad _ZN1X1vE die17b: .uleb128 0xf # (DIE (0x17b) DW_TAG_class_type) .ascii "C\0" # DW_AT_name .byte 0x97 # DW_AT_signature .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f # DW_AT_declaration .long die19b - d # DW_AT_sibling die18a: .uleb128 0xd # (DIE (0x18a) DW_TAG_subprogram) # DW_AT_external .ascii "C\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x1 # DW_AT_decl_line .byte 0x1 # DW_AT_accessibility # DW_AT_declaration .long die194 - d # DW_AT_object_pointer die194: .uleb128 0x7 # (DIE (0x194) DW_TAG_formal_parameter) .long die19b - d # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0x18a .byte 0 # end of children of DIE 0x17b die19b: .uleb128 0x11 # (DIE (0x19b) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .byte 0x97 # DW_AT_type .byte 0xc1 .byte 0x75 .byte 0xd6 .byte 0xb1 .byte 0xf1 .byte 0x93 .byte 0x9f die1a5: .uleb128 0x2 # (DIE (0x1a5) DW_TAG_namespace) .ascii "X\0" # DW_AT_name # DW_AT_declaration .long die1bd - d # DW_AT_sibling die1ac: .uleb128 0x23 # (DIE (0x1ac) DW_TAG_structure_type) # DW_AT_declaration die1ad: .uleb128 0x6 # (DIE (0x1ad) DW_TAG_subprogram) .ascii "t2\0" # DW_AT_name # DW_AT_artificial # DW_AT_declaration .long die1b5 - d # DW_AT_object_pointer die1b5: .uleb128 0x7 # (DIE (0x1b5) DW_TAG_formal_parameter) .long die1bd - d # DW_AT_type # DW_AT_artificial .byte 0 # end of children of DIE 0x1ad .byte 0 # end of children of DIE 0x1ac .byte 0 # end of children of DIE 0x1a5 die1bd: .uleb128 0x8 # (DIE (0x1bd) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .long die1c6 - d # DW_AT_type die1c3: .uleb128 0x9 # (DIE (0x1c3) DW_TAG_namespace) .ascii "X\0" # DW_AT_name # DW_AT_declaration die1c6: .uleb128 0x13 # (DIE (0x1c6) DW_TAG_typedef) .ascii "t2\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (anonstruct.C) .byte 0x6 # DW_AT_decl_line .byte 0x9d # DW_AT_type .byte 0x52 .byte 0xf6 .byte 0x83 .byte 0x4a .byte 0x49 .byte 0xe8 .byte 0x45 .byte 0 # end of children of DIE 0x1c3 .byte 0 # end of children of DIE 0xb len: .section .debug_abbrev,"",@progbits .Ldebug_abbrev0: .uleb128 0x1 # (abbrev code) .uleb128 0x41 # (TAG: DW_TAG_type_unit) .byte 0x1 # DW_children_yes .uleb128 0x13 # (DW_AT_language) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x10 # (DW_AT_stmt_list) .uleb128 0x17 # (DW_FORM_sec_offset) .byte 0 .byte 0 .uleb128 0x2 # (abbrev code) .uleb128 0x39 # (TAG: DW_TAG_namespace) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x3 # (abbrev code) .uleb128 0x13 # (TAG: DW_TAG_structure_type) .byte 0 # DW_children_no .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0x4 # (abbrev code) .uleb128 0x13 # (TAG: DW_TAG_structure_type) .byte 0x1 # DW_children_yes .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x6e # (DW_AT_linkage_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x47 # (DW_AT_specification) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x5 # (abbrev code) .uleb128 0xd # (TAG: DW_TAG_member) .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 0x20 # (DW_FORM_ref_sig8) .uleb128 0x38 # (DW_AT_data_member_location) .uleb128 0xb # (DW_FORM_data1) .byte 0 .byte 0 .uleb128 0x6 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x7 # (abbrev code) .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) .byte 0 # DW_children_no .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0x8 # (abbrev code) .uleb128 0xf # (TAG: DW_TAG_pointer_type) .byte 0 # DW_children_no .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x9 # (abbrev code) .uleb128 0x39 # (TAG: DW_TAG_namespace) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0xa # (abbrev code) .uleb128 0x16 # (TAG: DW_TAG_typedef) .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) .byte 0 .byte 0 .uleb128 0xb # (abbrev code) .uleb128 0x41 # (TAG: DW_TAG_type_unit) .byte 0x1 # DW_children_yes .uleb128 0x13 # (DW_AT_language) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x210f # (DW_AT_GNU_odr_signature) .uleb128 0x7 # (DW_FORM_data8) .uleb128 0x10 # (DW_AT_stmt_list) .uleb128 0x17 # (DW_FORM_sec_offset) .byte 0 .byte 0 .uleb128 0xc # (abbrev code) .uleb128 0x2 # (TAG: DW_TAG_class_type) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0xd # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x3f # (DW_AT_external) .uleb128 0x19 # (DW_FORM_flag_present) .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 0x32 # (DW_AT_accessibility) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0xe # (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 0x17 # (DW_FORM_sec_offset) .uleb128 0x11 # (DW_AT_low_pc) .uleb128 0x1 # (DW_FORM_addr) .uleb128 0x10 # (DW_AT_stmt_list) .uleb128 0x17 # (DW_FORM_sec_offset) .byte 0 .byte 0 .uleb128 0xf # (abbrev code) .uleb128 0x2 # (TAG: DW_TAG_class_type) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x69 # (DW_AT_signature) .uleb128 0x20 # (DW_FORM_ref_sig8) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x10 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0 # DW_children_no .uleb128 0x3f # (DW_AT_external) .uleb128 0x19 # (DW_FORM_flag_present) .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 0x32 # (DW_AT_accessibility) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x11 # (abbrev code) .uleb128 0xf # (TAG: DW_TAG_pointer_type) .byte 0 # DW_children_no .uleb128 0xb # (DW_AT_byte_size) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x49 # (DW_AT_type) .uleb128 0x20 # (DW_FORM_ref_sig8) .byte 0 .byte 0 .uleb128 0x12 # (abbrev code) .uleb128 0x39 # (TAG: DW_TAG_namespace) .byte 0x1 # DW_children_yes .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 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x13 # (abbrev code) .uleb128 0x16 # (TAG: DW_TAG_typedef) .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 0x20 # (DW_FORM_ref_sig8) .byte 0 .byte 0 .uleb128 0x14 # (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 0x6e # (DW_AT_linkage_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x3f # (DW_AT_external) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0x15 # (abbrev code) .uleb128 0x13 # (TAG: DW_TAG_structure_type) .byte 0x1 # DW_children_yes .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x2007 # (DW_AT_MIPS_linkage_name) .uleb128 0xe # (DW_FORM_strp) .byte 0 .byte 0 .uleb128 0x16 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0x8 # (DW_FORM_string) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x17 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x47 # (DW_AT_specification) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x20 # (DW_AT_inline) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x18 # (abbrev code) .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0x19 # (abbrev code) .uleb128 0x26 # (TAG: DW_TAG_const_type) .byte 0 # DW_children_no .uleb128 0x49 # (DW_AT_type) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x1a # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x31 # (DW_AT_abstract_origin) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x6e # (DW_AT_linkage_name) .uleb128 0xe # (DW_FORM_strp) .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 0x18 # (DW_FORM_exprloc) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2117 # (DW_AT_GNU_all_call_sites) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x1b # (abbrev code) .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) .byte 0 # DW_children_no .uleb128 0x31 # (DW_AT_abstract_origin) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2 # (DW_AT_location) .uleb128 0x18 # (DW_FORM_exprloc) .byte 0 .byte 0 .uleb128 0x1c # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x47 # (DW_AT_specification) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x3a # (DW_AT_decl_file) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x3b # (DW_AT_decl_line) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x20 # (DW_AT_inline) .uleb128 0xb # (DW_FORM_data1) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x1d # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x31 # (DW_AT_abstract_origin) .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 0x18 # (DW_FORM_exprloc) .uleb128 0x64 # (DW_AT_object_pointer) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x1e # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0x1 # DW_children_yes .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .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 0x18 # (DW_FORM_exprloc) .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites) .uleb128 0x19 # (DW_FORM_flag_present) .uleb128 0x1 # (DW_AT_sibling) .uleb128 0x13 # (DW_FORM_ref4) .byte 0 .byte 0 .uleb128 0x1f # (abbrev code) .uleb128 0x5 # (TAG: DW_TAG_formal_parameter) .byte 0 # DW_children_no .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 0x2 # (DW_AT_location) .uleb128 0x18 # (DW_FORM_exprloc) .byte 0 .byte 0 .uleb128 0x20 # (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 0x21 # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0 # DW_children_no .uleb128 0x3 # (DW_AT_name) .uleb128 0xe # (DW_FORM_strp) .uleb128 0x34 # (DW_AT_artificial) .uleb128 0x19 # (DW_FORM_flag_present) .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 0x18 # (DW_FORM_exprloc) .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .uleb128 0x22 # (abbrev code) .uleb128 0x34 # (TAG: DW_TAG_variable) .byte 0 # DW_children_no .uleb128 0x47 # (DW_AT_specification) .uleb128 0x13 # (DW_FORM_ref4) .uleb128 0x2 # (DW_AT_location) .uleb128 0x18 # (DW_FORM_exprloc) .byte 0 .byte 0 .uleb128 0x23 # (abbrev code) .uleb128 0x13 # (TAG: DW_TAG_structure_type) .byte 0x1 # DW_children_yes .uleb128 0x3c # (DW_AT_declaration) .uleb128 0x19 # (DW_FORM_flag_present) .byte 0 .byte 0 .byte 0 .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 .LFB1 # Address .quad .LFE1-.LFB1 # Length .quad 0 .quad 0 .section .debug_ranges,"",@progbits .Ldebug_ranges0: .quad .Ltext0 # Offset 0 .quad .Letext0 .quad .LFB1 # Offset 0x10 .quad .LFE1 .quad 0 .quad 0 .section .debug_line,"",@progbits .Ldebug_line0: .section .debug_str,"MS",@progbits,1 .LASF4: .string "GNU C++ 4.7.0 20110927 (experimental)" .LASF5: .string "anonstruct.C" .LASF7: .string "_ZN1X1vE" .LASF10: .string "_GLOBAL__sub_I__ZN1X1vE" .LASF3: .string "__priority" .LASF1: .string "this" .LASF2: .string "__initialize_p" .LASF6: .string "/home/jkratoch/t" .LASF0: .string "N1X2t2E" .LASF8: .string "_ZN1CC2Ev" .LASF9: .string "__static_initialization_and_destruction_0" .Lmystr: .string "N1X2t2E" .ident "GCC: (GNU) 4.7.0 20110927 (experimental)" .section .note.GNU-stack,"",@progbits