671 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_class_type declaration with DW_AT_name.11 12# POSTCHECK: DW_TAG_type_unit13# POSTCHECK: DW_TAG_class_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## class 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 .text39 .file "main.cpp"40 .file 0 "/DW_TAG_class_type" "main.cpp" md5 0x80f261b124b76c481b8761c040ab480241 .section .debug_info,"G",@progbits,16664150534606561860,comdat42.Ltu_begin0:43 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit44.Ldebug_info_start0:45 .short 5 # DWARF version number46 .byte 2 # DWARF Unit Type47 .byte 8 # Address Size (in bytes)48 .long .debug_abbrev # Offset Into Abbrev. Section49 .quad -1782593539102989756 # Type Signature50 .long 39 # Type DIE Offset51 .byte 1 # Abbrev [1] 0x18:0x3b DW_TAG_type_unit52 .short 33 # DW_AT_language53 .long .Lline_table_start0 # DW_AT_stmt_list54 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base55 .byte 2 # Abbrev [2] 0x23:0x2a DW_TAG_namespace56 .byte 3 # DW_AT_name57 .byte 2 # Abbrev [2] 0x25:0x27 DW_TAG_namespace58 .byte 4 # DW_AT_name59 .byte 3 # Abbrev [3] 0x27:0x24 DW_TAG_class_type60 .byte 5 # DW_AT_calling_convention61 .byte 5 # DW_AT_name62 .byte 1 # DW_AT_byte_size63 .byte 0 # DW_AT_decl_file64 .byte 3 # DW_AT_decl_line65 .byte 4 # Abbrev [4] 0x2d:0xb DW_TAG_subprogram66 .byte 5 # DW_AT_name67 .byte 0 # DW_AT_decl_file68 .byte 8 # DW_AT_decl_line69 # DW_AT_declaration70 # DW_AT_external71 .byte 1 # DW_AT_accessibility72 # DW_ACCESS_public73 .byte 5 # Abbrev [5] 0x32:0x5 DW_TAG_formal_parameter74 .long 77 # DW_AT_type75 # DW_AT_artificial76 .byte 0 # End Of Children Mark77 .byte 4 # Abbrev [4] 0x38:0x10 DW_TAG_subprogram78 .byte 5 # DW_AT_name79 .byte 0 # DW_AT_decl_file80 .byte 9 # DW_AT_decl_line81 # DW_AT_declaration82 # DW_AT_external83 .byte 1 # DW_AT_accessibility84 # DW_ACCESS_public85 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter86 .long 77 # DW_AT_type87 # DW_AT_artificial88 .byte 6 # Abbrev [6] 0x42:0x5 DW_TAG_formal_parameter89 .long 72 # DW_AT_type90 .byte 0 # End Of Children Mark91 .byte 7 # Abbrev [7] 0x48:0x2 DW_TAG_class_type92 .byte 6 # DW_AT_name93 # DW_AT_declaration94 .byte 0 # End Of Children Mark95 .byte 0 # End Of Children Mark96 .byte 0 # End Of Children Mark97 .byte 8 # Abbrev [8] 0x4d:0x5 DW_TAG_pointer_type98 .long 39 # DW_AT_type99 .byte 0 # End Of Children Mark100.Ldebug_info_end0:101 .text102 .globl main # -- Begin function main103 .p2align 4, 0x90104 .type main,@function105main: # @main106.Lfunc_begin0:107 .loc 0 14 0 # main.cpp:14:0108 .cfi_startproc109# %bb.0: # %entry110 pushq %rbp111 .cfi_def_cfa_offset 16112 .cfi_offset %rbp, -16113 movq %rsp, %rbp114 .cfi_def_cfa_register %rbp115 subq $16, %rsp116 movl $0, -4(%rbp)117.Ltmp0:118 .loc 0 15 15 prologue_end # main.cpp:15:15119 leaq -5(%rbp), %rdi120 callq _ZN1A1B5StateC2Ev121 .loc 0 16 3 # main.cpp:16:3122 xorl %eax, %eax123 .loc 0 16 3 epilogue_begin is_stmt 0 # main.cpp:16:3124 addq $16, %rsp125 popq %rbp126 .cfi_def_cfa %rsp, 8127 retq128.Ltmp1:129.Lfunc_end0:130 .size main, .Lfunc_end0-main131 .cfi_endproc132 # -- End function133 .section .text._ZN1A1B5StateC2Ev,"axG",@progbits,_ZN1A1B5StateC2Ev,comdat134 .weak _ZN1A1B5StateC2Ev # -- Begin function _ZN1A1B5StateC2Ev135 .p2align 4, 0x90136 .type _ZN1A1B5StateC2Ev,@function137_ZN1A1B5StateC2Ev: # @_ZN1A1B5StateC2Ev138.Lfunc_begin1:139 .loc 0 8 0 is_stmt 1 # main.cpp:8:0140 .cfi_startproc141# %bb.0: # %entry142 pushq %rbp143 .cfi_def_cfa_offset 16144 .cfi_offset %rbp, -16145 movq %rsp, %rbp146 .cfi_def_cfa_register %rbp147 movq %rdi, -8(%rbp)148.Ltmp2:149 .loc 0 8 15 prologue_end epilogue_begin # main.cpp:8:15150 popq %rbp151 .cfi_def_cfa %rsp, 8152 retq153.Ltmp3:154.Lfunc_end1:155 .size _ZN1A1B5StateC2Ev, .Lfunc_end1-_ZN1A1B5StateC2Ev156 .cfi_endproc157 # -- End function158 .section .debug_abbrev,"",@progbits159 .byte 1 # Abbreviation Code160 .byte 65 # DW_TAG_type_unit161 .byte 1 # DW_CHILDREN_yes162 .byte 19 # DW_AT_language163 .byte 5 # DW_FORM_data2164 .byte 16 # DW_AT_stmt_list165 .byte 23 # DW_FORM_sec_offset166 .byte 114 # DW_AT_str_offsets_base167 .byte 23 # DW_FORM_sec_offset168 .byte 0 # EOM(1)169 .byte 0 # EOM(2)170 .byte 2 # Abbreviation Code171 .byte 57 # DW_TAG_namespace172 .byte 1 # DW_CHILDREN_yes173 .byte 3 # DW_AT_name174 .byte 37 # DW_FORM_strx1175 .byte 0 # EOM(1)176 .byte 0 # EOM(2)177 .byte 3 # Abbreviation Code178 .byte 2 # DW_TAG_class_type179 .byte 1 # DW_CHILDREN_yes180 .byte 54 # DW_AT_calling_convention181 .byte 11 # DW_FORM_data1182 .byte 3 # DW_AT_name183 .byte 37 # DW_FORM_strx1184 .byte 11 # DW_AT_byte_size185 .byte 11 # DW_FORM_data1186 .byte 58 # DW_AT_decl_file187 .byte 11 # DW_FORM_data1188 .byte 59 # DW_AT_decl_line189 .byte 11 # DW_FORM_data1190 .byte 0 # EOM(1)191 .byte 0 # EOM(2)192 .byte 4 # Abbreviation Code193 .byte 46 # DW_TAG_subprogram194 .byte 1 # DW_CHILDREN_yes195 .byte 3 # DW_AT_name196 .byte 37 # DW_FORM_strx1197 .byte 58 # DW_AT_decl_file198 .byte 11 # DW_FORM_data1199 .byte 59 # DW_AT_decl_line200 .byte 11 # DW_FORM_data1201 .byte 60 # DW_AT_declaration202 .byte 25 # DW_FORM_flag_present203 .byte 63 # DW_AT_external204 .byte 25 # DW_FORM_flag_present205 .byte 50 # DW_AT_accessibility206 .byte 11 # DW_FORM_data1207 .byte 0 # EOM(1)208 .byte 0 # EOM(2)209 .byte 5 # Abbreviation Code210 .byte 5 # DW_TAG_formal_parameter211 .byte 0 # DW_CHILDREN_no212 .byte 73 # DW_AT_type213 .byte 19 # DW_FORM_ref4214 .byte 52 # DW_AT_artificial215 .byte 25 # DW_FORM_flag_present216 .byte 0 # EOM(1)217 .byte 0 # EOM(2)218 .byte 6 # Abbreviation Code219 .byte 5 # DW_TAG_formal_parameter220 .byte 0 # DW_CHILDREN_no221 .byte 73 # DW_AT_type222 .byte 19 # DW_FORM_ref4223 .byte 0 # EOM(1)224 .byte 0 # EOM(2)225 .byte 7 # Abbreviation Code226 .byte 2 # DW_TAG_class_type227 .byte 0 # DW_CHILDREN_no228 .byte 3 # DW_AT_name229 .byte 37 # DW_FORM_strx1230 .byte 60 # DW_AT_declaration231 .byte 25 # DW_FORM_flag_present232 .byte 0 # EOM(1)233 .byte 0 # EOM(2)234 .byte 8 # Abbreviation Code235 .byte 15 # DW_TAG_pointer_type236 .byte 0 # DW_CHILDREN_no237 .byte 73 # DW_AT_type238 .byte 19 # DW_FORM_ref4239 .byte 0 # EOM(1)240 .byte 0 # EOM(2)241 .byte 9 # Abbreviation Code242 .byte 17 # DW_TAG_compile_unit243 .byte 1 # DW_CHILDREN_yes244 .byte 37 # DW_AT_producer245 .byte 37 # DW_FORM_strx1246 .byte 19 # DW_AT_language247 .byte 5 # DW_FORM_data2248 .byte 3 # DW_AT_name249 .byte 37 # DW_FORM_strx1250 .byte 114 # DW_AT_str_offsets_base251 .byte 23 # DW_FORM_sec_offset252 .byte 16 # DW_AT_stmt_list253 .byte 23 # DW_FORM_sec_offset254 .byte 27 # DW_AT_comp_dir255 .byte 37 # DW_FORM_strx1256 .byte 17 # DW_AT_low_pc257 .byte 1 # DW_FORM_addr258 .byte 85 # DW_AT_ranges259 .byte 35 # DW_FORM_rnglistx260 .byte 115 # DW_AT_addr_base261 .byte 23 # DW_FORM_sec_offset262 .byte 116 # DW_AT_rnglists_base263 .byte 23 # DW_FORM_sec_offset264 .byte 0 # EOM(1)265 .byte 0 # EOM(2)266 .byte 10 # Abbreviation Code267 .byte 2 # DW_TAG_class_type268 .byte 1 # DW_CHILDREN_yes269 .byte 60 # DW_AT_declaration270 .byte 25 # DW_FORM_flag_present271 .byte 105 # DW_AT_signature272 .byte 32 # DW_FORM_ref_sig8273 .byte 0 # EOM(1)274 .byte 0 # EOM(2)275 .byte 11 # Abbreviation Code276 .byte 46 # DW_TAG_subprogram277 .byte 1 # DW_CHILDREN_yes278 .byte 17 # DW_AT_low_pc279 .byte 27 # DW_FORM_addrx280 .byte 18 # DW_AT_high_pc281 .byte 6 # DW_FORM_data4282 .byte 64 # DW_AT_frame_base283 .byte 24 # DW_FORM_exprloc284 .byte 3 # DW_AT_name285 .byte 37 # DW_FORM_strx1286 .byte 58 # DW_AT_decl_file287 .byte 11 # DW_FORM_data1288 .byte 59 # DW_AT_decl_line289 .byte 11 # DW_FORM_data1290 .byte 73 # DW_AT_type291 .byte 19 # DW_FORM_ref4292 .byte 63 # DW_AT_external293 .byte 25 # DW_FORM_flag_present294 .byte 0 # EOM(1)295 .byte 0 # EOM(2)296 .byte 12 # Abbreviation Code297 .byte 52 # DW_TAG_variable298 .byte 0 # DW_CHILDREN_no299 .byte 2 # DW_AT_location300 .byte 24 # DW_FORM_exprloc301 .byte 3 # DW_AT_name302 .byte 37 # DW_FORM_strx1303 .byte 58 # DW_AT_decl_file304 .byte 11 # DW_FORM_data1305 .byte 59 # DW_AT_decl_line306 .byte 11 # DW_FORM_data1307 .byte 73 # DW_AT_type308 .byte 19 # DW_FORM_ref4309 .byte 0 # EOM(1)310 .byte 0 # EOM(2)311 .byte 13 # Abbreviation Code312 .byte 46 # DW_TAG_subprogram313 .byte 1 # DW_CHILDREN_yes314 .byte 17 # DW_AT_low_pc315 .byte 27 # DW_FORM_addrx316 .byte 18 # DW_AT_high_pc317 .byte 6 # DW_FORM_data4318 .byte 64 # DW_AT_frame_base319 .byte 24 # DW_FORM_exprloc320 .byte 100 # DW_AT_object_pointer321 .byte 19 # DW_FORM_ref4322 .byte 110 # DW_AT_linkage_name323 .byte 37 # DW_FORM_strx1324 .byte 71 # DW_AT_specification325 .byte 19 # DW_FORM_ref4326 .byte 0 # EOM(1)327 .byte 0 # EOM(2)328 .byte 14 # Abbreviation Code329 .byte 5 # DW_TAG_formal_parameter330 .byte 0 # DW_CHILDREN_no331 .byte 2 # DW_AT_location332 .byte 24 # DW_FORM_exprloc333 .byte 3 # DW_AT_name334 .byte 37 # DW_FORM_strx1335 .byte 73 # DW_AT_type336 .byte 19 # DW_FORM_ref4337 .byte 52 # DW_AT_artificial338 .byte 25 # DW_FORM_flag_present339 .byte 0 # EOM(1)340 .byte 0 # EOM(2)341 .byte 15 # Abbreviation Code342 .byte 36 # DW_TAG_base_type343 .byte 0 # DW_CHILDREN_no344 .byte 3 # DW_AT_name345 .byte 37 # DW_FORM_strx1346 .byte 62 # DW_AT_encoding347 .byte 11 # DW_FORM_data1348 .byte 11 # DW_AT_byte_size349 .byte 11 # DW_FORM_data1350 .byte 0 # EOM(1)351 .byte 0 # EOM(2)352 .byte 0 # EOM(3)353 .section .debug_info,"",@progbits354.Lcu_begin0:355 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit356.Ldebug_info_start1:357 .short 5 # DWARF version number358 .byte 1 # DWARF Unit Type359 .byte 8 # Address Size (in bytes)360 .long .debug_abbrev # Offset Into Abbrev. Section361 .byte 9 # Abbrev [9] 0xc:0x7f DW_TAG_compile_unit362 .byte 0 # DW_AT_producer363 .short 33 # DW_AT_language364 .byte 1 # DW_AT_name365 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base366 .long .Lline_table_start0 # DW_AT_stmt_list367 .byte 2 # DW_AT_comp_dir368 .quad 0 # DW_AT_low_pc369 .byte 0 # DW_AT_ranges370 .long .Laddr_table_base0 # DW_AT_addr_base371 .long .Lrnglists_table_base0 # DW_AT_rnglists_base372 .byte 2 # Abbrev [2] 0x2b:0x1b DW_TAG_namespace373 .byte 3 # DW_AT_name374 .byte 2 # Abbrev [2] 0x2d:0x18 DW_TAG_namespace375 .byte 4 # DW_AT_name376 .byte 10 # Abbrev [10] 0x2f:0x15 DW_TAG_class_type377 # DW_AT_declaration378 .quad -1782593539102989756 # DW_AT_signature379 .byte 4 # Abbrev [4] 0x38:0xb DW_TAG_subprogram380 .byte 5 # DW_AT_name381 .byte 0 # DW_AT_decl_file382 .byte 8 # DW_AT_decl_line383 # DW_AT_declaration384 # DW_AT_external385 .byte 1 # DW_AT_accessibility386 # DW_ACCESS_public387 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter388 .long 97 # DW_AT_type389 # DW_AT_artificial390 .byte 0 # End Of Children Mark391 .byte 0 # End Of Children Mark392 .byte 0 # End Of Children Mark393 .byte 0 # End Of Children Mark394 .byte 11 # Abbrev [11] 0x46:0x1b DW_TAG_subprogram395 .byte 0 # DW_AT_low_pc396 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc397 .byte 1 # DW_AT_frame_base398 .byte 86399 .byte 7 # DW_AT_name400 .byte 0 # DW_AT_decl_file401 .byte 14 # DW_AT_decl_line402 .long 129 # DW_AT_type403 # DW_AT_external404 .byte 12 # Abbrev [12] 0x55:0xb DW_TAG_variable405 .byte 2 # DW_AT_location406 .byte 145407 .byte 123408 .byte 10 # DW_AT_name409 .byte 0 # DW_AT_decl_file410 .byte 15 # DW_AT_decl_line411 .long 47 # DW_AT_type412 .byte 0 # End Of Children Mark413 .byte 8 # Abbrev [8] 0x61:0x5 DW_TAG_pointer_type414 .long 47 # DW_AT_type415 .byte 13 # Abbrev [13] 0x66:0x1b DW_TAG_subprogram416 .byte 1 # DW_AT_low_pc417 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc418 .byte 1 # DW_AT_frame_base419 .byte 86420 .long 119 # DW_AT_object_pointer421 .byte 9 # DW_AT_linkage_name422 .long 56 # DW_AT_specification423 .byte 14 # Abbrev [14] 0x77:0x9 DW_TAG_formal_parameter424 .byte 2 # DW_AT_location425 .byte 145426 .byte 120427 .byte 11 # DW_AT_name428 .long 133 # DW_AT_type429 # DW_AT_artificial430 .byte 0 # End Of Children Mark431 .byte 15 # Abbrev [15] 0x81:0x4 DW_TAG_base_type432 .byte 8 # DW_AT_name433 .byte 5 # DW_AT_encoding434 .byte 4 # DW_AT_byte_size435 .byte 8 # Abbrev [8] 0x85:0x5 DW_TAG_pointer_type436 .long 47 # DW_AT_type437 .byte 0 # End Of Children Mark438.Ldebug_info_end1:439 .section .debug_rnglists,"",@progbits440 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length441.Ldebug_list_header_start0:442 .short 5 # Version443 .byte 8 # Address size444 .byte 0 # Segment selector size445 .long 1 # Offset entry count446.Lrnglists_table_base0:447 .long .Ldebug_ranges0-.Lrnglists_table_base0448.Ldebug_ranges0:449 .byte 3 # DW_RLE_startx_length450 .byte 0 # start index451 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length452 .byte 3 # DW_RLE_startx_length453 .byte 1 # start index454 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length455 .byte 0 # DW_RLE_end_of_list456.Ldebug_list_header_end0:457 .section .debug_str_offsets,"",@progbits458 .long 52 # Length of String Offsets Set459 .short 5460 .short 0461.Lstr_offsets_base0:462 .section .debug_str,"MS",@progbits,1463.Linfo_string0:464 .asciz "clang version 19.0.0git" # string offset=0465.Linfo_string1:466 .asciz "main.cpp" # string offset=24467.Linfo_string2:468 .asciz "/home/ayermolo/local/tasks/T190087639/DW_TAG_class_type" # string offset=33469.Linfo_string3:470 .asciz "A" # string offset=89471.Linfo_string4:472 .asciz "B" # string offset=91473.Linfo_string5:474 .asciz "State" # string offset=93475.Linfo_string6:476 .asciz "InnerState" # string offset=99477.Linfo_string7:478 .asciz "main" # string offset=110479.Linfo_string8:480 .asciz "_ZN1A1B5StateC2Ev" # string offset=115481.Linfo_string9:482 .asciz "int" # string offset=133483.Linfo_string10:484 .asciz "S" # string offset=137485.Linfo_string11:486 .asciz "this" # string offset=139487 .section .debug_str_offsets,"",@progbits488 .long .Linfo_string0489 .long .Linfo_string1490 .long .Linfo_string2491 .long .Linfo_string3492 .long .Linfo_string4493 .long .Linfo_string5494 .long .Linfo_string6495 .long .Linfo_string7496 .long .Linfo_string9497 .long .Linfo_string8498 .long .Linfo_string10499 .long .Linfo_string11500 .section .debug_addr,"",@progbits501 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution502.Ldebug_addr_start0:503 .short 5 # DWARF version number504 .byte 8 # Address size505 .byte 0 # Segment selector size506.Laddr_table_base0:507 .quad .Lfunc_begin0508 .quad .Lfunc_begin1509.Ldebug_addr_end0:510 .section .debug_names,"",@progbits511 .long .Lnames_end0-.Lnames_start0 # Header: unit length512.Lnames_start0:513 .short 5 # Header: version514 .short 0 # Header: padding515 .long 1 # Header: compilation unit count516 .long 1 # Header: local type unit count517 .long 0 # Header: foreign type unit count518 .long 6 # Header: bucket count519 .long 6 # Header: name count520 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size521 .long 8 # Header: augmentation string size522 .ascii "LLVM0700" # Header: augmentation string523 .long .Lcu_begin0 # Compilation unit 0524 .long .Ltu_begin0 # Type unit 0525 .long 0 # Bucket 0526 .long 0 # Bucket 1527 .long 1 # Bucket 2528 .long 2 # Bucket 3529 .long 3 # Bucket 4530 .long 6 # Bucket 5531 .long 193495088 # Hash in Bucket 2532 .long 1059643959 # Hash in Bucket 3533 .long 177670 # Hash in Bucket 4534 .long 274811398 # Hash in Bucket 4535 .long 2090499946 # Hash in Bucket 4536 .long 177671 # Hash in Bucket 5537 .long .Linfo_string9 # String in Bucket 2: int538 .long .Linfo_string8 # String in Bucket 3: _ZN1A1B5StateC2Ev539 .long .Linfo_string3 # String in Bucket 4: A540 .long .Linfo_string5 # String in Bucket 4: State541 .long .Linfo_string7 # String in Bucket 4: main542 .long .Linfo_string4 # String in Bucket 5: B543 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 2544 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 3545 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 4546 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 4547 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 4548 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 5549.Lnames_abbrev_start0:550 .byte 1 # Abbrev code551 .byte 36 # DW_TAG_base_type552 .byte 3 # DW_IDX_die_offset553 .byte 19 # DW_FORM_ref4554 .byte 4 # DW_IDX_parent555 .byte 25 # DW_FORM_flag_present556 .byte 0 # End of abbrev557 .byte 0 # End of abbrev558 .byte 2 # Abbrev code559 .byte 46 # DW_TAG_subprogram560 .byte 3 # DW_IDX_die_offset561 .byte 19 # DW_FORM_ref4562 .byte 4 # DW_IDX_parent563 .byte 25 # DW_FORM_flag_present564 .byte 0 # End of abbrev565 .byte 0 # End of abbrev566 .byte 3 # Abbrev code567 .byte 57 # DW_TAG_namespace568 .byte 2 # DW_IDX_type_unit569 .byte 11 # DW_FORM_data1570 .byte 3 # DW_IDX_die_offset571 .byte 19 # DW_FORM_ref4572 .byte 4 # DW_IDX_parent573 .byte 25 # DW_FORM_flag_present574 .byte 0 # End of abbrev575 .byte 0 # End of abbrev576 .byte 4 # Abbrev code577 .byte 57 # DW_TAG_namespace578 .byte 3 # DW_IDX_die_offset579 .byte 19 # DW_FORM_ref4580 .byte 4 # DW_IDX_parent581 .byte 25 # DW_FORM_flag_present582 .byte 0 # End of abbrev583 .byte 0 # End of abbrev584 .byte 5 # Abbrev code585 .byte 2 # DW_TAG_class_type586 .byte 2 # DW_IDX_type_unit587 .byte 11 # DW_FORM_data1588 .byte 3 # DW_IDX_die_offset589 .byte 19 # DW_FORM_ref4590 .byte 4 # DW_IDX_parent591 .byte 19 # DW_FORM_ref4592 .byte 0 # End of abbrev593 .byte 0 # End of abbrev594 .byte 6 # Abbrev code595 .byte 57 # DW_TAG_namespace596 .byte 2 # DW_IDX_type_unit597 .byte 11 # DW_FORM_data1598 .byte 3 # DW_IDX_die_offset599 .byte 19 # DW_FORM_ref4600 .byte 4 # DW_IDX_parent601 .byte 19 # DW_FORM_ref4602 .byte 0 # End of abbrev603 .byte 0 # End of abbrev604 .byte 7 # Abbrev code605 .byte 57 # DW_TAG_namespace606 .byte 3 # DW_IDX_die_offset607 .byte 19 # DW_FORM_ref4608 .byte 4 # DW_IDX_parent609 .byte 19 # DW_FORM_ref4610 .byte 0 # End of abbrev611 .byte 0 # End of abbrev612 .byte 0 # End of abbrev list613.Lnames_abbrev_end0:614.Lnames_entries0:615.Lnames5:616.L2:617 .byte 1 # Abbreviation code618 .long 129 # DW_IDX_die_offset619 .byte 0 # DW_IDX_parent620 # End of list: int621.Lnames4:622.L3:623 .byte 2 # Abbreviation code624 .long 102 # DW_IDX_die_offset625 .byte 0 # DW_IDX_parent626 # End of list: _ZN1A1B5StateC2Ev627.Lnames0:628.L4:629 .byte 3 # Abbreviation code630 .byte 0 # DW_IDX_type_unit631 .long 35 # DW_IDX_die_offset632.L7: # DW_IDX_parent633 .byte 4 # Abbreviation code634 .long 43 # DW_IDX_die_offset635 .byte 0 # DW_IDX_parent636 # End of list: A637.Lnames2:638.L1:639 .byte 5 # Abbreviation code640 .byte 0 # DW_IDX_type_unit641 .long 39 # DW_IDX_die_offset642 .long .L5-.Lnames_entries0 # DW_IDX_parent643 .byte 2 # Abbreviation code644 .long 102 # DW_IDX_die_offset645 .byte 0 # DW_IDX_parent646 # End of list: State647.Lnames3:648.L0:649 .byte 2 # Abbreviation code650 .long 70 # DW_IDX_die_offset651 .byte 0 # DW_IDX_parent652 # End of list: main653.Lnames1:654.L5:655 .byte 6 # Abbreviation code656 .byte 0 # DW_IDX_type_unit657 .long 37 # DW_IDX_die_offset658 .long .L4-.Lnames_entries0 # DW_IDX_parent659.L6:660 .byte 7 # Abbreviation code661 .long 45 # DW_IDX_die_offset662 .long .L7-.Lnames_entries0 # DW_IDX_parent663 .byte 0 # End of list: B664 .p2align 2, 0x0665.Lnames_end0:666 .ident "clang version 19.0.0git"667 .section ".note.GNU-stack","",@progbits668 .addrsig669 .section .debug_line,"",@progbits670.Lline_table_start0:671