488 lines · plain
1# clang++ -g2 -gdwarf-5 -gpubnames -fdebug-types-section -S2# header.h3# struct Foo2a {4# char *c1;5# char *c2;6# char *c3;7# };8# helper.cpp9# #include "header.h"10# int fooint;11# struct Foo2Int {12# int *c1;13# int *c2;14# };15#16# int foo() {17# Foo2Int fint;18# Foo2a f;19# return 0;20# }21 22 .text23 .file "helper.cpp"24 .file 0 "/typeDedup" "helper.cpp" md5 0xc33186b2db66a78883b1546aace9855d25 .globl _Z3foov # -- Begin function _Z3foov26 .p2align 4, 0x9027 .type _Z3foov,@function28_Z3foov: # @_Z3foov29.Lfunc_begin0:30 .loc 0 8 0 # helper.cpp:8:031 .cfi_startproc32# %bb.0: # %entry33 pushq %rbp34 .cfi_def_cfa_offset 1635 .cfi_offset %rbp, -1636 movq %rsp, %rbp37 .cfi_def_cfa_register %rbp38.Ltmp0:39 .loc 0 11 3 prologue_end # helper.cpp:11:340 xorl %eax, %eax41 .loc 0 11 3 epilogue_begin is_stmt 0 # helper.cpp:11:342 popq %rbp43 .cfi_def_cfa %rsp, 844 retq45.Ltmp1:46.Lfunc_end0:47 .size _Z3foov, .Lfunc_end0-_Z3foov48 .cfi_endproc49 # -- End function50 .type fooint,@object # @fooint51 .bss52 .globl fooint53 .p2align 2, 0x054fooint:55 .long 0 # 0x056 .size fooint, 457 58 .file 1 "." "header.h" md5 0xfea7bb1f22c47f129e15695f7137a1e759 .section .debug_abbrev,"",@progbits60 .byte 1 # Abbreviation Code61 .byte 17 # DW_TAG_compile_unit62 .byte 1 # DW_CHILDREN_yes63 .byte 37 # DW_AT_producer64 .byte 37 # DW_FORM_strx165 .byte 19 # DW_AT_language66 .byte 5 # DW_FORM_data267 .byte 3 # DW_AT_name68 .byte 37 # DW_FORM_strx169 .byte 114 # DW_AT_str_offsets_base70 .byte 23 # DW_FORM_sec_offset71 .byte 16 # DW_AT_stmt_list72 .byte 23 # DW_FORM_sec_offset73 .byte 27 # DW_AT_comp_dir74 .byte 37 # DW_FORM_strx175 .byte 17 # DW_AT_low_pc76 .byte 27 # DW_FORM_addrx77 .byte 18 # DW_AT_high_pc78 .byte 6 # DW_FORM_data479 .byte 115 # DW_AT_addr_base80 .byte 23 # DW_FORM_sec_offset81 .byte 0 # EOM(1)82 .byte 0 # EOM(2)83 .byte 2 # Abbreviation Code84 .byte 52 # DW_TAG_variable85 .byte 0 # DW_CHILDREN_no86 .byte 3 # DW_AT_name87 .byte 37 # DW_FORM_strx188 .byte 73 # DW_AT_type89 .byte 19 # DW_FORM_ref490 .byte 63 # DW_AT_external91 .byte 25 # DW_FORM_flag_present92 .byte 58 # DW_AT_decl_file93 .byte 11 # DW_FORM_data194 .byte 59 # DW_AT_decl_line95 .byte 11 # DW_FORM_data196 .byte 2 # DW_AT_location97 .byte 24 # DW_FORM_exprloc98 .byte 0 # EOM(1)99 .byte 0 # EOM(2)100 .byte 3 # Abbreviation Code101 .byte 36 # DW_TAG_base_type102 .byte 0 # DW_CHILDREN_no103 .byte 3 # DW_AT_name104 .byte 37 # DW_FORM_strx1105 .byte 62 # DW_AT_encoding106 .byte 11 # DW_FORM_data1107 .byte 11 # DW_AT_byte_size108 .byte 11 # DW_FORM_data1109 .byte 0 # EOM(1)110 .byte 0 # EOM(2)111 .byte 4 # Abbreviation Code112 .byte 46 # DW_TAG_subprogram113 .byte 1 # DW_CHILDREN_yes114 .byte 17 # DW_AT_low_pc115 .byte 27 # DW_FORM_addrx116 .byte 18 # DW_AT_high_pc117 .byte 6 # DW_FORM_data4118 .byte 64 # DW_AT_frame_base119 .byte 24 # DW_FORM_exprloc120 .byte 110 # DW_AT_linkage_name121 .byte 37 # DW_FORM_strx1122 .byte 3 # DW_AT_name123 .byte 37 # DW_FORM_strx1124 .byte 58 # DW_AT_decl_file125 .byte 11 # DW_FORM_data1126 .byte 59 # DW_AT_decl_line127 .byte 11 # DW_FORM_data1128 .byte 73 # DW_AT_type129 .byte 19 # DW_FORM_ref4130 .byte 63 # DW_AT_external131 .byte 25 # DW_FORM_flag_present132 .byte 0 # EOM(1)133 .byte 0 # EOM(2)134 .byte 5 # Abbreviation Code135 .byte 52 # DW_TAG_variable136 .byte 0 # DW_CHILDREN_no137 .byte 2 # DW_AT_location138 .byte 24 # DW_FORM_exprloc139 .byte 3 # DW_AT_name140 .byte 37 # DW_FORM_strx1141 .byte 58 # DW_AT_decl_file142 .byte 11 # DW_FORM_data1143 .byte 59 # DW_AT_decl_line144 .byte 11 # DW_FORM_data1145 .byte 73 # DW_AT_type146 .byte 19 # DW_FORM_ref4147 .byte 0 # EOM(1)148 .byte 0 # EOM(2)149 .byte 6 # Abbreviation Code150 .byte 19 # DW_TAG_structure_type151 .byte 1 # DW_CHILDREN_yes152 .byte 54 # DW_AT_calling_convention153 .byte 11 # DW_FORM_data1154 .byte 3 # DW_AT_name155 .byte 37 # DW_FORM_strx1156 .byte 11 # DW_AT_byte_size157 .byte 11 # DW_FORM_data1158 .byte 58 # DW_AT_decl_file159 .byte 11 # DW_FORM_data1160 .byte 59 # DW_AT_decl_line161 .byte 11 # DW_FORM_data1162 .byte 0 # EOM(1)163 .byte 0 # EOM(2)164 .byte 7 # Abbreviation Code165 .byte 13 # DW_TAG_member166 .byte 0 # DW_CHILDREN_no167 .byte 3 # DW_AT_name168 .byte 37 # DW_FORM_strx1169 .byte 73 # DW_AT_type170 .byte 19 # DW_FORM_ref4171 .byte 58 # DW_AT_decl_file172 .byte 11 # DW_FORM_data1173 .byte 59 # DW_AT_decl_line174 .byte 11 # DW_FORM_data1175 .byte 56 # DW_AT_data_member_location176 .byte 11 # DW_FORM_data1177 .byte 0 # EOM(1)178 .byte 0 # EOM(2)179 .byte 8 # Abbreviation Code180 .byte 15 # DW_TAG_pointer_type181 .byte 0 # DW_CHILDREN_no182 .byte 73 # DW_AT_type183 .byte 19 # DW_FORM_ref4184 .byte 0 # EOM(1)185 .byte 0 # EOM(2)186 .byte 0 # EOM(3)187 .section .debug_info,"",@progbits188.Lcu_begin0:189 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit190.Ldebug_info_start0:191 .short 5 # DWARF version number192 .byte 1 # DWARF Unit Type193 .byte 8 # Address Size (in bytes)194 .long .debug_abbrev # Offset Into Abbrev. Section195 .byte 1 # Abbrev [1] 0xc:0x97 DW_TAG_compile_unit196 .byte 0 # DW_AT_producer197 .short 33 # DW_AT_language198 .byte 1 # DW_AT_name199 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base200 .long .Lline_table_start0 # DW_AT_stmt_list201 .byte 2 # DW_AT_comp_dir202 .byte 1 # DW_AT_low_pc203 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc204 .long .Laddr_table_base0 # DW_AT_addr_base205 .byte 2 # Abbrev [2] 0x23:0xb DW_TAG_variable206 .byte 3 # DW_AT_name207 .long 46 # DW_AT_type208 # DW_AT_external209 .byte 0 # DW_AT_decl_file210 .byte 2 # DW_AT_decl_line211 .byte 2 # DW_AT_location212 .byte 161213 .byte 0214 .byte 3 # Abbrev [3] 0x2e:0x4 DW_TAG_base_type215 .byte 4 # DW_AT_name216 .byte 5 # DW_AT_encoding217 .byte 4 # DW_AT_byte_size218 .byte 4 # Abbrev [4] 0x32:0x27 DW_TAG_subprogram219 .byte 1 # DW_AT_low_pc220 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc221 .byte 1 # DW_AT_frame_base222 .byte 86223 .byte 5 # DW_AT_linkage_name224 .byte 6 # DW_AT_name225 .byte 0 # DW_AT_decl_file226 .byte 8 # DW_AT_decl_line227 .long 46 # DW_AT_type228 # DW_AT_external229 .byte 5 # Abbrev [5] 0x42:0xb DW_TAG_variable230 .byte 2 # DW_AT_location231 .byte 145232 .byte 112233 .byte 7 # DW_AT_name234 .byte 0 # DW_AT_decl_file235 .byte 9 # DW_AT_decl_line236 .long 89 # DW_AT_type237 .byte 5 # Abbrev [5] 0x4d:0xb DW_TAG_variable238 .byte 2 # DW_AT_location239 .byte 145240 .byte 88241 .byte 11 # DW_AT_name242 .byte 0 # DW_AT_decl_file243 .byte 10 # DW_AT_decl_line244 .long 119 # DW_AT_type245 .byte 0 # End Of Children Mark246 .byte 6 # Abbrev [6] 0x59:0x19 DW_TAG_structure_type247 .byte 5 # DW_AT_calling_convention248 .byte 10 # DW_AT_name249 .byte 16 # DW_AT_byte_size250 .byte 0 # DW_AT_decl_file251 .byte 3 # DW_AT_decl_line252 .byte 7 # Abbrev [7] 0x5f:0x9 DW_TAG_member253 .byte 8 # DW_AT_name254 .long 114 # DW_AT_type255 .byte 0 # DW_AT_decl_file256 .byte 4 # DW_AT_decl_line257 .byte 0 # DW_AT_data_member_location258 .byte 7 # Abbrev [7] 0x68:0x9 DW_TAG_member259 .byte 9 # DW_AT_name260 .long 114 # DW_AT_type261 .byte 0 # DW_AT_decl_file262 .byte 5 # DW_AT_decl_line263 .byte 8 # DW_AT_data_member_location264 .byte 0 # End Of Children Mark265 .byte 8 # Abbrev [8] 0x72:0x5 DW_TAG_pointer_type266 .long 46 # DW_AT_type267 .byte 6 # Abbrev [6] 0x77:0x22 DW_TAG_structure_type268 .byte 5 # DW_AT_calling_convention269 .byte 14 # DW_AT_name270 .byte 24 # DW_AT_byte_size271 .byte 1 # DW_AT_decl_file272 .byte 1 # DW_AT_decl_line273 .byte 7 # Abbrev [7] 0x7d:0x9 DW_TAG_member274 .byte 8 # DW_AT_name275 .long 153 # DW_AT_type276 .byte 1 # DW_AT_decl_file277 .byte 2 # DW_AT_decl_line278 .byte 0 # DW_AT_data_member_location279 .byte 7 # Abbrev [7] 0x86:0x9 DW_TAG_member280 .byte 9 # DW_AT_name281 .long 153 # DW_AT_type282 .byte 1 # DW_AT_decl_file283 .byte 3 # DW_AT_decl_line284 .byte 8 # DW_AT_data_member_location285 .byte 7 # Abbrev [7] 0x8f:0x9 DW_TAG_member286 .byte 13 # DW_AT_name287 .long 153 # DW_AT_type288 .byte 1 # DW_AT_decl_file289 .byte 4 # DW_AT_decl_line290 .byte 16 # DW_AT_data_member_location291 .byte 0 # End Of Children Mark292 .byte 8 # Abbrev [8] 0x99:0x5 DW_TAG_pointer_type293 .long 158 # DW_AT_type294 .byte 3 # Abbrev [3] 0x9e:0x4 DW_TAG_base_type295 .byte 12 # DW_AT_name296 .byte 6 # DW_AT_encoding297 .byte 1 # DW_AT_byte_size298 .byte 0 # End Of Children Mark299.Ldebug_info_end0:300 .section .debug_str_offsets,"",@progbits301 .long 64 # Length of String Offsets Set302 .short 5303 .short 0304.Lstr_offsets_base0:305 .section .debug_str,"MS",@progbits,1306.Linfo_string0:307 .asciz "clang version 18.0.0git" # string offset=0308.Linfo_string1:309 .asciz "helper.cpp" # string offset=24310.Linfo_string2:311 .asciz "/home/ayermolo/local/tasks/T138552329/typeDedup" # string offset=35312.Linfo_string3:313 .asciz "fooint" # string offset=83314.Linfo_string4:315 .asciz "int" # string offset=90316.Linfo_string5:317 .asciz "foo" # string offset=94318.Linfo_string6:319 .asciz "_Z3foov" # string offset=98320.Linfo_string7:321 .asciz "fint" # string offset=106322.Linfo_string8:323 .asciz "Foo2Int" # string offset=111324.Linfo_string9:325 .asciz "c1" # string offset=119326.Linfo_string10:327 .asciz "c2" # string offset=122328.Linfo_string11:329 .asciz "f" # string offset=125330.Linfo_string12:331 .asciz "Foo2a" # string offset=127332.Linfo_string13:333 .asciz "char" # string offset=133334.Linfo_string14:335 .asciz "c3" # string offset=138336 .section .debug_str_offsets,"",@progbits337 .long .Linfo_string0338 .long .Linfo_string1339 .long .Linfo_string2340 .long .Linfo_string3341 .long .Linfo_string4342 .long .Linfo_string6343 .long .Linfo_string5344 .long .Linfo_string7345 .long .Linfo_string9346 .long .Linfo_string10347 .long .Linfo_string8348 .long .Linfo_string11349 .long .Linfo_string13350 .long .Linfo_string14351 .long .Linfo_string12352 .section .debug_addr,"",@progbits353 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution354.Ldebug_addr_start0:355 .short 5 # DWARF version number356 .byte 8 # Address size357 .byte 0 # Segment selector size358.Laddr_table_base0:359 .quad fooint360 .quad .Lfunc_begin0361.Ldebug_addr_end0:362 .section .debug_names,"",@progbits363 .long .Lnames_end0-.Lnames_start0 # Header: unit length364.Lnames_start0:365 .short 5 # Header: version366 .short 0 # Header: padding367 .long 1 # Header: compilation unit count368 .long 0 # Header: local type unit count369 .long 0 # Header: foreign type unit count370 .long 7 # Header: bucket count371 .long 7 # Header: name count372 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size373 .long 8 # Header: augmentation string size374 .ascii "LLVM0700" # Header: augmentation string375 .long .Lcu_begin0 # Compilation unit 0376 .long 1 # Bucket 0377 .long 0 # Bucket 1378 .long 2 # Bucket 2379 .long 3 # Bucket 3380 .long 0 # Bucket 4381 .long 5 # Bucket 5382 .long 7 # Bucket 6383 .long -1257882357 # Hash in Bucket 0384 .long -1168750522 # Hash in Bucket 2385 .long 193495088 # Hash in Bucket 3386 .long 259227804 # Hash in Bucket 3387 .long 193491849 # Hash in Bucket 5388 .long 2090147939 # Hash in Bucket 5389 .long -35356620 # Hash in Bucket 6390 .long .Linfo_string6 # String in Bucket 0: _Z3foov391 .long .Linfo_string8 # String in Bucket 2: Foo2Int392 .long .Linfo_string4 # String in Bucket 3: int393 .long .Linfo_string12 # String in Bucket 3: Foo2a394 .long .Linfo_string5 # String in Bucket 5: foo395 .long .Linfo_string13 # String in Bucket 5: char396 .long .Linfo_string3 # String in Bucket 6: fooint397 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 0398 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 2399 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 3400 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 3401 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 5402 .long .Lnames6-.Lnames_entries0 # Offset in Bucket 5403 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 6404.Lnames_abbrev_start0:405 .ascii "\230." # Abbrev code406 .byte 46 # DW_TAG_subprogram407 .byte 3 # DW_IDX_die_offset408 .byte 19 # DW_FORM_ref4409 .byte 4 # DW_IDX_parent410 .byte 25 # DW_FORM_flag_present411 .byte 0 # End of abbrev412 .byte 0 # End of abbrev413 .ascii "\230\023" # Abbrev code414 .byte 19 # DW_TAG_structure_type415 .byte 3 # DW_IDX_die_offset416 .byte 19 # DW_FORM_ref4417 .byte 4 # DW_IDX_parent418 .byte 25 # DW_FORM_flag_present419 .byte 0 # End of abbrev420 .byte 0 # End of abbrev421 .ascii "\230$" # Abbrev code422 .byte 36 # DW_TAG_base_type423 .byte 3 # DW_IDX_die_offset424 .byte 19 # DW_FORM_ref4425 .byte 4 # DW_IDX_parent426 .byte 25 # DW_FORM_flag_present427 .byte 0 # End of abbrev428 .byte 0 # End of abbrev429 .ascii "\2304" # Abbrev code430 .byte 52 # DW_TAG_variable431 .byte 3 # DW_IDX_die_offset432 .byte 19 # DW_FORM_ref4433 .byte 4 # DW_IDX_parent434 .byte 25 # DW_FORM_flag_present435 .byte 0 # End of abbrev436 .byte 0 # End of abbrev437 .byte 0 # End of abbrev list438.Lnames_abbrev_end0:439.Lnames_entries0:440.Lnames3:441.L0:442 .ascii "\230." # Abbreviation code443 .long 50 # DW_IDX_die_offset444 .byte 0 # DW_IDX_parent445 # End of list: _Z3foov446.Lnames4:447.L5:448 .ascii "\230\023" # Abbreviation code449 .long 89 # DW_IDX_die_offset450 .byte 0 # DW_IDX_parent451 # End of list: Foo2Int452.Lnames0:453.L2:454 .ascii "\230$" # Abbreviation code455 .long 46 # DW_IDX_die_offset456 .byte 0 # DW_IDX_parent457 # End of list: int458.Lnames5:459.L3:460 .ascii "\230\023" # Abbreviation code461 .long 119 # DW_IDX_die_offset462 .byte 0 # DW_IDX_parent463 # End of list: Foo2a464.Lnames2:465 .ascii "\230." # Abbreviation code466 .long 50 # DW_IDX_die_offset467 .byte 0 # DW_IDX_parent468 # End of list: foo469.Lnames6:470.L1:471 .ascii "\230$" # Abbreviation code472 .long 158 # DW_IDX_die_offset473 .byte 0 # DW_IDX_parent474 # End of list: char475.Lnames1:476.L4:477 .ascii "\2304" # Abbreviation code478 .long 35 # DW_IDX_die_offset479 .byte 0 # DW_IDX_parent480 # End of list: fooint481 .p2align 2, 0x0482.Lnames_end0:483 .ident "clang version 18.0.0git"484 .section ".note.GNU-stack","",@progbits485 .addrsig486 .section .debug_line,"",@progbits487.Lline_table_start0:488