502 lines · plain
1 .text2 .file "main.cpp"3 .globl main # -- Begin function main4 .p2align 4, 0x905 .type main,@function6main: # @main7.Lfunc_begin0:8 .file 1 "." "main.cpp"9 .loc 1 5 0 # main.cpp:5:010 .cfi_startproc11# %bb.0: # %entry12 #DEBUG_VALUE: main:argc <- $edi13 #DEBUG_VALUE: main:argv <- $rsi14 pushq %rbx15 .cfi_def_cfa_offset 1616 .cfi_offset %rbx, -1617 movl %edi, %ebx18.Ltmp0:19 .loc 1 6 7 prologue_end # main.cpp:6:720 cmpq $0, _Z13may_not_existv@GOTPCREL(%rip)21 je .LBB0_222.Ltmp1:23# %bb.1: # %if.then24 #DEBUG_VALUE: main:argc <- $ebx25 #DEBUG_VALUE: main:argv <- $rsi26 .loc 1 7 5 # main.cpp:7:527 callq _Z13may_not_existv@PLT28.Ltmp2:29 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi30.LBB0_2: # %if.end31 #DEBUG_VALUE: main:argc <- $ebx32 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi33 #DEBUG_VALUE: main:j <- 034 #DEBUG_VALUE: helper:i <- $ebx35 .loc 1 2 10 # main.cpp:2:1036 incl %ebx37.Ltmp3:38 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi39 #DEBUG_VALUE: helper:i <- $ebx40 #DEBUG_VALUE: main:j <- $ebx41 .loc 1 10 3 # main.cpp:10:342 movl %ebx, %eax43 .loc 1 10 3 epilogue_begin is_stmt 0 # main.cpp:10:344 popq %rbx45.Ltmp4:46 #DEBUG_VALUE: helper:i <- $eax47 #DEBUG_VALUE: main:j <- $eax48 .cfi_def_cfa_offset 849 retq50.Ltmp5:51.Lfunc_end0:52 .size main, .Lfunc_end0-main53 .cfi_endproc54 # -- End function55 .section .debug_loc.dwo,"e",@progbits56.Ldebug_loc0:57 .byte 358 .byte 059 .long .Ltmp1-.Lfunc_begin060 .short 1 # Loc expr size61 .byte 85 # super-register DW_OP_reg562 .byte 363 .byte 264 .long .Ltmp3-.Ltmp165 .short 1 # Loc expr size66 .byte 83 # super-register DW_OP_reg367 .byte 368 .byte 369 .long .Lfunc_end0-.Ltmp370 .short 4 # Loc expr size71 .byte 243 # DW_OP_GNU_entry_value72 .byte 1 # 173 .byte 85 # super-register DW_OP_reg574 .byte 159 # DW_OP_stack_value75 .byte 076.Ldebug_loc1:77 .byte 378 .byte 079 .long .Ltmp2-.Lfunc_begin080 .short 1 # Loc expr size81 .byte 84 # DW_OP_reg482 .byte 383 .byte 184 .long .Lfunc_end0-.Ltmp285 .short 4 # Loc expr size86 .byte 243 # DW_OP_GNU_entry_value87 .byte 1 # 188 .byte 84 # DW_OP_reg489 .byte 159 # DW_OP_stack_value90 .byte 091.Ldebug_loc2:92 .byte 393 .byte 194 .long .Ltmp3-.Ltmp295 .short 3 # Loc expr size96 .byte 17 # DW_OP_consts97 .byte 0 # 098 .byte 159 # DW_OP_stack_value99 .byte 3100 .byte 3101 .long .Ltmp4-.Ltmp3102 .short 1 # Loc expr size103 .byte 83 # super-register DW_OP_reg3104 .byte 3105 .byte 4106 .long .Lfunc_end0-.Ltmp4107 .short 1 # Loc expr size108 .byte 80 # super-register DW_OP_reg0109 .byte 0110 .section .debug_abbrev,"",@progbits111 .byte 1 # Abbreviation Code112 .byte 17 # DW_TAG_compile_unit113 .byte 0 # DW_CHILDREN_no114 .byte 16 # DW_AT_stmt_list115 .byte 23 # DW_FORM_sec_offset116 .byte 27 # DW_AT_comp_dir117 .byte 14 # DW_FORM_strp118 .ascii "\264B" # DW_AT_GNU_pubnames119 .byte 25 # DW_FORM_flag_present120 .ascii "\260B" # DW_AT_GNU_dwo_name121 .byte 14 # DW_FORM_strp122 .ascii "\261B" # DW_AT_GNU_dwo_id123 .byte 7 # DW_FORM_data8124 .byte 17 # DW_AT_low_pc125 .byte 1 # DW_FORM_addr126 .byte 18 # DW_AT_high_pc127 .byte 6 # DW_FORM_data4128 .ascii "\263B" # DW_AT_GNU_addr_base129 .byte 23 # DW_FORM_sec_offset130 .byte 0 # EOM(1)131 .byte 0 # EOM(2)132 .byte 0 # EOM(3)133 .section .debug_info,"",@progbits134.Lcu_begin0:135 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit136.Ldebug_info_start0:137 .short 4 # DWARF version number138 .long .debug_abbrev # Offset Into Abbrev. Section139 .byte 8 # Address Size (in bytes)140 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit141 .long .Lline_table_start0 # DW_AT_stmt_list142 .long .Lskel_string0 # DW_AT_comp_dir143 # DW_AT_GNU_pubnames144 .long .Lskel_string1 # DW_AT_GNU_dwo_name145 .quad -5076722043903325778 # DW_AT_GNU_dwo_id146 .quad .Lfunc_begin0 # DW_AT_low_pc147 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc148 .long .Laddr_table_base0 # DW_AT_GNU_addr_base149.Ldebug_info_end0:150 .section .debug_str,"MS",@progbits,1151.Lskel_string0:152 .asciz "." # string offset=0153.Lskel_string1:154 .asciz "main.dwo" # string offset=38155 .section .debug_str.dwo,"eMS",@progbits,1156.Linfo_string0:157 .asciz "_ZL6helperi" # string offset=0158.Linfo_string1:159 .asciz "helper" # string offset=12160.Linfo_string2:161 .asciz "int" # string offset=19162.Linfo_string3:163 .asciz "i" # string offset=23164.Linfo_string4:165 .asciz "_Z13may_not_existv" # string offset=25166.Linfo_string5:167 .asciz "may_not_exist" # string offset=44168.Linfo_string6:169 .asciz "main" # string offset=58170.Linfo_string7:171 .asciz "argc" # string offset=63172.Linfo_string8:173 .asciz "argv" # string offset=68174.Linfo_string9:175 .asciz "char" # string offset=73176.Linfo_string10:177 .asciz "j" # string offset=78178.Linfo_string11:179 .asciz "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)" # string offset=80180.Linfo_string12:181 .asciz "main.cpp" # string offset=185182.Linfo_string13:183 .asciz "main.dwo" # string offset=194184 .section .debug_str_offsets.dwo,"e",@progbits185 .long 0186 .long 12187 .long 19188 .long 23189 .long 25190 .long 44191 .long 58192 .long 63193 .long 68194 .long 73195 .long 78196 .long 80197 .long 185198 .long 194199 .section .debug_info.dwo,"e",@progbits200 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit201.Ldebug_info_dwo_start0:202 .short 4 # DWARF version number203 .long 0 # Offset Into Abbrev. Section204 .byte 8 # Address Size (in bytes)205 .byte 1 # Abbrev [1] 0xb:0x88 DW_TAG_compile_unit206 .byte 11 # DW_AT_producer207 .short 33 # DW_AT_language208 .byte 12 # DW_AT_name209 .byte 13 # DW_AT_GNU_dwo_name210 .quad -5076722043903325778 # DW_AT_GNU_dwo_id211 .byte 2 # Abbrev [2] 0x19:0x13 DW_TAG_subprogram212 .byte 0 # DW_AT_linkage_name213 .byte 1 # DW_AT_name214 .byte 1 # DW_AT_decl_file215 .byte 1 # DW_AT_decl_line216 .long 44 # DW_AT_type217 .byte 1 # DW_AT_inline218 .byte 3 # Abbrev [3] 0x23:0x8 DW_TAG_formal_parameter219 .byte 3 # DW_AT_name220 .byte 1 # DW_AT_decl_file221 .byte 1 # DW_AT_decl_line222 .long 44 # DW_AT_type223 .byte 0 # End Of Children Mark224 .byte 4 # Abbrev [4] 0x2c:0x4 DW_TAG_base_type225 .byte 2 # DW_AT_name226 .byte 5 # DW_AT_encoding227 .byte 4 # DW_AT_byte_size228 .byte 5 # Abbrev [5] 0x30:0x4f DW_TAG_subprogram229 .byte 0 # DW_AT_low_pc230 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc231 .byte 1 # DW_AT_frame_base232 .byte 87233 # DW_AT_GNU_all_call_sites234 .byte 6 # DW_AT_name235 .byte 1 # DW_AT_decl_file236 .byte 5 # DW_AT_decl_line237 .long 44 # DW_AT_type238 # DW_AT_external239 .byte 6 # Abbrev [6] 0x3f:0xc DW_TAG_formal_parameter240 .long .Ldebug_loc0-.debug_loc.dwo # DW_AT_location241 .byte 7 # DW_AT_name242 .byte 1 # DW_AT_decl_file243 .byte 5 # DW_AT_decl_line244 .long 44 # DW_AT_type245 .byte 6 # Abbrev [6] 0x4b:0xc DW_TAG_formal_parameter246 .long .Ldebug_loc1-.debug_loc.dwo # DW_AT_location247 .byte 8 # DW_AT_name248 .byte 1 # DW_AT_decl_file249 .byte 5 # DW_AT_decl_line250 .long 132 # DW_AT_type251 .byte 7 # Abbrev [7] 0x57:0xc DW_TAG_variable252 .long .Ldebug_loc2-.debug_loc.dwo # DW_AT_location253 .byte 10 # DW_AT_name254 .byte 1 # DW_AT_decl_file255 .byte 8 # DW_AT_decl_line256 .long 44 # DW_AT_type257 .byte 8 # Abbrev [8] 0x63:0x15 DW_TAG_inlined_subroutine258 .long 25 # DW_AT_abstract_origin259 .byte 1 # DW_AT_low_pc260 .long .Ltmp3-.Ltmp2 # DW_AT_high_pc261 .byte 1 # DW_AT_call_file262 .byte 9 # DW_AT_call_line263 .byte 32 # DW_AT_call_column264 .byte 9 # Abbrev [9] 0x70:0x7 DW_TAG_formal_parameter265 .byte 1 # DW_AT_location266 .byte 83267 .long 35 # DW_AT_abstract_origin268 .byte 0 # End Of Children Mark269 .byte 10 # Abbrev [10] 0x78:0x6 DW_TAG_GNU_call_site270 .long 127 # DW_AT_abstract_origin271 .byte 1 # DW_AT_low_pc272 .byte 0 # End Of Children Mark273 .byte 11 # Abbrev [11] 0x7f:0x5 DW_TAG_subprogram274 .byte 4 # DW_AT_linkage_name275 .byte 5 # DW_AT_name276 .byte 1 # DW_AT_decl_file277 .byte 4 # DW_AT_decl_line278 # DW_AT_declaration279 # DW_AT_external280 .byte 12 # Abbrev [12] 0x84:0x5 DW_TAG_pointer_type281 .long 137 # DW_AT_type282 .byte 12 # Abbrev [12] 0x89:0x5 DW_TAG_pointer_type283 .long 142 # DW_AT_type284 .byte 4 # Abbrev [4] 0x8e:0x4 DW_TAG_base_type285 .byte 9 # DW_AT_name286 .byte 6 # DW_AT_encoding287 .byte 1 # DW_AT_byte_size288 .byte 0 # End Of Children Mark289.Ldebug_info_dwo_end0:290 .section .debug_abbrev.dwo,"e",@progbits291 .byte 1 # Abbreviation Code292 .byte 17 # DW_TAG_compile_unit293 .byte 1 # DW_CHILDREN_yes294 .byte 37 # DW_AT_producer295 .ascii "\202>" # DW_FORM_GNU_str_index296 .byte 19 # DW_AT_language297 .byte 5 # DW_FORM_data2298 .byte 3 # DW_AT_name299 .ascii "\202>" # DW_FORM_GNU_str_index300 .ascii "\260B" # DW_AT_GNU_dwo_name301 .ascii "\202>" # DW_FORM_GNU_str_index302 .ascii "\261B" # DW_AT_GNU_dwo_id303 .byte 7 # DW_FORM_data8304 .byte 0 # EOM(1)305 .byte 0 # EOM(2)306 .byte 2 # Abbreviation Code307 .byte 46 # DW_TAG_subprogram308 .byte 1 # DW_CHILDREN_yes309 .byte 110 # DW_AT_linkage_name310 .ascii "\202>" # DW_FORM_GNU_str_index311 .byte 3 # DW_AT_name312 .ascii "\202>" # DW_FORM_GNU_str_index313 .byte 58 # DW_AT_decl_file314 .byte 11 # DW_FORM_data1315 .byte 59 # DW_AT_decl_line316 .byte 11 # DW_FORM_data1317 .byte 73 # DW_AT_type318 .byte 19 # DW_FORM_ref4319 .byte 32 # DW_AT_inline320 .byte 11 # DW_FORM_data1321 .byte 0 # EOM(1)322 .byte 0 # EOM(2)323 .byte 3 # Abbreviation Code324 .byte 5 # DW_TAG_formal_parameter325 .byte 0 # DW_CHILDREN_no326 .byte 3 # DW_AT_name327 .ascii "\202>" # DW_FORM_GNU_str_index328 .byte 58 # DW_AT_decl_file329 .byte 11 # DW_FORM_data1330 .byte 59 # DW_AT_decl_line331 .byte 11 # DW_FORM_data1332 .byte 73 # DW_AT_type333 .byte 19 # DW_FORM_ref4334 .byte 0 # EOM(1)335 .byte 0 # EOM(2)336 .byte 4 # Abbreviation Code337 .byte 36 # DW_TAG_base_type338 .byte 0 # DW_CHILDREN_no339 .byte 3 # DW_AT_name340 .ascii "\202>" # DW_FORM_GNU_str_index341 .byte 62 # DW_AT_encoding342 .byte 11 # DW_FORM_data1343 .byte 11 # DW_AT_byte_size344 .byte 11 # DW_FORM_data1345 .byte 0 # EOM(1)346 .byte 0 # EOM(2)347 .byte 5 # Abbreviation Code348 .byte 46 # DW_TAG_subprogram349 .byte 1 # DW_CHILDREN_yes350 .byte 17 # DW_AT_low_pc351 .ascii "\201>" # DW_FORM_GNU_addr_index352 .byte 18 # DW_AT_high_pc353 .byte 6 # DW_FORM_data4354 .byte 64 # DW_AT_frame_base355 .byte 24 # DW_FORM_exprloc356 .ascii "\227B" # DW_AT_GNU_all_call_sites357 .byte 25 # DW_FORM_flag_present358 .byte 3 # DW_AT_name359 .ascii "\202>" # DW_FORM_GNU_str_index360 .byte 58 # DW_AT_decl_file361 .byte 11 # DW_FORM_data1362 .byte 59 # DW_AT_decl_line363 .byte 11 # DW_FORM_data1364 .byte 73 # DW_AT_type365 .byte 19 # DW_FORM_ref4366 .byte 63 # DW_AT_external367 .byte 25 # DW_FORM_flag_present368 .byte 0 # EOM(1)369 .byte 0 # EOM(2)370 .byte 6 # Abbreviation Code371 .byte 5 # DW_TAG_formal_parameter372 .byte 0 # DW_CHILDREN_no373 .byte 2 # DW_AT_location374 .byte 23 # DW_FORM_sec_offset375 .byte 3 # DW_AT_name376 .ascii "\202>" # DW_FORM_GNU_str_index377 .byte 58 # DW_AT_decl_file378 .byte 11 # DW_FORM_data1379 .byte 59 # DW_AT_decl_line380 .byte 11 # DW_FORM_data1381 .byte 73 # DW_AT_type382 .byte 19 # DW_FORM_ref4383 .byte 0 # EOM(1)384 .byte 0 # EOM(2)385 .byte 7 # Abbreviation Code386 .byte 52 # DW_TAG_variable387 .byte 0 # DW_CHILDREN_no388 .byte 2 # DW_AT_location389 .byte 23 # DW_FORM_sec_offset390 .byte 3 # DW_AT_name391 .ascii "\202>" # DW_FORM_GNU_str_index392 .byte 58 # DW_AT_decl_file393 .byte 11 # DW_FORM_data1394 .byte 59 # DW_AT_decl_line395 .byte 11 # DW_FORM_data1396 .byte 73 # DW_AT_type397 .byte 19 # DW_FORM_ref4398 .byte 0 # EOM(1)399 .byte 0 # EOM(2)400 .byte 8 # Abbreviation Code401 .byte 29 # DW_TAG_inlined_subroutine402 .byte 1 # DW_CHILDREN_yes403 .byte 49 # DW_AT_abstract_origin404 .byte 19 # DW_FORM_ref4405 .byte 17 # DW_AT_low_pc406 .ascii "\201>" # DW_FORM_GNU_addr_index407 .byte 18 # DW_AT_high_pc408 .byte 6 # DW_FORM_data4409 .byte 88 # DW_AT_call_file410 .byte 11 # DW_FORM_data1411 .byte 89 # DW_AT_call_line412 .byte 11 # DW_FORM_data1413 .byte 87 # DW_AT_call_column414 .byte 11 # DW_FORM_data1415 .byte 0 # EOM(1)416 .byte 0 # EOM(2)417 .byte 9 # Abbreviation Code418 .byte 5 # DW_TAG_formal_parameter419 .byte 0 # DW_CHILDREN_no420 .byte 2 # DW_AT_location421 .byte 24 # DW_FORM_exprloc422 .byte 49 # DW_AT_abstract_origin423 .byte 19 # DW_FORM_ref4424 .byte 0 # EOM(1)425 .byte 0 # EOM(2)426 .byte 10 # Abbreviation Code427 .ascii "\211\202\001" # DW_TAG_GNU_call_site428 .byte 0 # DW_CHILDREN_no429 .byte 49 # DW_AT_abstract_origin430 .byte 19 # DW_FORM_ref4431 .byte 17 # DW_AT_low_pc432 .ascii "\201>" # DW_FORM_GNU_addr_index433 .byte 0 # EOM(1)434 .byte 0 # EOM(2)435 .byte 11 # Abbreviation Code436 .byte 46 # DW_TAG_subprogram437 .byte 0 # DW_CHILDREN_no438 .byte 110 # DW_AT_linkage_name439 .ascii "\202>" # DW_FORM_GNU_str_index440 .byte 3 # DW_AT_name441 .ascii "\202>" # DW_FORM_GNU_str_index442 .byte 58 # DW_AT_decl_file443 .byte 11 # DW_FORM_data1444 .byte 59 # DW_AT_decl_line445 .byte 11 # DW_FORM_data1446 .byte 60 # DW_AT_declaration447 .byte 25 # DW_FORM_flag_present448 .byte 63 # DW_AT_external449 .byte 25 # DW_FORM_flag_present450 .byte 0 # EOM(1)451 .byte 0 # EOM(2)452 .byte 12 # Abbreviation Code453 .byte 15 # DW_TAG_pointer_type454 .byte 0 # DW_CHILDREN_no455 .byte 73 # DW_AT_type456 .byte 19 # DW_FORM_ref4457 .byte 0 # EOM(1)458 .byte 0 # EOM(2)459 .byte 0 # EOM(3)460 .section .debug_addr,"",@progbits461.Laddr_table_base0:462 .quad .Lfunc_begin0463 .quad .Ltmp2464 .quad .Ltmp1465 .quad .Ltmp3466 .quad .Ltmp4467 .section .debug_gnu_pubnames,"",@progbits468 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info469.LpubNames_start0:470 .short 2 # DWARF Version471 .long .Lcu_begin0 # Offset of Compilation Unit Info472 .long 48 # Compilation Unit Length473 .long 48 # DIE offset474 .byte 48 # Attributes: FUNCTION, EXTERNAL475 .asciz "main" # External Name476 .long 25 # DIE offset477 .byte 176 # Attributes: FUNCTION, STATIC478 .asciz "helper" # External Name479 .long 0 # End Mark480.LpubNames_end0:481 .section .debug_gnu_pubtypes,"",@progbits482 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info483.LpubTypes_start0:484 .short 2 # DWARF Version485 .long .Lcu_begin0 # Offset of Compilation Unit Info486 .long 48 # Compilation Unit Length487 .long 44 # DIE offset488 .byte 144 # Attributes: TYPE, STATIC489 .asciz "int" # External Name490 .long 142 # DIE offset491 .byte 144 # Attributes: TYPE, STATIC492 .asciz "char" # External Name493 .long 0 # End Mark494.LpubTypes_end0:495 .weak _Z13may_not_existv496 .ident "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)"497 .section ".note.GNU-stack","",@progbits498 .addrsig499 .addrsig_sym _Z13may_not_existv500 .section .debug_line,"",@progbits501.Lline_table_start0:502