203 lines · plain
1# clang++ main.cpp -g2 -O2 -S2# int helper(int z_, int d_) {3# return z_ + d_;4# }5 6 7 .text8 .file "helper.cpp"9 .globl _Z6helperii # -- Begin function _Z6helperii10 .p2align 4, 0x9011 .type _Z6helperii,@function12_Z6helperii: # @_Z6helperii13.Lfunc_begin0:14 .file 0 "." "helper.cpp" md5 0x8020e02b87876b529416442978378ed015 .loc 0 1 0 # helper.cpp:1:016 .cfi_startproc17# %bb.0: # %entry18 #DEBUG_VALUE: helper:z_ <- $edi19 #DEBUG_VALUE: helper:d_ <- $esi20 # kill: def $esi killed $esi def $rsi21 # kill: def $edi killed $edi def $rdi22 .loc 0 2 13 prologue_end # helper.cpp:2:1323 leal (%rdi,%rsi), %eax24 .loc 0 2 3 is_stmt 0 # helper.cpp:2:325 retq26.Ltmp0:27.Lfunc_end0:28 .size _Z6helperii, .Lfunc_end0-_Z6helperii29 .cfi_endproc30 # -- End function31 .section .debug_abbrev,"",@progbits32 .byte 1 # Abbreviation Code33 .byte 17 # DW_TAG_compile_unit34 .byte 1 # DW_CHILDREN_yes35 .byte 37 # DW_AT_producer36 .byte 37 # DW_FORM_strx137 .byte 19 # DW_AT_language38 .byte 5 # DW_FORM_data239 .byte 3 # DW_AT_name40 .byte 37 # DW_FORM_strx141 .byte 114 # DW_AT_str_offsets_base42 .byte 23 # DW_FORM_sec_offset43 .byte 16 # DW_AT_stmt_list44 .byte 23 # DW_FORM_sec_offset45 .byte 27 # DW_AT_comp_dir46 .byte 37 # DW_FORM_strx147 .byte 17 # DW_AT_low_pc48 .byte 27 # DW_FORM_addrx49 .byte 18 # DW_AT_high_pc50 .byte 6 # DW_FORM_data451 .byte 115 # DW_AT_addr_base52 .byte 23 # DW_FORM_sec_offset53 .byte 0 # EOM(1)54 .byte 0 # EOM(2)55 .byte 2 # Abbreviation Code56 .byte 46 # DW_TAG_subprogram57 .byte 1 # DW_CHILDREN_yes58 .byte 17 # DW_AT_low_pc59 .byte 27 # DW_FORM_addrx60 .byte 18 # DW_AT_high_pc61 .byte 6 # DW_FORM_data462 .byte 64 # DW_AT_frame_base63 .byte 24 # DW_FORM_exprloc64 .byte 122 # DW_AT_call_all_calls65 .byte 25 # DW_FORM_flag_present66 .byte 110 # DW_AT_linkage_name67 .byte 37 # DW_FORM_strx168 .byte 3 # DW_AT_name69 .byte 37 # DW_FORM_strx170 .byte 58 # DW_AT_decl_file71 .byte 11 # DW_FORM_data172 .byte 59 # DW_AT_decl_line73 .byte 11 # DW_FORM_data174 .byte 73 # DW_AT_type75 .byte 19 # DW_FORM_ref476 .byte 63 # DW_AT_external77 .byte 25 # DW_FORM_flag_present78 .byte 0 # EOM(1)79 .byte 0 # EOM(2)80 .byte 3 # Abbreviation Code81 .byte 5 # DW_TAG_formal_parameter82 .byte 0 # DW_CHILDREN_no83 .byte 2 # DW_AT_location84 .byte 24 # DW_FORM_exprloc85 .byte 3 # DW_AT_name86 .byte 37 # DW_FORM_strx187 .byte 58 # DW_AT_decl_file88 .byte 11 # DW_FORM_data189 .byte 59 # DW_AT_decl_line90 .byte 11 # DW_FORM_data191 .byte 73 # DW_AT_type92 .byte 19 # DW_FORM_ref493 .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 37 # DW_FORM_strx1100 .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 0 # EOM(3)107 .section .debug_info,"",@progbits108.Lcu_begin0:109 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit110.Ldebug_info_start0:111 .short 5 # DWARF version number112 .byte 1 # DWARF Unit Type113 .byte 8 # Address Size (in bytes)114 .long .debug_abbrev # Offset Into Abbrev. Section115 .byte 1 # Abbrev [1] 0xc:0x41 DW_TAG_compile_unit116 .byte 0 # DW_AT_producer117 .short 33 # DW_AT_language118 .byte 1 # DW_AT_name119 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base120 .long .Lline_table_start0 # DW_AT_stmt_list121 .byte 2 # DW_AT_comp_dir122 .byte 0 # DW_AT_low_pc123 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc124 .long .Laddr_table_base0 # DW_AT_addr_base125 .byte 2 # Abbrev [2] 0x23:0x25 DW_TAG_subprogram126 .byte 0 # DW_AT_low_pc127 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc128 .byte 1 # DW_AT_frame_base129 .byte 87130 # DW_AT_call_all_calls131 .byte 3 # DW_AT_linkage_name132 .byte 4 # DW_AT_name133 .byte 0 # DW_AT_decl_file134 .byte 1 # DW_AT_decl_line135 .long 72 # DW_AT_type136 # DW_AT_external137 .byte 3 # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter138 .byte 1 # DW_AT_location139 .byte 85140 .byte 6 # DW_AT_name141 .byte 0 # DW_AT_decl_file142 .byte 1 # DW_AT_decl_line143 .long 72 # DW_AT_type144 .byte 3 # Abbrev [3] 0x3d:0xa DW_TAG_formal_parameter145 .byte 1 # DW_AT_location146 .byte 84147 .byte 7 # DW_AT_name148 .byte 0 # DW_AT_decl_file149 .byte 1 # DW_AT_decl_line150 .long 72 # DW_AT_type151 .byte 0 # End Of Children Mark152 .byte 4 # Abbrev [4] 0x48:0x4 DW_TAG_base_type153 .byte 5 # DW_AT_name154 .byte 5 # DW_AT_encoding155 .byte 4 # DW_AT_byte_size156 .byte 0 # End Of Children Mark157.Ldebug_info_end0:158 .section .debug_str_offsets,"",@progbits159 .long 36 # Length of String Offsets Set160 .short 5161 .short 0162.Lstr_offsets_base0:163 .section .debug_str,"MS",@progbits,1164.Linfo_string0:165 .asciz "clang version 16.0.0" # string offset=0166.Linfo_string1:167 .asciz "helper.cpp" # string offset=134168.Linfo_string2:169 .asciz "." # string offset=145170.Linfo_string3:171 .asciz "_Z6helperii" # string offset=198172.Linfo_string4:173 .asciz "helper" # string offset=210174.Linfo_string5:175 .asciz "int" # string offset=217176.Linfo_string6:177 .asciz "z_" # string offset=221178.Linfo_string7:179 .asciz "d_" # string offset=224180 .section .debug_str_offsets,"",@progbits181 .long .Linfo_string0182 .long .Linfo_string1183 .long .Linfo_string2184 .long .Linfo_string3185 .long .Linfo_string4186 .long .Linfo_string5187 .long .Linfo_string6188 .long .Linfo_string7189 .section .debug_addr,"",@progbits190 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution191.Ldebug_addr_start0:192 .short 5 # DWARF version number193 .byte 8 # Address size194 .byte 0 # Segment selector size195.Laddr_table_base0:196 .quad .Lfunc_begin0197.Ldebug_addr_end0:198 .ident "clang version 16.0.0"199 .section ".note.GNU-stack","",@progbits200 .addrsig201 .section .debug_line,"",@progbits202.Lline_table_start0:203