195 lines · plain
1# clang++ -g2 -fdebug-types-section -gdwarf-4 -ffunction-sections2# int foo(int i) {3# if (i == 1)4# return 2;5# return 1;6# }7# int main(int argc, char* argv[]) {8# int j = argc;9# if (j ==3)10# j+= foo(argc);11# return j;12# }13 .text14 .file "helper.cpp"15 .file 1 "/test" "helper.cpp"16 .section .debug_types,"G",@progbits,7448148824980338162,comdat17.Ltu_begin0:18 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit19.Ldebug_info_start0:20 .short 4 # DWARF version number21 .long .debug_abbrev # Offset Into Abbrev. Section22 .byte 8 # Address Size (in bytes)23 .quad 7448148824980338162 # Type Signature24 .long 30 # Type DIE Offset25 .byte 1 # Abbrev [1] 0x17:0x25 DW_TAG_type_unit26 .short 33 # DW_AT_language27 .long .Lline_table_start0 # DW_AT_stmt_list28 .byte 2 # Abbrev [2] 0x1e:0x16 DW_TAG_structure_type29 .byte 5 # DW_AT_calling_convention30 .long .Linfo_string6 # DW_AT_name31 .byte 4 # DW_AT_byte_size32 .byte 1 # DW_AT_decl_file33 .byte 1 # DW_AT_decl_line34 .byte 3 # Abbrev [3] 0x27:0xc DW_TAG_member35 .long .Linfo_string4 # DW_AT_name36 .long 52 # DW_AT_type37 .byte 1 # DW_AT_decl_file38 .byte 2 # DW_AT_decl_line39 .byte 0 # DW_AT_data_member_location40 .byte 0 # End Of Children Mark41 .byte 4 # Abbrev [4] 0x34:0x7 DW_TAG_base_type42 .long .Linfo_string5 # DW_AT_name43 .byte 5 # DW_AT_encoding44 .byte 4 # DW_AT_byte_size45 .byte 0 # End Of Children Mark46.Ldebug_info_end0:47 .type f2,@object # @f248 .bss49 .globl f250 .p2align 2, 0x051f2:52 .zero 453 .size f2, 454 55 .section .debug_abbrev,"",@progbits56 .byte 1 # Abbreviation Code57 .byte 65 # DW_TAG_type_unit58 .byte 1 # DW_CHILDREN_yes59 .byte 19 # DW_AT_language60 .byte 5 # DW_FORM_data261 .byte 16 # DW_AT_stmt_list62 .byte 23 # DW_FORM_sec_offset63 .byte 0 # EOM(1)64 .byte 0 # EOM(2)65 .byte 2 # Abbreviation Code66 .byte 19 # DW_TAG_structure_type67 .byte 1 # DW_CHILDREN_yes68 .byte 54 # DW_AT_calling_convention69 .byte 11 # DW_FORM_data170 .byte 3 # DW_AT_name71 .byte 14 # DW_FORM_strp72 .byte 11 # DW_AT_byte_size73 .byte 11 # DW_FORM_data174 .byte 58 # DW_AT_decl_file75 .byte 11 # DW_FORM_data176 .byte 59 # DW_AT_decl_line77 .byte 11 # DW_FORM_data178 .byte 0 # EOM(1)79 .byte 0 # EOM(2)80 .byte 3 # Abbreviation Code81 .byte 13 # DW_TAG_member82 .byte 0 # DW_CHILDREN_no83 .byte 3 # DW_AT_name84 .byte 14 # DW_FORM_strp85 .byte 73 # DW_AT_type86 .byte 19 # DW_FORM_ref487 .byte 58 # DW_AT_decl_file88 .byte 11 # DW_FORM_data189 .byte 59 # DW_AT_decl_line90 .byte 11 # DW_FORM_data191 .byte 56 # DW_AT_data_member_location92 .byte 11 # DW_FORM_data193 .byte 0 # EOM(1)94 .byte 0 # EOM(2)95 .byte 4 # Abbreviation Code96 .byte 36 # DW_TAG_base_type97 .byte 0 # DW_CHILDREN_no98 .byte 3 # DW_AT_name99 .byte 14 # DW_FORM_strp100 .byte 62 # DW_AT_encoding101 .byte 11 # DW_FORM_data1102 .byte 11 # DW_AT_byte_size103 .byte 11 # DW_FORM_data1104 .byte 0 # EOM(1)105 .byte 0 # EOM(2)106 .byte 5 # Abbreviation Code107 .byte 17 # DW_TAG_compile_unit108 .byte 1 # DW_CHILDREN_yes109 .byte 37 # DW_AT_producer110 .byte 14 # DW_FORM_strp111 .byte 19 # DW_AT_language112 .byte 5 # DW_FORM_data2113 .byte 3 # DW_AT_name114 .byte 14 # DW_FORM_strp115 .byte 16 # DW_AT_stmt_list116 .byte 23 # DW_FORM_sec_offset117 .byte 27 # DW_AT_comp_dir118 .byte 14 # DW_FORM_strp119 .byte 0 # EOM(1)120 .byte 0 # EOM(2)121 .byte 6 # Abbreviation Code122 .byte 52 # DW_TAG_variable123 .byte 0 # DW_CHILDREN_no124 .byte 3 # DW_AT_name125 .byte 14 # DW_FORM_strp126 .byte 73 # DW_AT_type127 .byte 19 # DW_FORM_ref4128 .byte 63 # DW_AT_external129 .byte 25 # DW_FORM_flag_present130 .byte 58 # DW_AT_decl_file131 .byte 11 # DW_FORM_data1132 .byte 59 # DW_AT_decl_line133 .byte 11 # DW_FORM_data1134 .byte 2 # DW_AT_location135 .byte 24 # DW_FORM_exprloc136 .byte 0 # EOM(1)137 .byte 0 # EOM(2)138 .byte 7 # Abbreviation Code139 .byte 19 # DW_TAG_structure_type140 .byte 0 # DW_CHILDREN_no141 .byte 60 # DW_AT_declaration142 .byte 25 # DW_FORM_flag_present143 .byte 105 # DW_AT_signature144 .byte 32 # DW_FORM_ref_sig8145 .byte 0 # EOM(1)146 .byte 0 # EOM(2)147 .byte 0 # EOM(3)148 .section .debug_info,"",@progbits149.Lcu_begin0:150 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit151.Ldebug_info_start1:152 .short 4 # DWARF version number153 .long .debug_abbrev # Offset Into Abbrev. Section154 .byte 8 # Address Size (in bytes)155 .byte 5 # Abbrev [5] 0xb:0x32 DW_TAG_compile_unit156 .long .Linfo_string0 # DW_AT_producer157 .short 33 # DW_AT_language158 .long .Linfo_string1 # DW_AT_name159 .long .Lline_table_start0 # DW_AT_stmt_list160 .long .Linfo_string2 # DW_AT_comp_dir161 .byte 6 # Abbrev [6] 0x1e:0x15 DW_TAG_variable162 .long .Linfo_string3 # DW_AT_name163 .long 51 # DW_AT_type164 # DW_AT_external165 .byte 1 # DW_AT_decl_file166 .byte 4 # DW_AT_decl_line167 .byte 9 # DW_AT_location168 .byte 3169 .quad f2170 .byte 7 # Abbrev [7] 0x33:0x9 DW_TAG_structure_type171 # DW_AT_declaration172 .quad 7448148824980338162 # DW_AT_signature173 .byte 0 # End Of Children Mark174.Ldebug_info_end1:175 .section .debug_str,"MS",@progbits,1176.Linfo_string0:177 .asciz "clang version 18.0.0git" # string offset=0178.Linfo_string1:179 .asciz "helper.cpp" # string offset=24180.Linfo_string2:181 .asciz "/test" # string offset=35182.Linfo_string3:183 .asciz "f2" # string offset=73184.Linfo_string4:185 .asciz "i" # string offset=76186.Linfo_string5:187 .asciz "int" # string offset=78188.Linfo_string6:189 .asciz "Foo" # string offset=82190 .ident "clang version 18.0.0git"191 .section ".note.GNU-stack","",@progbits192 .addrsig193 .section .debug_line,"",@progbits194.Lline_table_start0:195