1# REQUIRES: system-linux 2 3# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o 4# RUN: %clang %cflags -dwarf-5 %t1.o -o %t.exe -Wl,-q 5# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections 6# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt > %t.txt 7# RUN: llvm-dwarfdump --show-form --verbose --debug-names %t.bolt >> %t.txt 8# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s 9 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_unit 13# 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 Index 17# POSTCHECK-NOT: "InnerState" 18 19## -g2 -O0 -fdebug-types-section -gpubnames 20## 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 .text 40 .file "main.cpp" 41 .file 0 "/DW_TAG_structure_type" "main.cpp" md5 0xd43ba503b70d00353c195087e1fe16e2 42 .section .debug_info,"G",@progbits,16664150534606561860,comdat 43.Ltu_begin0: 44 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 45.Ldebug_info_start0: 46 .short 5 # DWARF version number 47 .byte 2 # DWARF Unit Type 48 .byte 8 # Address Size (in bytes) 49 .long .debug_abbrev # Offset Into Abbrev. Section 50 .quad -1782593539102989756 # Type Signature 51 .long 39 # Type DIE Offset 52 .byte 1 # Abbrev [1] 0x18:0x3b DW_TAG_type_unit 53 .short 33 # DW_AT_language 54 .long .Lline_table_start0 # DW_AT_stmt_list 55 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 56 .byte 2 # Abbrev [2] 0x23:0x2a DW_TAG_namespace 57 .byte 3 # DW_AT_name 58 .byte 2 # Abbrev [2] 0x25:0x27 DW_TAG_namespace 59 .byte 4 # DW_AT_name 60 .byte 3 # Abbrev [3] 0x27:0x24 DW_TAG_class_type 61 .byte 5 # DW_AT_calling_convention 62 .byte 5 # DW_AT_name 63 .byte 1 # DW_AT_byte_size 64 .byte 0 # DW_AT_decl_file 65 .byte 3 # DW_AT_decl_line 66 .byte 4 # Abbrev [4] 0x2d:0xb DW_TAG_subprogram 67 .byte 5 # DW_AT_name 68 .byte 0 # DW_AT_decl_file 69 .byte 8 # DW_AT_decl_line 70 # DW_AT_declaration 71 # DW_AT_external 72 .byte 1 # DW_AT_accessibility 73 # DW_ACCESS_public 74 .byte 5 # Abbrev [5] 0x32:0x5 DW_TAG_formal_parameter 75 .long 77 # DW_AT_type 76 # DW_AT_artificial 77 .byte 0 # End Of Children Mark 78 .byte 4 # Abbrev [4] 0x38:0x10 DW_TAG_subprogram 79 .byte 5 # DW_AT_name 80 .byte 0 # DW_AT_decl_file 81 .byte 9 # DW_AT_decl_line 82 # DW_AT_declaration 83 # DW_AT_external 84 .byte 1 # DW_AT_accessibility 85 # DW_ACCESS_public 86 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter 87 .long 77 # DW_AT_type 88 # DW_AT_artificial 89 .byte 6 # Abbrev [6] 0x42:0x5 DW_TAG_formal_parameter 90 .long 72 # DW_AT_type 91 .byte 0 # End Of Children Mark 92 .byte 7 # Abbrev [7] 0x48:0x2 DW_TAG_structure_type 93 .byte 6 # DW_AT_name 94 # DW_AT_declaration 95 .byte 0 # End Of Children Mark 96 .byte 0 # End Of Children Mark 97 .byte 0 # End Of Children Mark 98 .byte 8 # Abbrev [8] 0x4d:0x5 DW_TAG_pointer_type 99 .long 39 # DW_AT_type 100 .byte 0 # End Of Children Mark 101.Ldebug_info_end0: 102 .text 103 .globl main # -- Begin function main 104 .p2align 4, 0x90 105 .type main,@function 106main: # @main 107.Lfunc_begin0: 108 .loc 0 14 0 # main.cpp:14:0 109 .cfi_startproc 110# %bb.0: # %entry 111 pushq %rbp 112 .cfi_def_cfa_offset 16 113 .cfi_offset %rbp, -16 114 movq %rsp, %rbp 115 .cfi_def_cfa_register %rbp 116 subq $16, %rsp 117 movl $0, -4(%rbp) 118.Ltmp0: 119 .loc 0 15 15 prologue_end # main.cpp:15:15 120 leaq -5(%rbp), %rdi 121 callq _ZN1A1B5StateC2Ev 122 .loc 0 16 3 # main.cpp:16:3 123 xorl %eax, %eax 124 .loc 0 16 3 epilogue_begin is_stmt 0 # main.cpp:16:3 125 addq $16, %rsp 126 popq %rbp 127 .cfi_def_cfa %rsp, 8 128 retq 129.Ltmp1: 130.Lfunc_end0: 131 .size main, .Lfunc_end0-main 132 .cfi_endproc 133 # -- End function 134 .section .text._ZN1A1B5StateC2Ev,"axG",@progbits,_ZN1A1B5StateC2Ev,comdat 135 .weak _ZN1A1B5StateC2Ev # -- Begin function _ZN1A1B5StateC2Ev 136 .p2align 4, 0x90 137 .type _ZN1A1B5StateC2Ev,@function 138_ZN1A1B5StateC2Ev: # @_ZN1A1B5StateC2Ev 139.Lfunc_begin1: 140 .loc 0 8 0 is_stmt 1 # main.cpp:8:0 141 .cfi_startproc 142# %bb.0: # %entry 143 pushq %rbp 144 .cfi_def_cfa_offset 16 145 .cfi_offset %rbp, -16 146 movq %rsp, %rbp 147 .cfi_def_cfa_register %rbp 148 movq %rdi, -8(%rbp) 149.Ltmp2: 150 .loc 0 8 15 prologue_end epilogue_begin # main.cpp:8:15 151 popq %rbp 152 .cfi_def_cfa %rsp, 8 153 retq 154.Ltmp3: 155.Lfunc_end1: 156 .size _ZN1A1B5StateC2Ev, .Lfunc_end1-_ZN1A1B5StateC2Ev 157 .cfi_endproc 158 # -- End function 159 .section .debug_abbrev,"",@progbits 160 .byte 1 # Abbreviation Code 161 .byte 65 # DW_TAG_type_unit 162 .byte 1 # DW_CHILDREN_yes 163 .byte 19 # DW_AT_language 164 .byte 5 # DW_FORM_data2 165 .byte 16 # DW_AT_stmt_list 166 .byte 23 # DW_FORM_sec_offset 167 .byte 114 # DW_AT_str_offsets_base 168 .byte 23 # DW_FORM_sec_offset 169 .byte 0 # EOM(1) 170 .byte 0 # EOM(2) 171 .byte 2 # Abbreviation Code 172 .byte 57 # DW_TAG_namespace 173 .byte 1 # DW_CHILDREN_yes 174 .byte 3 # DW_AT_name 175 .byte 37 # DW_FORM_strx1 176 .byte 0 # EOM(1) 177 .byte 0 # EOM(2) 178 .byte 3 # Abbreviation Code 179 .byte 2 # DW_TAG_class_type 180 .byte 1 # DW_CHILDREN_yes 181 .byte 54 # DW_AT_calling_convention 182 .byte 11 # DW_FORM_data1 183 .byte 3 # DW_AT_name 184 .byte 37 # DW_FORM_strx1 185 .byte 11 # DW_AT_byte_size 186 .byte 11 # DW_FORM_data1 187 .byte 58 # DW_AT_decl_file 188 .byte 11 # DW_FORM_data1 189 .byte 59 # DW_AT_decl_line 190 .byte 11 # DW_FORM_data1 191 .byte 0 # EOM(1) 192 .byte 0 # EOM(2) 193 .byte 4 # Abbreviation Code 194 .byte 46 # DW_TAG_subprogram 195 .byte 1 # DW_CHILDREN_yes 196 .byte 3 # DW_AT_name 197 .byte 37 # DW_FORM_strx1 198 .byte 58 # DW_AT_decl_file 199 .byte 11 # DW_FORM_data1 200 .byte 59 # DW_AT_decl_line 201 .byte 11 # DW_FORM_data1 202 .byte 60 # DW_AT_declaration 203 .byte 25 # DW_FORM_flag_present 204 .byte 63 # DW_AT_external 205 .byte 25 # DW_FORM_flag_present 206 .byte 50 # DW_AT_accessibility 207 .byte 11 # DW_FORM_data1 208 .byte 0 # EOM(1) 209 .byte 0 # EOM(2) 210 .byte 5 # Abbreviation Code 211 .byte 5 # DW_TAG_formal_parameter 212 .byte 0 # DW_CHILDREN_no 213 .byte 73 # DW_AT_type 214 .byte 19 # DW_FORM_ref4 215 .byte 52 # DW_AT_artificial 216 .byte 25 # DW_FORM_flag_present 217 .byte 0 # EOM(1) 218 .byte 0 # EOM(2) 219 .byte 6 # Abbreviation Code 220 .byte 5 # DW_TAG_formal_parameter 221 .byte 0 # DW_CHILDREN_no 222 .byte 73 # DW_AT_type 223 .byte 19 # DW_FORM_ref4 224 .byte 0 # EOM(1) 225 .byte 0 # EOM(2) 226 .byte 7 # Abbreviation Code 227 .byte 19 # DW_TAG_structure_type 228 .byte 0 # DW_CHILDREN_no 229 .byte 3 # DW_AT_name 230 .byte 37 # DW_FORM_strx1 231 .byte 60 # DW_AT_declaration 232 .byte 25 # DW_FORM_flag_present 233 .byte 0 # EOM(1) 234 .byte 0 # EOM(2) 235 .byte 8 # Abbreviation Code 236 .byte 15 # DW_TAG_pointer_type 237 .byte 0 # DW_CHILDREN_no 238 .byte 73 # DW_AT_type 239 .byte 19 # DW_FORM_ref4 240 .byte 0 # EOM(1) 241 .byte 0 # EOM(2) 242 .byte 9 # Abbreviation Code 243 .byte 17 # DW_TAG_compile_unit 244 .byte 1 # DW_CHILDREN_yes 245 .byte 37 # DW_AT_producer 246 .byte 37 # DW_FORM_strx1 247 .byte 19 # DW_AT_language 248 .byte 5 # DW_FORM_data2 249 .byte 3 # DW_AT_name 250 .byte 37 # DW_FORM_strx1 251 .byte 114 # DW_AT_str_offsets_base 252 .byte 23 # DW_FORM_sec_offset 253 .byte 16 # DW_AT_stmt_list 254 .byte 23 # DW_FORM_sec_offset 255 .byte 27 # DW_AT_comp_dir 256 .byte 37 # DW_FORM_strx1 257 .byte 17 # DW_AT_low_pc 258 .byte 1 # DW_FORM_addr 259 .byte 85 # DW_AT_ranges 260 .byte 35 # DW_FORM_rnglistx 261 .byte 115 # DW_AT_addr_base 262 .byte 23 # DW_FORM_sec_offset 263 .byte 116 # DW_AT_rnglists_base 264 .byte 23 # DW_FORM_sec_offset 265 .byte 0 # EOM(1) 266 .byte 0 # EOM(2) 267 .byte 10 # Abbreviation Code 268 .byte 2 # DW_TAG_class_type 269 .byte 1 # DW_CHILDREN_yes 270 .byte 60 # DW_AT_declaration 271 .byte 25 # DW_FORM_flag_present 272 .byte 105 # DW_AT_signature 273 .byte 32 # DW_FORM_ref_sig8 274 .byte 0 # EOM(1) 275 .byte 0 # EOM(2) 276 .byte 11 # Abbreviation Code 277 .byte 46 # DW_TAG_subprogram 278 .byte 1 # DW_CHILDREN_yes 279 .byte 17 # DW_AT_low_pc 280 .byte 27 # DW_FORM_addrx 281 .byte 18 # DW_AT_high_pc 282 .byte 6 # DW_FORM_data4 283 .byte 64 # DW_AT_frame_base 284 .byte 24 # DW_FORM_exprloc 285 .byte 3 # DW_AT_name 286 .byte 37 # DW_FORM_strx1 287 .byte 58 # DW_AT_decl_file 288 .byte 11 # DW_FORM_data1 289 .byte 59 # DW_AT_decl_line 290 .byte 11 # DW_FORM_data1 291 .byte 73 # DW_AT_type 292 .byte 19 # DW_FORM_ref4 293 .byte 63 # DW_AT_external 294 .byte 25 # DW_FORM_flag_present 295 .byte 0 # EOM(1) 296 .byte 0 # EOM(2) 297 .byte 12 # Abbreviation Code 298 .byte 52 # DW_TAG_variable 299 .byte 0 # DW_CHILDREN_no 300 .byte 2 # DW_AT_location 301 .byte 24 # DW_FORM_exprloc 302 .byte 3 # DW_AT_name 303 .byte 37 # DW_FORM_strx1 304 .byte 58 # DW_AT_decl_file 305 .byte 11 # DW_FORM_data1 306 .byte 59 # DW_AT_decl_line 307 .byte 11 # DW_FORM_data1 308 .byte 73 # DW_AT_type 309 .byte 19 # DW_FORM_ref4 310 .byte 0 # EOM(1) 311 .byte 0 # EOM(2) 312 .byte 13 # Abbreviation Code 313 .byte 46 # DW_TAG_subprogram 314 .byte 1 # DW_CHILDREN_yes 315 .byte 17 # DW_AT_low_pc 316 .byte 27 # DW_FORM_addrx 317 .byte 18 # DW_AT_high_pc 318 .byte 6 # DW_FORM_data4 319 .byte 64 # DW_AT_frame_base 320 .byte 24 # DW_FORM_exprloc 321 .byte 100 # DW_AT_object_pointer 322 .byte 19 # DW_FORM_ref4 323 .byte 110 # DW_AT_linkage_name 324 .byte 37 # DW_FORM_strx1 325 .byte 71 # DW_AT_specification 326 .byte 19 # DW_FORM_ref4 327 .byte 0 # EOM(1) 328 .byte 0 # EOM(2) 329 .byte 14 # Abbreviation Code 330 .byte 5 # DW_TAG_formal_parameter 331 .byte 0 # DW_CHILDREN_no 332 .byte 2 # DW_AT_location 333 .byte 24 # DW_FORM_exprloc 334 .byte 3 # DW_AT_name 335 .byte 37 # DW_FORM_strx1 336 .byte 73 # DW_AT_type 337 .byte 19 # DW_FORM_ref4 338 .byte 52 # DW_AT_artificial 339 .byte 25 # DW_FORM_flag_present 340 .byte 0 # EOM(1) 341 .byte 0 # EOM(2) 342 .byte 15 # Abbreviation Code 343 .byte 36 # DW_TAG_base_type 344 .byte 0 # DW_CHILDREN_no 345 .byte 3 # DW_AT_name 346 .byte 37 # DW_FORM_strx1 347 .byte 62 # DW_AT_encoding 348 .byte 11 # DW_FORM_data1 349 .byte 11 # DW_AT_byte_size 350 .byte 11 # DW_FORM_data1 351 .byte 0 # EOM(1) 352 .byte 0 # EOM(2) 353 .byte 0 # EOM(3) 354 .section .debug_info,"",@progbits 355.Lcu_begin0: 356 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit 357.Ldebug_info_start1: 358 .short 5 # DWARF version number 359 .byte 1 # DWARF Unit Type 360 .byte 8 # Address Size (in bytes) 361 .long .debug_abbrev # Offset Into Abbrev. Section 362 .byte 9 # Abbrev [9] 0xc:0x7f DW_TAG_compile_unit 363 .byte 0 # DW_AT_producer 364 .short 33 # DW_AT_language 365 .byte 1 # DW_AT_name 366 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 367 .long .Lline_table_start0 # DW_AT_stmt_list 368 .byte 2 # DW_AT_comp_dir 369 .quad 0 # DW_AT_low_pc 370 .byte 0 # DW_AT_ranges 371 .long .Laddr_table_base0 # DW_AT_addr_base 372 .long .Lrnglists_table_base0 # DW_AT_rnglists_base 373 .byte 2 # Abbrev [2] 0x2b:0x1b DW_TAG_namespace 374 .byte 3 # DW_AT_name 375 .byte 2 # Abbrev [2] 0x2d:0x18 DW_TAG_namespace 376 .byte 4 # DW_AT_name 377 .byte 10 # Abbrev [10] 0x2f:0x15 DW_TAG_class_type 378 # DW_AT_declaration 379 .quad -1782593539102989756 # DW_AT_signature 380 .byte 4 # Abbrev [4] 0x38:0xb DW_TAG_subprogram 381 .byte 5 # DW_AT_name 382 .byte 0 # DW_AT_decl_file 383 .byte 8 # DW_AT_decl_line 384 # DW_AT_declaration 385 # DW_AT_external 386 .byte 1 # DW_AT_accessibility 387 # DW_ACCESS_public 388 .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_formal_parameter 389 .long 97 # DW_AT_type 390 # DW_AT_artificial 391 .byte 0 # End Of Children Mark 392 .byte 0 # End Of Children Mark 393 .byte 0 # End Of Children Mark 394 .byte 0 # End Of Children Mark 395 .byte 11 # Abbrev [11] 0x46:0x1b DW_TAG_subprogram 396 .byte 0 # DW_AT_low_pc 397 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 398 .byte 1 # DW_AT_frame_base 399 .byte 86 400 .byte 7 # DW_AT_name 401 .byte 0 # DW_AT_decl_file 402 .byte 14 # DW_AT_decl_line 403 .long 129 # DW_AT_type 404 # DW_AT_external 405 .byte 12 # Abbrev [12] 0x55:0xb DW_TAG_variable 406 .byte 2 # DW_AT_location 407 .byte 145 408 .byte 123 409 .byte 10 # DW_AT_name 410 .byte 0 # DW_AT_decl_file 411 .byte 15 # DW_AT_decl_line 412 .long 47 # DW_AT_type 413 .byte 0 # End Of Children Mark 414 .byte 8 # Abbrev [8] 0x61:0x5 DW_TAG_pointer_type 415 .long 47 # DW_AT_type 416 .byte 13 # Abbrev [13] 0x66:0x1b DW_TAG_subprogram 417 .byte 1 # DW_AT_low_pc 418 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 419 .byte 1 # DW_AT_frame_base 420 .byte 86 421 .long 119 # DW_AT_object_pointer 422 .byte 9 # DW_AT_linkage_name 423 .long 56 # DW_AT_specification 424 .byte 14 # Abbrev [14] 0x77:0x9 DW_TAG_formal_parameter 425 .byte 2 # DW_AT_location 426 .byte 145 427 .byte 120 428 .byte 11 # DW_AT_name 429 .long 133 # DW_AT_type 430 # DW_AT_artificial 431 .byte 0 # End Of Children Mark 432 .byte 15 # Abbrev [15] 0x81:0x4 DW_TAG_base_type 433 .byte 8 # DW_AT_name 434 .byte 5 # DW_AT_encoding 435 .byte 4 # DW_AT_byte_size 436 .byte 8 # Abbrev [8] 0x85:0x5 DW_TAG_pointer_type 437 .long 47 # DW_AT_type 438 .byte 0 # End Of Children Mark 439.Ldebug_info_end1: 440 .section .debug_rnglists,"",@progbits 441 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length 442.Ldebug_list_header_start0: 443 .short 5 # Version 444 .byte 8 # Address size 445 .byte 0 # Segment selector size 446 .long 1 # Offset entry count 447.Lrnglists_table_base0: 448 .long .Ldebug_ranges0-.Lrnglists_table_base0 449.Ldebug_ranges0: 450 .byte 3 # DW_RLE_startx_length 451 .byte 0 # start index 452 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length 453 .byte 3 # DW_RLE_startx_length 454 .byte 1 # start index 455 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length 456 .byte 0 # DW_RLE_end_of_list 457.Ldebug_list_header_end0: 458 .section .debug_str_offsets,"",@progbits 459 .long 52 # Length of String Offsets Set 460 .short 5 461 .short 0 462.Lstr_offsets_base0: 463 .section .debug_str,"MS",@progbits,1 464.Linfo_string0: 465 .asciz "clang version 19.0.0git" # string offset=0 466.Linfo_string1: 467 .asciz "main.cpp" # string offset=24 468.Linfo_string2: 469 .asciz "/home/ayermolo/local/tasks/T190087639/DW_TAG_structure_type" # string offset=33 470.Linfo_string3: 471 .asciz "A" # string offset=93 472.Linfo_string4: 473 .asciz "B" # string offset=95 474.Linfo_string5: 475 .asciz "State" # string offset=97 476.Linfo_string6: 477 .asciz "InnerState" # string offset=103 478.Linfo_string7: 479 .asciz "main" # string offset=114 480.Linfo_string8: 481 .asciz "_ZN1A1B5StateC2Ev" # string offset=119 482.Linfo_string9: 483 .asciz "int" # string offset=137 484.Linfo_string10: 485 .asciz "S" # string offset=141 486.Linfo_string11: 487 .asciz "this" # string offset=143 488 .section .debug_str_offsets,"",@progbits 489 .long .Linfo_string0 490 .long .Linfo_string1 491 .long .Linfo_string2 492 .long .Linfo_string3 493 .long .Linfo_string4 494 .long .Linfo_string5 495 .long .Linfo_string6 496 .long .Linfo_string7 497 .long .Linfo_string9 498 .long .Linfo_string8 499 .long .Linfo_string10 500 .long .Linfo_string11 501 .section .debug_addr,"",@progbits 502 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 503.Ldebug_addr_start0: 504 .short 5 # DWARF version number 505 .byte 8 # Address size 506 .byte 0 # Segment selector size 507.Laddr_table_base0: 508 .quad .Lfunc_begin0 509 .quad .Lfunc_begin1 510.Ldebug_addr_end0: 511 .section .debug_names,"",@progbits 512 .long .Lnames_end0-.Lnames_start0 # Header: unit length 513.Lnames_start0: 514 .short 5 # Header: version 515 .short 0 # Header: padding 516 .long 1 # Header: compilation unit count 517 .long 1 # Header: local type unit count 518 .long 0 # Header: foreign type unit count 519 .long 6 # Header: bucket count 520 .long 6 # Header: name count 521 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size 522 .long 8 # Header: augmentation string size 523 .ascii "LLVM0700" # Header: augmentation string 524 .long .Lcu_begin0 # Compilation unit 0 525 .long .Ltu_begin0 # Type unit 0 526 .long 0 # Bucket 0 527 .long 0 # Bucket 1 528 .long 1 # Bucket 2 529 .long 2 # Bucket 3 530 .long 3 # Bucket 4 531 .long 6 # Bucket 5 532 .long 193495088 # Hash in Bucket 2 533 .long 1059643959 # Hash in Bucket 3 534 .long 177670 # Hash in Bucket 4 535 .long 274811398 # Hash in Bucket 4 536 .long 2090499946 # Hash in Bucket 4 537 .long 177671 # Hash in Bucket 5 538 .long .Linfo_string9 # String in Bucket 2: int 539 .long .Linfo_string8 # String in Bucket 3: _ZN1A1B5StateC2Ev 540 .long .Linfo_string3 # String in Bucket 4: A 541 .long .Linfo_string5 # String in Bucket 4: State 542 .long .Linfo_string7 # String in Bucket 4: main 543 .long .Linfo_string4 # String in Bucket 5: B 544 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 2 545 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 3 546 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 4 547 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 4 548 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 4 549 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 5 550.Lnames_abbrev_start0: 551 .byte 1 # Abbrev code 552 .byte 36 # DW_TAG_base_type 553 .byte 3 # DW_IDX_die_offset 554 .byte 19 # DW_FORM_ref4 555 .byte 4 # DW_IDX_parent 556 .byte 25 # DW_FORM_flag_present 557 .byte 0 # End of abbrev 558 .byte 0 # End of abbrev 559 .byte 2 # Abbrev code 560 .byte 46 # DW_TAG_subprogram 561 .byte 3 # DW_IDX_die_offset 562 .byte 19 # DW_FORM_ref4 563 .byte 4 # DW_IDX_parent 564 .byte 25 # DW_FORM_flag_present 565 .byte 0 # End of abbrev 566 .byte 0 # End of abbrev 567 .byte 3 # Abbrev code 568 .byte 57 # DW_TAG_namespace 569 .byte 2 # DW_IDX_type_unit 570 .byte 11 # DW_FORM_data1 571 .byte 3 # DW_IDX_die_offset 572 .byte 19 # DW_FORM_ref4 573 .byte 4 # DW_IDX_parent 574 .byte 25 # DW_FORM_flag_present 575 .byte 0 # End of abbrev 576 .byte 0 # End of abbrev 577 .byte 4 # Abbrev code 578 .byte 57 # DW_TAG_namespace 579 .byte 3 # DW_IDX_die_offset 580 .byte 19 # DW_FORM_ref4 581 .byte 4 # DW_IDX_parent 582 .byte 25 # DW_FORM_flag_present 583 .byte 0 # End of abbrev 584 .byte 0 # End of abbrev 585 .byte 5 # Abbrev code 586 .byte 2 # DW_TAG_class_type 587 .byte 2 # DW_IDX_type_unit 588 .byte 11 # DW_FORM_data1 589 .byte 3 # DW_IDX_die_offset 590 .byte 19 # DW_FORM_ref4 591 .byte 4 # DW_IDX_parent 592 .byte 19 # DW_FORM_ref4 593 .byte 0 # End of abbrev 594 .byte 0 # End of abbrev 595 .byte 6 # Abbrev code 596 .byte 57 # DW_TAG_namespace 597 .byte 2 # DW_IDX_type_unit 598 .byte 11 # DW_FORM_data1 599 .byte 3 # DW_IDX_die_offset 600 .byte 19 # DW_FORM_ref4 601 .byte 4 # DW_IDX_parent 602 .byte 19 # DW_FORM_ref4 603 .byte 0 # End of abbrev 604 .byte 0 # End of abbrev 605 .byte 7 # Abbrev code 606 .byte 57 # DW_TAG_namespace 607 .byte 3 # DW_IDX_die_offset 608 .byte 19 # DW_FORM_ref4 609 .byte 4 # DW_IDX_parent 610 .byte 19 # DW_FORM_ref4 611 .byte 0 # End of abbrev 612 .byte 0 # End of abbrev 613 .byte 0 # End of abbrev list 614.Lnames_abbrev_end0: 615.Lnames_entries0: 616.Lnames5: 617.L2: 618 .byte 1 # Abbreviation code 619 .long 129 # DW_IDX_die_offset 620 .byte 0 # DW_IDX_parent 621 # End of list: int 622.Lnames4: 623.L3: 624 .byte 2 # Abbreviation code 625 .long 102 # DW_IDX_die_offset 626 .byte 0 # DW_IDX_parent 627 # End of list: _ZN1A1B5StateC2Ev 628.Lnames0: 629.L4: 630 .byte 3 # Abbreviation code 631 .byte 0 # DW_IDX_type_unit 632 .long 35 # DW_IDX_die_offset 633.L7: # DW_IDX_parent 634 .byte 4 # Abbreviation code 635 .long 43 # DW_IDX_die_offset 636 .byte 0 # DW_IDX_parent 637 # End of list: A 638.Lnames2: 639.L1: 640 .byte 5 # Abbreviation code 641 .byte 0 # DW_IDX_type_unit 642 .long 39 # DW_IDX_die_offset 643 .long .L5-.Lnames_entries0 # DW_IDX_parent 644 .byte 2 # Abbreviation code 645 .long 102 # DW_IDX_die_offset 646 .byte 0 # DW_IDX_parent 647 # End of list: State 648.Lnames3: 649.L0: 650 .byte 2 # Abbreviation code 651 .long 70 # DW_IDX_die_offset 652 .byte 0 # DW_IDX_parent 653 # End of list: main 654.Lnames1: 655.L5: 656 .byte 6 # Abbreviation code 657 .byte 0 # DW_IDX_type_unit 658 .long 37 # DW_IDX_die_offset 659 .long .L4-.Lnames_entries0 # DW_IDX_parent 660.L6: 661 .byte 7 # Abbreviation code 662 .long 45 # DW_IDX_die_offset 663 .long .L7-.Lnames_entries0 # DW_IDX_parent 664 .byte 0 # End of list: B 665 .p2align 2, 0x0 666.Lnames_end0: 667 .ident "clang version 19.0.0git" 668 .section ".note.GNU-stack","",@progbits 669 .addrsig 670 .section .debug_line,"",@progbits 671.Lline_table_start0: 672