672 lines · plain
1# REQUIRES: system-linux2 3# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o4# RUN: %clang %cflags -dwarf-5 %t1.o -o %t.exe -Wl,-q5# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections6# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt > %t.txt7# RUN: llvm-dwarfdump --show-form --verbose --debug-names %t.bolt >> %t.txt8# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s9 10## This tests that BOLT doesn't generate entry for a DW_TAG_structure_type declaration with DW_AT_name.11 12# POSTCHECK: DW_TAG_type_unit13# POSTCHECK: DW_TAG_structure_type [7]14# POSTCHECK-NEXT: DW_AT_name [DW_FORM_strx1] (indexed (00000006) string = "InnerState")15# POSTCHECK-NEXT: DW_AT_declaration [DW_FORM_flag_present] (true)16# POSTCHECK: Name Index17# POSTCHECK-NOT: "InnerState"18 19## -g2 -O0 -fdebug-types-section -gpubnames20## namespace A {21## namespace B {22## class State {23## public:24## struct InnerState{25## InnerState() {}26## };27## State(){}28## State(InnerState S){}29## };30## }31## }32##33## int main() {34## A::B::State S;35## return 0;36## }37 38 39 .text40 .file "main.cpp"41 .file 0 "/DW_TAG_structure_type" "main.cpp" md5 0xd43ba503b70d00353c195087e1fe16e242 .section .debug_info,"G",@progbits,16664150534606561860,comdat43.Ltu_begin0:44 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit45.Ldebug_info_start0:46 .short 5 # DWARF version number47 .byte 2 # DWARF Unit Type48 .byte 8 # Address Size (in bytes)49 .long .debug_abbrev # Offset Into Abbrev. Section50 .quad -1782593539102989756 # Type Signature51 .long 39 # Type DIE Offset52 .byte 1 # Abbrev [1] 0x18:0x3b DW_TAG_type_unit53 .short 33 # DW_AT_language54 .long .Lline_table_start0 # DW_AT_stmt_list55 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base56 .byte 2 # Abbrev [2] 0x23:0x2a DW_TAG_namespace57 .byte 3 # DW_AT_name58 .byte 2 # Abbrev [2] 0x25:0x27 DW_TAG_namespace59 .byte 4 # DW_AT_name60 .byte 3 # Abbrev [3] 0x27:0x24 DW_TAG_class_type61 .byte 5 # DW_AT_calling_convention62 .byte 5 # DW_AT_name63 .byte 1 # DW_AT_byte_size64 .byte 0 # DW_AT_decl_file65 .byte 3 # DW_AT_decl_line66 .byte 4 # Abbrev [4] 0x2d:0xb DW_TAG_subprogram67 .byte 5 # DW_AT_name68 .byte 0 # DW_AT_decl_file69 .byte 8 # DW_AT_decl_line70 # DW_AT_declaration71 # DW_AT_external72 .byte 1 # DW_AT_accessibility73 # DW_ACCESS_public74 .byte 5 # Abbrev [5] 0x32:0x5 DW_TAG_formal_parameter75 .long 77 # DW_AT_type76 # DW_AT_artificial77 .byte 0 # End Of Children Mark78 .byte 4 # Abbrev [4] 0x38:0x10 DW_TAG_subprogram79 .byte 5 # DW_AT_name80 .byte 0 # DW_AT_decl_file81 .byte 9 # DW_AT_decl_line82 # DW_AT_declaration83 # DW_AT_external84 .byte 1 # DW_AT_accessibility85 # DW_ACCESS_public86 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter87 .long 77 # DW_AT_type88 # DW_AT_artificial89 .byte 6 # Abbrev [6] 0x42:0x5 DW_TAG_formal_parameter90 .long 72 # DW_AT_type91 .byte 0 # End Of Children Mark92 .byte 7 # Abbrev [7] 0x48:0x2 DW_TAG_structure_type93 .byte 6 # DW_AT_name94 # DW_AT_declaration95 .byte 0 # End Of Children Mark96 .byte 0 # End Of Children Mark97 .byte 0 # End Of Children Mark98 .byte 8 # Abbrev [8] 0x4d:0x5 DW_TAG_pointer_type99 .long 39 # DW_AT_type100 .byte 0 # End Of Children Mark101.Ldebug_info_end0:102 .text103 .globl main # -- Begin function main104 .p2align 4, 0x90105 .type main,@function106main: # @main107.Lfunc_begin0:108 .loc 0 14 0 # main.cpp:14:0109 .cfi_startproc110# %bb.0: # %entry111 pushq %rbp112 .cfi_def_cfa_offset 16113 .cfi_offset %rbp, -16114 movq %rsp, %rbp115 .cfi_def_cfa_register %rbp116 subq $16, %rsp117 movl $0, -4(%rbp)118.Ltmp0:119 .loc 0 15 15 prologue_end # main.cpp:15:15120 leaq -5(%rbp), %rdi121 callq _ZN1A1B5StateC2Ev122 .loc 0 16 3 # main.cpp:16:3123 xorl %eax, %eax124 .loc 0 16 3 epilogue_begin is_stmt 0 # main.cpp:16:3125 addq $16, %rsp126 popq %rbp127 .cfi_def_cfa %rsp, 8128 retq129.Ltmp1:130.Lfunc_end0:131 .size main, .Lfunc_end0-main132 .cfi_endproc133 # -- End function134 .section .text._ZN1A1B5StateC2Ev,"axG",@progbits,_ZN1A1B5StateC2Ev,comdat135 .weak _ZN1A1B5StateC2Ev # -- Begin function _ZN1A1B5StateC2Ev136 .p2align 4, 0x90137 .type _ZN1A1B5StateC2Ev,@function138_ZN1A1B5StateC2Ev: # @_ZN1A1B5StateC2Ev139.Lfunc_begin1:140 .loc 0 8 0 is_stmt 1 # main.cpp:8:0141 .cfi_startproc142# %bb.0: # %entry143 pushq %rbp144 .cfi_def_cfa_offset 16145 .cfi_offset %rbp, -16146 movq %rsp, %rbp147 .cfi_def_cfa_register %rbp148 movq %rdi, -8(%rbp)149.Ltmp2:150 .loc 0 8 15 prologue_end epilogue_begin # main.cpp:8:15151 popq %rbp152 .cfi_def_cfa %rsp, 8153 retq154.Ltmp3:155.Lfunc_end1:156 .size _ZN1A1B5StateC2Ev, .Lfunc_end1-_ZN1A1B5StateC2Ev157 .cfi_endproc158 # -- End function159 .section .debug_abbrev,"",@progbits160 .byte 1 # Abbreviation Code161 .byte 65 # DW_TAG_type_unit162 .byte 1 # DW_CHILDREN_yes163 .byte 19 # DW_AT_language164 .byte 5 # DW_FORM_data2165 .byte 16 # DW_AT_stmt_list166 .byte 23 # DW_FORM_sec_offset167 .byte 114 # DW_AT_str_offsets_base168 .byte 23 # DW_FORM_sec_offset169 .byte 0 # EOM(1)170 .byte 0 # EOM(2)171 .byte 2 # Abbreviation Code172 .byte 57 # DW_TAG_namespace173 .byte 1 # DW_CHILDREN_yes174 .byte 3 # DW_AT_name175 .byte 37 # DW_FORM_strx1176 .byte 0 # EOM(1)177 .byte 0 # EOM(2)178 .byte 3 # Abbreviation Code179 .byte 2 # DW_TAG_class_type180 .byte 1 # DW_CHILDREN_yes181 .byte 54 # DW_AT_calling_convention182 .byte 11 # DW_FORM_data1183 .byte 3 # DW_AT_name184 .byte 37 # DW_FORM_strx1185 .byte 11 # DW_AT_byte_size186 .byte 11 # DW_FORM_data1187 .byte 58 # DW_AT_decl_file188 .byte 11 # DW_FORM_data1189 .byte 59 # DW_AT_decl_line190 .byte 11 # DW_FORM_data1191 .byte 0 # EOM(1)192 .byte 0 # EOM(2)193 .byte 4 # Abbreviation Code194 .byte 46 # DW_TAG_subprogram195 .byte 1 # DW_CHILDREN_yes196 .byte 3 # DW_AT_name197 .byte 37 # DW_FORM_strx1198 .byte 58 # DW_AT_decl_file199 .byte 11 # DW_FORM_data1200 .byte 59 # DW_AT_decl_line201 .byte 11 # DW_FORM_data1202 .byte 60 # DW_AT_declaration203 .byte 25 # DW_FORM_flag_present204 .byte 63 # DW_AT_external205 .byte 25 # DW_FORM_flag_present206 .byte 50 # DW_AT_accessibility207 .byte 11 # DW_FORM_data1208 .byte 0 # EOM(1)209 .byte 0 # EOM(2)210 .byte 5 # Abbreviation Code211 .byte 5 # DW_TAG_formal_parameter212 .byte 0 # DW_CHILDREN_no213 .byte 73 # DW_AT_type214 .byte 19 # DW_FORM_ref4215 .byte 52 # DW_AT_artificial216 .byte 25 # DW_FORM_flag_present217 .byte 0 # EOM(1)218 .byte 0 # EOM(2)219 .byte 6 # Abbreviation Code220 .byte 5 # DW_TAG_formal_parameter221 .byte 0 # DW_CHILDREN_no222 .byte 73 # DW_AT_type223 .byte 19 # DW_FORM_ref4224 .byte 0 # EOM(1)225 .byte 0 # EOM(2)226 .byte 7 # Abbreviation Code227 .byte 19 # DW_TAG_structure_type228 .byte 0 # DW_CHILDREN_no229 .byte 3 # DW_AT_name230 .byte 37 # DW_FORM_strx1231 .byte 60 # DW_AT_declaration232 .byte 25 # DW_FORM_flag_present233 .byte 0 # EOM(1)234 .byte 0 # EOM(2)235 .byte 8 # Abbreviation Code236 .byte 15 # DW_TAG_pointer_type237 .byte 0 # DW_CHILDREN_no238 .byte 73 # DW_AT_type239 .byte 19 # DW_FORM_ref4240 .byte 0 # EOM(1)241 .byte 0 # EOM(2)242 .byte 9 # Abbreviation Code243 .byte 17 # DW_TAG_compile_unit244 .byte 1 # DW_CHILDREN_yes245 .byte 37 # DW_AT_producer246 .byte 37 # DW_FORM_strx1247 .byte 19 # DW_AT_language248 .byte 5 # DW_FORM_data2249 .byte 3 # DW_AT_name250 .byte 37 # DW_FORM_strx1251 .byte 114 # DW_AT_str_offsets_base252 .byte 23 # DW_FORM_sec_offset253 .byte 16 # DW_AT_stmt_list254 .byte 23 # DW_FORM_sec_offset255 .byte 27 # DW_AT_comp_dir256 .byte 37 # DW_FORM_strx1257 .byte 17 # DW_AT_low_pc258 .byte 1 # DW_FORM_addr259 .byte 85 # DW_AT_ranges260 .byte 35 # DW_FORM_rnglistx261 .byte 115 # DW_AT_addr_base262 .byte 23 # DW_FORM_sec_offset263 .byte 116 # DW_AT_rnglists_base264 .byte 23 # DW_FORM_sec_offset265 .byte 0 # EOM(1)266 .byte 0 # EOM(2)267 .byte 10 # Abbreviation Code268 .byte 2 # DW_TAG_class_type269 .byte 1 # DW_CHILDREN_yes270 .byte 60 # DW_AT_declaration271 .byte 25 # DW_FORM_flag_present272 .byte 105 # DW_AT_signature273 .byte 32 # DW_FORM_ref_sig8274 .byte 0 # EOM(1)275 .byte 0 # EOM(2)276 .byte 11 # Abbreviation Code277 .byte 46 # DW_TAG_subprogram278 .byte 1 # DW_CHILDREN_yes279 .byte 17 # DW_AT_low_pc280 .byte 27 # DW_FORM_addrx281 .byte 18 # DW_AT_high_pc282 .byte 6 # DW_FORM_data4283 .byte 64 # DW_AT_frame_base284 .byte 24 # DW_FORM_exprloc285 .byte 3 # DW_AT_name286 .byte 37 # DW_FORM_strx1287 .byte 58 # DW_AT_decl_file288 .byte 11 # DW_FORM_data1289 .byte 59 # DW_AT_decl_line290 .byte 11 # DW_FORM_data1291 .byte 73 # DW_AT_type292 .byte 19 # DW_FORM_ref4293 .byte 63 # DW_AT_external294 .byte 25 # DW_FORM_flag_present295 .byte 0 # EOM(1)296 .byte 0 # EOM(2)297 .byte 12 # Abbreviation Code298 .byte 52 # DW_TAG_variable299 .byte 0 # DW_CHILDREN_no300 .byte 2 # DW_AT_location301 .byte 24 # DW_FORM_exprloc302 .byte 3 # DW_AT_name303 .byte 37 # DW_FORM_strx1304 .byte 58 # DW_AT_decl_file305 .byte 11 # DW_FORM_data1306 .byte 59 # DW_AT_decl_line307 .byte 11 # DW_FORM_data1308 .byte 73 # DW_AT_type309 .byte 19 # DW_FORM_ref4310 .byte 0 # EOM(1)311 .byte 0 # EOM(2)312 .byte 13 # Abbreviation Code313 .byte 46 # DW_TAG_subprogram314 .byte 1 # DW_CHILDREN_yes315 .byte 17 # DW_AT_low_pc316 .byte 27 # DW_FORM_addrx317 .byte 18 # DW_AT_high_pc318 .byte 6 # DW_FORM_data4319 .byte 64 # DW_AT_frame_base320 .byte 24 # DW_FORM_exprloc321 .byte 100 # DW_AT_object_pointer322 .byte 19 # DW_FORM_ref4323 .byte 110 # DW_AT_linkage_name324 .byte 37 # DW_FORM_strx1325 .byte 71 # DW_AT_specification326 .byte 19 # DW_FORM_ref4327 .byte 0 # EOM(1)328 .byte 0 # EOM(2)329 .byte 14 # Abbreviation Code330 .byte 5 # DW_TAG_formal_parameter331 .byte 0 # DW_CHILDREN_no332 .byte 2 # DW_AT_location333 .byte 24 # DW_FORM_exprloc334 .byte 3 # DW_AT_name335 .byte 37 # DW_FORM_strx1336 .byte 73 # DW_AT_type337 .byte 19 # DW_FORM_ref4338 .byte 52 # DW_AT_artificial339 .byte 25 # DW_FORM_flag_present340 .byte 0 # EOM(1)341 .byte 0 # EOM(2)342 .byte 15 # Abbreviation Code343 .byte 36 # DW_TAG_base_type344 .byte 0 # DW_CHILDREN_no345 .byte 3 # DW_AT_name346 .byte 37 # DW_FORM_strx1347 .byte 62 # DW_AT_encoding348 .byte 11 # DW_FORM_data1349 .byte 11 # DW_AT_byte_size350 .byte 11 # DW_FORM_data1351 .byte 0 # EOM(1)352 .byte 0 # EOM(2)353 .byte 0 # EOM(3)354 .section .debug_info,"",@progbits355.Lcu_begin0:356 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit357.Ldebug_info_start1:358 .short 5 # DWARF version number359 .byte 1 # DWARF Unit Type360 .byte 8 # Address Size (in bytes)361 .long .debug_abbrev # Offset Into Abbrev. Section362 .byte 9 # Abbrev [9] 0xc:0x7f DW_TAG_compile_unit363 .byte 0 # DW_AT_producer364 .short 33 # DW_AT_language365 .byte 1 # DW_AT_name366 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base367 .long .Lline_table_start0 # DW_AT_stmt_list368 .byte 2 # DW_AT_comp_dir369 .quad 0 # DW_AT_low_pc370 .byte 0 # DW_AT_ranges371 .long .Laddr_table_base0 # DW_AT_addr_base372 .long .Lrnglists_table_base0 # DW_AT_rnglists_base373 .byte 2 # Abbrev [2] 0x2b:0x1b DW_TAG_namespace374 .byte 3 # DW_AT_name375 .byte 2 # Abbrev [2] 0x2d:0x18 DW_TAG_namespace376 .byte 4 # DW_AT_name377 .byte 10 # Abbrev [10] 0x2f:0x15 DW_TAG_class_type378 # DW_AT_declaration379 .quad -1782593539102989756 # DW_AT_signature380 .byte 4 # Abbrev [4] 0x38:0xb DW_TAG_subprogram381 .byte 5 # DW_AT_name382 .byte 0 # DW_AT_decl_file383 .byte 8 # DW_AT_decl_line384 # DW_AT_declaration385 # DW_AT_external386 .byte 1 # DW_AT_accessibility387 # DW_ACCESS_public388 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter389 .long 97 # DW_AT_type390 # DW_AT_artificial391 .byte 0 # End Of Children Mark392 .byte 0 # End Of Children Mark393 .byte 0 # End Of Children Mark394 .byte 0 # End Of Children Mark395 .byte 11 # Abbrev [11] 0x46:0x1b DW_TAG_subprogram396 .byte 0 # DW_AT_low_pc397 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc398 .byte 1 # DW_AT_frame_base399 .byte 86400 .byte 7 # DW_AT_name401 .byte 0 # DW_AT_decl_file402 .byte 14 # DW_AT_decl_line403 .long 129 # DW_AT_type404 # DW_AT_external405 .byte 12 # Abbrev [12] 0x55:0xb DW_TAG_variable406 .byte 2 # DW_AT_location407 .byte 145408 .byte 123409 .byte 10 # DW_AT_name410 .byte 0 # DW_AT_decl_file411 .byte 15 # DW_AT_decl_line412 .long 47 # DW_AT_type413 .byte 0 # End Of Children Mark414 .byte 8 # Abbrev [8] 0x61:0x5 DW_TAG_pointer_type415 .long 47 # DW_AT_type416 .byte 13 # Abbrev [13] 0x66:0x1b DW_TAG_subprogram417 .byte 1 # DW_AT_low_pc418 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc419 .byte 1 # DW_AT_frame_base420 .byte 86421 .long 119 # DW_AT_object_pointer422 .byte 9 # DW_AT_linkage_name423 .long 56 # DW_AT_specification424 .byte 14 # Abbrev [14] 0x77:0x9 DW_TAG_formal_parameter425 .byte 2 # DW_AT_location426 .byte 145427 .byte 120428 .byte 11 # DW_AT_name429 .long 133 # DW_AT_type430 # DW_AT_artificial431 .byte 0 # End Of Children Mark432 .byte 15 # Abbrev [15] 0x81:0x4 DW_TAG_base_type433 .byte 8 # DW_AT_name434 .byte 5 # DW_AT_encoding435 .byte 4 # DW_AT_byte_size436 .byte 8 # Abbrev [8] 0x85:0x5 DW_TAG_pointer_type437 .long 47 # DW_AT_type438 .byte 0 # End Of Children Mark439.Ldebug_info_end1:440 .section .debug_rnglists,"",@progbits441 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length442.Ldebug_list_header_start0:443 .short 5 # Version444 .byte 8 # Address size445 .byte 0 # Segment selector size446 .long 1 # Offset entry count447.Lrnglists_table_base0:448 .long .Ldebug_ranges0-.Lrnglists_table_base0449.Ldebug_ranges0:450 .byte 3 # DW_RLE_startx_length451 .byte 0 # start index452 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length453 .byte 3 # DW_RLE_startx_length454 .byte 1 # start index455 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length456 .byte 0 # DW_RLE_end_of_list457.Ldebug_list_header_end0:458 .section .debug_str_offsets,"",@progbits459 .long 52 # Length of String Offsets Set460 .short 5461 .short 0462.Lstr_offsets_base0:463 .section .debug_str,"MS",@progbits,1464.Linfo_string0:465 .asciz "clang version 19.0.0git" # string offset=0466.Linfo_string1:467 .asciz "main.cpp" # string offset=24468.Linfo_string2:469 .asciz "/home/ayermolo/local/tasks/T190087639/DW_TAG_structure_type" # string offset=33470.Linfo_string3:471 .asciz "A" # string offset=93472.Linfo_string4:473 .asciz "B" # string offset=95474.Linfo_string5:475 .asciz "State" # string offset=97476.Linfo_string6:477 .asciz "InnerState" # string offset=103478.Linfo_string7:479 .asciz "main" # string offset=114480.Linfo_string8:481 .asciz "_ZN1A1B5StateC2Ev" # string offset=119482.Linfo_string9:483 .asciz "int" # string offset=137484.Linfo_string10:485 .asciz "S" # string offset=141486.Linfo_string11:487 .asciz "this" # string offset=143488 .section .debug_str_offsets,"",@progbits489 .long .Linfo_string0490 .long .Linfo_string1491 .long .Linfo_string2492 .long .Linfo_string3493 .long .Linfo_string4494 .long .Linfo_string5495 .long .Linfo_string6496 .long .Linfo_string7497 .long .Linfo_string9498 .long .Linfo_string8499 .long .Linfo_string10500 .long .Linfo_string11501 .section .debug_addr,"",@progbits502 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution503.Ldebug_addr_start0:504 .short 5 # DWARF version number505 .byte 8 # Address size506 .byte 0 # Segment selector size507.Laddr_table_base0:508 .quad .Lfunc_begin0509 .quad .Lfunc_begin1510.Ldebug_addr_end0:511 .section .debug_names,"",@progbits512 .long .Lnames_end0-.Lnames_start0 # Header: unit length513.Lnames_start0:514 .short 5 # Header: version515 .short 0 # Header: padding516 .long 1 # Header: compilation unit count517 .long 1 # Header: local type unit count518 .long 0 # Header: foreign type unit count519 .long 6 # Header: bucket count520 .long 6 # Header: name count521 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size522 .long 8 # Header: augmentation string size523 .ascii "LLVM0700" # Header: augmentation string524 .long .Lcu_begin0 # Compilation unit 0525 .long .Ltu_begin0 # Type unit 0526 .long 0 # Bucket 0527 .long 0 # Bucket 1528 .long 1 # Bucket 2529 .long 2 # Bucket 3530 .long 3 # Bucket 4531 .long 6 # Bucket 5532 .long 193495088 # Hash in Bucket 2533 .long 1059643959 # Hash in Bucket 3534 .long 177670 # Hash in Bucket 4535 .long 274811398 # Hash in Bucket 4536 .long 2090499946 # Hash in Bucket 4537 .long 177671 # Hash in Bucket 5538 .long .Linfo_string9 # String in Bucket 2: int539 .long .Linfo_string8 # String in Bucket 3: _ZN1A1B5StateC2Ev540 .long .Linfo_string3 # String in Bucket 4: A541 .long .Linfo_string5 # String in Bucket 4: State542 .long .Linfo_string7 # String in Bucket 4: main543 .long .Linfo_string4 # String in Bucket 5: B544 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 2545 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 3546 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 4547 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 4548 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 4549 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 5550.Lnames_abbrev_start0:551 .byte 1 # Abbrev code552 .byte 36 # DW_TAG_base_type553 .byte 3 # DW_IDX_die_offset554 .byte 19 # DW_FORM_ref4555 .byte 4 # DW_IDX_parent556 .byte 25 # DW_FORM_flag_present557 .byte 0 # End of abbrev558 .byte 0 # End of abbrev559 .byte 2 # Abbrev code560 .byte 46 # DW_TAG_subprogram561 .byte 3 # DW_IDX_die_offset562 .byte 19 # DW_FORM_ref4563 .byte 4 # DW_IDX_parent564 .byte 25 # DW_FORM_flag_present565 .byte 0 # End of abbrev566 .byte 0 # End of abbrev567 .byte 3 # Abbrev code568 .byte 57 # DW_TAG_namespace569 .byte 2 # DW_IDX_type_unit570 .byte 11 # DW_FORM_data1571 .byte 3 # DW_IDX_die_offset572 .byte 19 # DW_FORM_ref4573 .byte 4 # DW_IDX_parent574 .byte 25 # DW_FORM_flag_present575 .byte 0 # End of abbrev576 .byte 0 # End of abbrev577 .byte 4 # Abbrev code578 .byte 57 # DW_TAG_namespace579 .byte 3 # DW_IDX_die_offset580 .byte 19 # DW_FORM_ref4581 .byte 4 # DW_IDX_parent582 .byte 25 # DW_FORM_flag_present583 .byte 0 # End of abbrev584 .byte 0 # End of abbrev585 .byte 5 # Abbrev code586 .byte 2 # DW_TAG_class_type587 .byte 2 # DW_IDX_type_unit588 .byte 11 # DW_FORM_data1589 .byte 3 # DW_IDX_die_offset590 .byte 19 # DW_FORM_ref4591 .byte 4 # DW_IDX_parent592 .byte 19 # DW_FORM_ref4593 .byte 0 # End of abbrev594 .byte 0 # End of abbrev595 .byte 6 # Abbrev code596 .byte 57 # DW_TAG_namespace597 .byte 2 # DW_IDX_type_unit598 .byte 11 # DW_FORM_data1599 .byte 3 # DW_IDX_die_offset600 .byte 19 # DW_FORM_ref4601 .byte 4 # DW_IDX_parent602 .byte 19 # DW_FORM_ref4603 .byte 0 # End of abbrev604 .byte 0 # End of abbrev605 .byte 7 # Abbrev code606 .byte 57 # DW_TAG_namespace607 .byte 3 # DW_IDX_die_offset608 .byte 19 # DW_FORM_ref4609 .byte 4 # DW_IDX_parent610 .byte 19 # DW_FORM_ref4611 .byte 0 # End of abbrev612 .byte 0 # End of abbrev613 .byte 0 # End of abbrev list614.Lnames_abbrev_end0:615.Lnames_entries0:616.Lnames5:617.L2:618 .byte 1 # Abbreviation code619 .long 129 # DW_IDX_die_offset620 .byte 0 # DW_IDX_parent621 # End of list: int622.Lnames4:623.L3:624 .byte 2 # Abbreviation code625 .long 102 # DW_IDX_die_offset626 .byte 0 # DW_IDX_parent627 # End of list: _ZN1A1B5StateC2Ev628.Lnames0:629.L4:630 .byte 3 # Abbreviation code631 .byte 0 # DW_IDX_type_unit632 .long 35 # DW_IDX_die_offset633.L7: # DW_IDX_parent634 .byte 4 # Abbreviation code635 .long 43 # DW_IDX_die_offset636 .byte 0 # DW_IDX_parent637 # End of list: A638.Lnames2:639.L1:640 .byte 5 # Abbreviation code641 .byte 0 # DW_IDX_type_unit642 .long 39 # DW_IDX_die_offset643 .long .L5-.Lnames_entries0 # DW_IDX_parent644 .byte 2 # Abbreviation code645 .long 102 # DW_IDX_die_offset646 .byte 0 # DW_IDX_parent647 # End of list: State648.Lnames3:649.L0:650 .byte 2 # Abbreviation code651 .long 70 # DW_IDX_die_offset652 .byte 0 # DW_IDX_parent653 # End of list: main654.Lnames1:655.L5:656 .byte 6 # Abbreviation code657 .byte 0 # DW_IDX_type_unit658 .long 37 # DW_IDX_die_offset659 .long .L4-.Lnames_entries0 # DW_IDX_parent660.L6:661 .byte 7 # Abbreviation code662 .long 45 # DW_IDX_die_offset663 .long .L7-.Lnames_entries0 # DW_IDX_parent664 .byte 0 # End of list: B665 .p2align 2, 0x0666.Lnames_end0:667 .ident "clang version 19.0.0git"668 .section ".note.GNU-stack","",@progbits669 .addrsig670 .section .debug_line,"",@progbits671.Lline_table_start0:672