391 lines · plain
1## clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-52## int doStuffOther(int val) {3## if (val)4## ++val;5## return val;6## }7##8## int mainOther(int argc, const char** argv) {9## return doStuffOther(argc);10## }11 .text12 .file "mainOther.cpp"13 .section .text._Z12doStuffOtheri,"ax",@progbits14 .globl _Z12doStuffOtheri # -- Begin function _Z12doStuffOtheri15 .p2align 4, 0x9016 .type _Z12doStuffOtheri,@function17_Z12doStuffOtheri: # @_Z12doStuffOtheri18.Lfunc_begin0:19 .file 0 "." "mainOther.cpp" md5 0xe43cc8133fbf67674318eacbcc46a59e20 .loc 0 1 0 # mainOther.cpp:1:021 .cfi_startproc22# %bb.0: # %entry23 pushq %rbp24 .cfi_def_cfa_offset 1625 .cfi_offset %rbp, -1626 movq %rsp, %rbp27 .cfi_def_cfa_register %rbp28 movl %edi, -4(%rbp)29.Ltmp0:30 .loc 0 2 8 prologue_end # mainOther.cpp:2:831 cmpl $0, -4(%rbp)32.Ltmp1:33 .loc 0 2 8 is_stmt 0 # mainOther.cpp:2:834 je _Z12doStuffOtheri.__part.235 jmp _Z12doStuffOtheri.__part.136.LBB_END0_0:37 .cfi_endproc38 .section .text._Z12doStuffOtheri,"ax",@progbits,unique,139_Z12doStuffOtheri.__part.1: # %if.then40 .cfi_startproc41 .cfi_def_cfa %rbp, 1642 .cfi_offset %rbp, -1643 .loc 0 3 6 is_stmt 1 # mainOther.cpp:3:644 movl -4(%rbp), %eax45 addl $1, %eax46 movl %eax, -4(%rbp)47 jmp _Z12doStuffOtheri.__part.248.LBB_END0_1:49 .size _Z12doStuffOtheri.__part.1, .LBB_END0_1-_Z12doStuffOtheri.__part.150 .cfi_endproc51 .section .text._Z12doStuffOtheri,"ax",@progbits,unique,252_Z12doStuffOtheri.__part.2: # %if.end53 .cfi_startproc54 .cfi_def_cfa %rbp, 1655 .cfi_offset %rbp, -1656 .loc 0 4 11 # mainOther.cpp:4:1157 movl -4(%rbp), %eax58 .loc 0 4 4 epilogue_begin is_stmt 0 # mainOther.cpp:4:459 popq %rbp60 .cfi_def_cfa %rsp, 861 retq62.LBB_END0_2:63 .size _Z12doStuffOtheri.__part.2, .LBB_END0_2-_Z12doStuffOtheri.__part.264 .cfi_endproc65 .section .text._Z12doStuffOtheri,"ax",@progbits66.Lfunc_end0:67 .size _Z12doStuffOtheri, .Lfunc_end0-_Z12doStuffOtheri68 # -- End function69 .section .text._Z9mainOtheriPPKc,"ax",@progbits70 .globl _Z9mainOtheriPPKc # -- Begin function _Z9mainOtheriPPKc71 .p2align 4, 0x9072 .type _Z9mainOtheriPPKc,@function73_Z9mainOtheriPPKc: # @_Z9mainOtheriPPKc74.Lfunc_begin1:75 .loc 0 7 0 is_stmt 1 # mainOther.cpp:7:076 .cfi_startproc77# %bb.0: # %entry78 pushq %rbp79 .cfi_def_cfa_offset 1680 .cfi_offset %rbp, -1681 movq %rsp, %rbp82 .cfi_def_cfa_register %rbp83 subq $16, %rsp84 movl %edi, -4(%rbp)85 movq %rsi, -16(%rbp)86.Ltmp2:87 .loc 0 8 27 prologue_end # mainOther.cpp:8:2788 movl -4(%rbp), %edi89 .loc 0 8 14 is_stmt 0 # mainOther.cpp:8:1490 callq _Z12doStuffOtheri91 .loc 0 8 6 epilogue_begin # mainOther.cpp:8:692 addq $16, %rsp93 popq %rbp94 .cfi_def_cfa %rsp, 895 retq96.LBB_END1_0:97 .cfi_endproc98.Lfunc_end1:99 .size _Z9mainOtheriPPKc, .Lfunc_end1-_Z9mainOtheriPPKc100 # -- End function101 .section .debug_abbrev,"",@progbits102 .byte 1 # Abbreviation Code103 .byte 17 # DW_TAG_compile_unit104 .byte 1 # DW_CHILDREN_yes105 .byte 37 # DW_AT_producer106 .byte 37 # DW_FORM_strx1107 .byte 19 # DW_AT_language108 .byte 5 # DW_FORM_data2109 .byte 3 # DW_AT_name110 .byte 37 # DW_FORM_strx1111 .byte 114 # DW_AT_str_offsets_base112 .byte 23 # DW_FORM_sec_offset113 .byte 16 # DW_AT_stmt_list114 .byte 23 # DW_FORM_sec_offset115 .byte 27 # DW_AT_comp_dir116 .byte 37 # DW_FORM_strx1117 .byte 17 # DW_AT_low_pc118 .byte 1 # DW_FORM_addr119 .byte 85 # DW_AT_ranges120 .byte 35 # DW_FORM_rnglistx121 .byte 115 # DW_AT_addr_base122 .byte 23 # DW_FORM_sec_offset123 .byte 116 # DW_AT_rnglists_base124 .byte 23 # DW_FORM_sec_offset125 .byte 0 # EOM(1)126 .byte 0 # EOM(2)127 .byte 2 # Abbreviation Code128 .byte 46 # DW_TAG_subprogram129 .byte 1 # DW_CHILDREN_yes130 .byte 85 # DW_AT_ranges131 .byte 35 # DW_FORM_rnglistx132 .byte 64 # DW_AT_frame_base133 .byte 24 # DW_FORM_exprloc134 .byte 110 # DW_AT_linkage_name135 .byte 37 # DW_FORM_strx1136 .byte 3 # DW_AT_name137 .byte 37 # DW_FORM_strx1138 .byte 58 # DW_AT_decl_file139 .byte 11 # DW_FORM_data1140 .byte 59 # DW_AT_decl_line141 .byte 11 # DW_FORM_data1142 .byte 73 # DW_AT_type143 .byte 19 # DW_FORM_ref4144 .byte 63 # DW_AT_external145 .byte 25 # DW_FORM_flag_present146 .byte 0 # EOM(1)147 .byte 0 # EOM(2)148 .byte 3 # Abbreviation Code149 .byte 5 # DW_TAG_formal_parameter150 .byte 0 # DW_CHILDREN_no151 .byte 2 # DW_AT_location152 .byte 24 # DW_FORM_exprloc153 .byte 3 # DW_AT_name154 .byte 37 # DW_FORM_strx1155 .byte 58 # DW_AT_decl_file156 .byte 11 # DW_FORM_data1157 .byte 59 # DW_AT_decl_line158 .byte 11 # DW_FORM_data1159 .byte 73 # DW_AT_type160 .byte 19 # DW_FORM_ref4161 .byte 0 # EOM(1)162 .byte 0 # EOM(2)163 .byte 4 # Abbreviation Code164 .byte 46 # DW_TAG_subprogram165 .byte 1 # DW_CHILDREN_yes166 .byte 17 # DW_AT_low_pc167 .byte 27 # DW_FORM_addrx168 .byte 18 # DW_AT_high_pc169 .byte 6 # DW_FORM_data4170 .byte 64 # DW_AT_frame_base171 .byte 24 # DW_FORM_exprloc172 .byte 110 # DW_AT_linkage_name173 .byte 37 # DW_FORM_strx1174 .byte 3 # DW_AT_name175 .byte 37 # DW_FORM_strx1176 .byte 58 # DW_AT_decl_file177 .byte 11 # DW_FORM_data1178 .byte 59 # DW_AT_decl_line179 .byte 11 # DW_FORM_data1180 .byte 73 # DW_AT_type181 .byte 19 # DW_FORM_ref4182 .byte 63 # DW_AT_external183 .byte 25 # DW_FORM_flag_present184 .byte 0 # EOM(1)185 .byte 0 # EOM(2)186 .byte 5 # Abbreviation Code187 .byte 36 # DW_TAG_base_type188 .byte 0 # DW_CHILDREN_no189 .byte 3 # DW_AT_name190 .byte 37 # DW_FORM_strx1191 .byte 62 # DW_AT_encoding192 .byte 11 # DW_FORM_data1193 .byte 11 # DW_AT_byte_size194 .byte 11 # DW_FORM_data1195 .byte 0 # EOM(1)196 .byte 0 # EOM(2)197 .byte 6 # Abbreviation Code198 .byte 15 # DW_TAG_pointer_type199 .byte 0 # DW_CHILDREN_no200 .byte 73 # DW_AT_type201 .byte 19 # DW_FORM_ref4202 .byte 0 # EOM(1)203 .byte 0 # EOM(2)204 .byte 7 # Abbreviation Code205 .byte 38 # DW_TAG_const_type206 .byte 0 # DW_CHILDREN_no207 .byte 73 # DW_AT_type208 .byte 19 # DW_FORM_ref4209 .byte 0 # EOM(1)210 .byte 0 # EOM(2)211 .byte 0 # EOM(3)212 .section .debug_info,"",@progbits213.Lcu_begin0:214 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit215.Ldebug_info_start0:216 .short 5 # DWARF version number217 .byte 1 # DWARF Unit Type218 .byte 8 # Address Size (in bytes)219 .long .debug_abbrev # Offset Into Abbrev. Section220 .byte 1 # Abbrev [1] 0xc:0x76 DW_TAG_compile_unit221 .byte 0 # DW_AT_producer222 .short 33 # DW_AT_language223 .byte 1 # DW_AT_name224 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base225 .long .Lline_table_start0 # DW_AT_stmt_list226 .byte 2 # DW_AT_comp_dir227 .quad 0 # DW_AT_low_pc228 .byte 1 # DW_AT_ranges229 .long .Laddr_table_base0 # DW_AT_addr_base230 .long .Lrnglists_table_base0 # DW_AT_rnglists_base231 .byte 2 # Abbrev [2] 0x2b:0x18 DW_TAG_subprogram232 .byte 0 # DW_AT_ranges233 .byte 1 # DW_AT_frame_base234 .byte 86235 .byte 3 # DW_AT_linkage_name236 .byte 4 # DW_AT_name237 .byte 0 # DW_AT_decl_file238 .byte 1 # DW_AT_decl_line239 .long 106 # DW_AT_type240 # DW_AT_external241 .byte 3 # Abbrev [3] 0x37:0xb DW_TAG_formal_parameter242 .byte 2 # DW_AT_location243 .byte 145244 .byte 124245 .byte 8 # DW_AT_name246 .byte 0 # DW_AT_decl_file247 .byte 1 # DW_AT_decl_line248 .long 106 # DW_AT_type249 .byte 0 # End Of Children Mark250 .byte 4 # Abbrev [4] 0x43:0x27 DW_TAG_subprogram251 .byte 3 # DW_AT_low_pc252 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc253 .byte 1 # DW_AT_frame_base254 .byte 86255 .byte 6 # DW_AT_linkage_name256 .byte 7 # DW_AT_name257 .byte 0 # DW_AT_decl_file258 .byte 7 # DW_AT_decl_line259 .long 106 # DW_AT_type260 # DW_AT_external261 .byte 3 # Abbrev [3] 0x53:0xb DW_TAG_formal_parameter262 .byte 2 # DW_AT_location263 .byte 145264 .byte 124265 .byte 9 # DW_AT_name266 .byte 0 # DW_AT_decl_file267 .byte 7 # DW_AT_decl_line268 .long 106 # DW_AT_type269 .byte 3 # Abbrev [3] 0x5e:0xb DW_TAG_formal_parameter270 .byte 2 # DW_AT_location271 .byte 145272 .byte 112273 .byte 10 # DW_AT_name274 .byte 0 # DW_AT_decl_file275 .byte 7 # DW_AT_decl_line276 .long 110 # DW_AT_type277 .byte 0 # End Of Children Mark278 .byte 5 # Abbrev [5] 0x6a:0x4 DW_TAG_base_type279 .byte 5 # DW_AT_name280 .byte 5 # DW_AT_encoding281 .byte 4 # DW_AT_byte_size282 .byte 6 # Abbrev [6] 0x6e:0x5 DW_TAG_pointer_type283 .long 115 # DW_AT_type284 .byte 6 # Abbrev [6] 0x73:0x5 DW_TAG_pointer_type285 .long 120 # DW_AT_type286 .byte 7 # Abbrev [7] 0x78:0x5 DW_TAG_const_type287 .long 125 # DW_AT_type288 .byte 5 # Abbrev [5] 0x7d:0x4 DW_TAG_base_type289 .byte 11 # DW_AT_name290 .byte 6 # DW_AT_encoding291 .byte 1 # DW_AT_byte_size292 .byte 0 # End Of Children Mark293.Ldebug_info_end0:294 .section .debug_rnglists,"",@progbits295 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length296.Ldebug_list_header_start0:297 .short 5 # Version298 .byte 8 # Address size299 .byte 0 # Segment selector size300 .long 2 # Offset entry count301.Lrnglists_table_base0:302 .long .Ldebug_ranges0-.Lrnglists_table_base0303 .long .Ldebug_ranges1-.Lrnglists_table_base0304.Ldebug_ranges0:305 .byte 3 # DW_RLE_startx_length306 .byte 0 # start index307 .uleb128 .LBB_END0_1-_Z12doStuffOtheri.__part.1 # length308 .byte 3 # DW_RLE_startx_length309 .byte 1 # start index310 .uleb128 .LBB_END0_2-_Z12doStuffOtheri.__part.2 # length311 .byte 3 # DW_RLE_startx_length312 .byte 2 # start index313 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length314 .byte 0 # DW_RLE_end_of_list315.Ldebug_ranges1:316 .byte 3 # DW_RLE_startx_length317 .byte 0 # start index318 .uleb128 .LBB_END0_1-_Z12doStuffOtheri.__part.1 # length319 .byte 3 # DW_RLE_startx_length320 .byte 1 # start index321 .uleb128 .LBB_END0_2-_Z12doStuffOtheri.__part.2 # length322 .byte 3 # DW_RLE_startx_length323 .byte 2 # start index324 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length325 .byte 3 # DW_RLE_startx_length326 .byte 3 # start index327 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length328 .byte 0 # DW_RLE_end_of_list329.Ldebug_list_header_end0:330 .section .debug_str_offsets,"",@progbits331 .long 52 # Length of String Offsets Set332 .short 5333 .short 0334.Lstr_offsets_base0:335 .section .debug_str,"MS",@progbits,1336.Linfo_string0:337 .asciz "clang version 19.0.0git (git@github.com:llvm/llvm-project.git df542e1ed82bd4e5a9e345d3a3ae63a76893a0cf)" # string offset=0338.Linfo_string1:339 .asciz "mainOther.cpp" # string offset=104340.Linfo_string2:341 .asciz "." # string offset=118342.Linfo_string3:343 .asciz "_Z12doStuffOtheri" # string offset=120344.Linfo_string4:345 .asciz "doStuffOther" # string offset=138346.Linfo_string5:347 .asciz "int" # string offset=151348.Linfo_string6:349 .asciz "_Z9mainOtheriPPKc" # string offset=155350.Linfo_string7:351 .asciz "mainOther" # string offset=173352.Linfo_string8:353 .asciz "val" # string offset=183354.Linfo_string9:355 .asciz "argc" # string offset=187356.Linfo_string10:357 .asciz "argv" # string offset=192358.Linfo_string11:359 .asciz "char" # string offset=197360 .section .debug_str_offsets,"",@progbits361 .long .Linfo_string0362 .long .Linfo_string1363 .long .Linfo_string2364 .long .Linfo_string3365 .long .Linfo_string4366 .long .Linfo_string5367 .long .Linfo_string6368 .long .Linfo_string7369 .long .Linfo_string8370 .long .Linfo_string9371 .long .Linfo_string10372 .long .Linfo_string11373 .section .debug_addr,"",@progbits374 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution375.Ldebug_addr_start0:376 .short 5 # DWARF version number377 .byte 8 # Address size378 .byte 0 # Segment selector size379.Laddr_table_base0:380 .quad _Z12doStuffOtheri.__part.1381 .quad _Z12doStuffOtheri.__part.2382 .quad .Lfunc_begin0383 .quad .Lfunc_begin1384.Ldebug_addr_end0:385 .ident "clang version 19.0.0git (git@github.com:llvm/llvm-project.git df542e1ed82bd4e5a9e345d3a3ae63a76893a0cf)"386 .section ".note.GNU-stack","",@progbits387 .addrsig388 .addrsig_sym _Z12doStuffOtheri389 .section .debug_line,"",@progbits390.Lline_table_start0:391