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