695 lines · plain
1# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -o %tmain.o2# RUN: %clang %cflags -gdwarf-5 %tmain.o -o %tmain.exe3# RUN: llvm-bolt %tmain.exe -o %tmain.exe.bolt --update-debug-sections4# RUN: llvm-dwarfdump --debug-info -r 0 --debug-names %tmain.exe.bolt > %tlog.txt5# RUN: cat %tlog.txt | FileCheck -check-prefix=BOLT %s6 7## Tests that BOLT correctly generates entries in .debug_names with DW_AT_specification.8 9# BOLT: [[OFFSET1:0x[0-9a-f]*]]: Compile Unit10# BOLT: Name Index @ 0x011# BOLT-NEXT: Header {12# BOLT-NEXT: Length: 0x10F13# BOLT-NEXT: Format: DWARF3214# BOLT-NEXT: Version: 515# BOLT-NEXT: CU count: 116# BOLT-NEXT: Local TU count: 017# BOLT-NEXT: Foreign TU count: 018# BOLT-NEXT: Bucket count: 919# BOLT-NEXT: Name count: 920# BOLT-NEXT: Abbreviations table size: 0x2121# BOLT-NEXT: Augmentation: 'BOLT'22# BOLT-NEXT: }23# BOLT-NEXT: Compilation Unit offsets [24# BOLT-NEXT: CU[0]: [[OFFSET1]]25# BOLT-NEXT: ]26# BOLT-NEXT: Abbreviations [27# BOLT-NEXT: Abbreviation [[ABBREV1:0x[0-9a-f]*]] {28# BOLT-NEXT: Tag: DW_TAG_variable29# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref430# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present31# BOLT-NEXT: }32# BOLT-NEXT: Abbreviation [[ABBREV2:0x[0-9a-f]*]] {33# BOLT-NEXT: Tag: DW_TAG_structure_type34# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref435# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present36# BOLT-NEXT: }37# BOLT-NEXT: Abbreviation [[ABBREV3:0x[0-9a-f]*]] {38# BOLT-NEXT: Tag: DW_TAG_base_type39# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref440# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present41# BOLT-NEXT: }42# BOLT-NEXT: Abbreviation [[ABBREV4:0x[0-9a-f]*]] {43# BOLT-NEXT: Tag: DW_TAG_subprogram44# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref445# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present46# BOLT-NEXT: }47# BOLT-NEXT: ]48# BOLT-NEXT: Bucket 0 [49# BOLT-NEXT: Name 1 {50# BOLT-NEXT: Hash: 0x5D3CA9E051# BOLT-NEXT: String: {{.+}} "_ZN1A15fully_specifiedE"52# BOLT-NEXT: Entry @ {{.+}} {53# BOLT-NEXT: Abbrev: [[ABBREV1]]54# BOLT-NEXT: Tag: DW_TAG_variable55# BOLT-NEXT: DW_IDX_die_offset: 0x0000002456# BOLT-NEXT: DW_IDX_parent: <parent not indexed>57# BOLT-NEXT: }58# BOLT-NEXT: }59# BOLT-NEXT: Name 2 {60# BOLT-NEXT: Hash: 0x7C9DFC3761# BOLT-NEXT: String: {{.+}} "smem"62# BOLT-NEXT: Entry @ {{.+}} {63# BOLT-NEXT: Abbrev: [[ABBREV1]]64# BOLT-NEXT: Tag: DW_TAG_variable65# BOLT-NEXT: DW_IDX_die_offset: 0x0000005766# BOLT-NEXT: DW_IDX_parent: <parent not indexed>67# BOLT-NEXT: }68# BOLT-NEXT: }69# BOLT-NEXT: ]70# BOLT-NEXT: Bucket 1 [71# BOLT-NEXT: Name 3 {72# BOLT-NEXT: Hash: 0x2B60673# BOLT-NEXT: String: {{.+}} "A"74# BOLT-NEXT: Entry @ {{.+}} {75# BOLT-NEXT: Abbrev: [[ABBREV2]]76# BOLT-NEXT: Tag: DW_TAG_structure_type77# BOLT-NEXT: DW_IDX_die_offset: 0x0000002d78# BOLT-NEXT: DW_IDX_parent: <parent not indexed>79# BOLT-NEXT: }80# BOLT-NEXT: }81# BOLT-NEXT: ]82# BOLT-NEXT: Bucket 2 [83# BOLT-NEXT: Name 4 {84# BOLT-NEXT: Hash: 0xB88803085# BOLT-NEXT: String: {{.+}} "int"86# BOLT-NEXT: Entry @ {{.+}} {87# BOLT-NEXT: Abbrev: [[ABBREV3]]88# BOLT-NEXT: Tag: DW_TAG_base_type89# BOLT-NEXT: DW_IDX_die_offset: 0x0000004490# BOLT-NEXT: DW_IDX_parent: <parent not indexed>91# BOLT-NEXT: }92# BOLT-NEXT: }93# BOLT-NEXT: ]94# BOLT-NEXT: Bucket 3 [95# BOLT-NEXT: EMPTY96# BOLT-NEXT: ]97# BOLT-NEXT: Bucket 4 [98# BOLT-NEXT: EMPTY99# BOLT-NEXT: ]100# BOLT-NEXT: Bucket 5 [101# BOLT-NEXT: EMPTY102# BOLT-NEXT: ]103# BOLT-NEXT: Bucket 6 [104# BOLT-NEXT: EMPTY105# BOLT-NEXT: ]106# BOLT-NEXT: Bucket 7 [107# BOLT-NEXT: Name 5 {108# BOLT-NEXT: Hash: 0x65788E1C109# BOLT-NEXT: String: {{.+}} "fully_specified"110# BOLT-NEXT: Entry @ {{.+}} {111# BOLT-NEXT: Abbrev: [[ABBREV1]]112# BOLT-NEXT: Tag: DW_TAG_variable113# BOLT-NEXT: DW_IDX_die_offset: 0x00000024114# BOLT-NEXT: DW_IDX_parent: <parent not indexed>115# BOLT-NEXT: }116# BOLT-NEXT: }117# BOLT-NEXT: Name 6 {118# BOLT-NEXT: Hash: 0x7C9A7F6A119# BOLT-NEXT: String: {{.+}} "main"120# BOLT-NEXT: Entry @ {{.+}} {121# BOLT-NEXT: Abbrev: [[ABBREV4]]122# BOLT-NEXT: Tag: DW_TAG_subprogram123# BOLT-NEXT: DW_IDX_die_offset: 0x00000070124# BOLT-NEXT: DW_IDX_parent: <parent not indexed>125# BOLT-NEXT: }126# BOLT-NEXT: }127# BOLT-NEXT: ]128# BOLT-NEXT: Bucket 8 [129# BOLT-NEXT: Name 7 {130# BOLT-NEXT: Hash: 0xCEF4CFB131# BOLT-NEXT: String: {{.+}} "__ARRAY_SIZE_TYPE__"132# BOLT-NEXT: Entry @ {{.+}} {133# BOLT-NEXT: Abbrev: [[ABBREV3]]134# BOLT-NEXT: Tag: DW_TAG_base_type135# BOLT-NEXT: DW_IDX_die_offset: 0x00000053136# BOLT-NEXT: DW_IDX_parent: <parent not indexed>137# BOLT-NEXT: }138# BOLT-NEXT: }139# BOLT-NEXT: Name 8 {140# BOLT-NEXT: Hash: 0x48684B69141# BOLT-NEXT: String: {{.+}} "_ZN1A4smemE"142# BOLT-NEXT: Entry @ {{.+}} {143# BOLT-NEXT: Abbrev: [[ABBREV1]]144# BOLT-NEXT: Tag: DW_TAG_variable145# BOLT-NEXT: DW_IDX_die_offset: 0x00000057146# BOLT-NEXT: DW_IDX_parent: <parent not indexed>147# BOLT-NEXT: }148# BOLT-NEXT: }149# BOLT-NEXT: Name 9 {150# BOLT-NEXT: Hash: 0x7C952063151# BOLT-NEXT: String: {{.+}} "char"152# BOLT-NEXT: Entry @ {{.+}} {153# BOLT-NEXT: Abbrev: [[ABBREV3]]154# BOLT-NEXT: Tag: DW_TAG_base_type155# BOLT-NEXT: DW_IDX_die_offset: 0x0000009e156# BOLT-NEXT: DW_IDX_parent: <parent not indexed>157# BOLT-NEXT: }158# BOLT-NEXT: }159# BOLT-NEXT: ]160# BOLT-NEXT: }161 162# clang++ main.cpp -O2 -g2 -gdwarf-5 -gpubnames -S163# struct A {164# static int fully_specified;165# static int smem[];166# };167#168# int A::fully_specified;169# int A::smem[] = { 0, 1, 2, 3 };170# int main(int argc, char *argv[]) {171# return 0;172# }173 .text174 .file "main.cpp"175 .file 0 "/specification" "main.cpp" md5 0x6c1b1c014d300f2e0efd26584acae1a9176 .globl main # -- Begin function main177 .p2align 4, 0x90178 .type main,@function179main: # @main180.Lfunc_begin0:181 .cfi_startproc182# %bb.0: # %entry183 #DEBUG_VALUE: main:argc <- $edi184 #DEBUG_VALUE: main:argv <- $rsi185 .loc 0 9 3 prologue_end # main.cpp:9:3186 xorl %eax, %eax187 retq188.Ltmp0:189.Lfunc_end0:190 .size main, .Lfunc_end0-main191 .cfi_endproc192 # -- End function193 .type _ZN1A15fully_specifiedE,@object # @_ZN1A15fully_specifiedE194 .bss195 .globl _ZN1A15fully_specifiedE196 .p2align 2, 0x0197_ZN1A15fully_specifiedE:198 .long 0 # 0x0199 .size _ZN1A15fully_specifiedE, 4200 201 .type _ZN1A4smemE,@object # @_ZN1A4smemE202 .data203 .globl _ZN1A4smemE204 .p2align 4, 0x0205_ZN1A4smemE:206 .long 0 # 0x0207 .long 1 # 0x1208 .long 2 # 0x2209 .long 3 # 0x3210 .size _ZN1A4smemE, 16211 212 .section .debug_abbrev,"",@progbits213 .byte 1 # Abbreviation Code214 .byte 17 # DW_TAG_compile_unit215 .byte 1 # DW_CHILDREN_yes216 .byte 37 # DW_AT_producer217 .byte 37 # DW_FORM_strx1218 .byte 19 # DW_AT_language219 .byte 5 # DW_FORM_data2220 .byte 3 # DW_AT_name221 .byte 37 # DW_FORM_strx1222 .byte 114 # DW_AT_str_offsets_base223 .byte 23 # DW_FORM_sec_offset224 .byte 16 # DW_AT_stmt_list225 .byte 23 # DW_FORM_sec_offset226 .byte 27 # DW_AT_comp_dir227 .byte 37 # DW_FORM_strx1228 .byte 17 # DW_AT_low_pc229 .byte 27 # DW_FORM_addrx230 .byte 18 # DW_AT_high_pc231 .byte 6 # DW_FORM_data4232 .byte 115 # DW_AT_addr_base233 .byte 23 # DW_FORM_sec_offset234 .byte 0 # EOM(1)235 .byte 0 # EOM(2)236 .byte 2 # Abbreviation Code237 .byte 52 # DW_TAG_variable238 .byte 0 # DW_CHILDREN_no239 .byte 71 # DW_AT_specification240 .byte 19 # DW_FORM_ref4241 .byte 2 # DW_AT_location242 .byte 24 # DW_FORM_exprloc243 .byte 110 # DW_AT_linkage_name244 .byte 37 # DW_FORM_strx1245 .byte 0 # EOM(1)246 .byte 0 # EOM(2)247 .byte 3 # Abbreviation Code248 .byte 19 # DW_TAG_structure_type249 .byte 1 # DW_CHILDREN_yes250 .byte 54 # DW_AT_calling_convention251 .byte 11 # DW_FORM_data1252 .byte 3 # DW_AT_name253 .byte 37 # DW_FORM_strx1254 .byte 11 # DW_AT_byte_size255 .byte 11 # DW_FORM_data1256 .byte 58 # DW_AT_decl_file257 .byte 11 # DW_FORM_data1258 .byte 59 # DW_AT_decl_line259 .byte 11 # DW_FORM_data1260 .byte 0 # EOM(1)261 .byte 0 # EOM(2)262 .byte 4 # Abbreviation Code263 .byte 52 # DW_TAG_variable264 .byte 0 # DW_CHILDREN_no265 .byte 3 # DW_AT_name266 .byte 37 # DW_FORM_strx1267 .byte 73 # DW_AT_type268 .byte 19 # DW_FORM_ref4269 .byte 58 # DW_AT_decl_file270 .byte 11 # DW_FORM_data1271 .byte 59 # DW_AT_decl_line272 .byte 11 # DW_FORM_data1273 .byte 63 # DW_AT_external274 .byte 25 # DW_FORM_flag_present275 .byte 60 # DW_AT_declaration276 .byte 25 # DW_FORM_flag_present277 .byte 0 # EOM(1)278 .byte 0 # EOM(2)279 .byte 5 # Abbreviation Code280 .byte 36 # DW_TAG_base_type281 .byte 0 # DW_CHILDREN_no282 .byte 3 # DW_AT_name283 .byte 37 # DW_FORM_strx1284 .byte 62 # DW_AT_encoding285 .byte 11 # DW_FORM_data1286 .byte 11 # DW_AT_byte_size287 .byte 11 # DW_FORM_data1288 .byte 0 # EOM(1)289 .byte 0 # EOM(2)290 .byte 6 # Abbreviation Code291 .byte 1 # DW_TAG_array_type292 .byte 1 # DW_CHILDREN_yes293 .byte 73 # DW_AT_type294 .byte 19 # DW_FORM_ref4295 .byte 0 # EOM(1)296 .byte 0 # EOM(2)297 .byte 7 # Abbreviation Code298 .byte 33 # DW_TAG_subrange_type299 .byte 0 # DW_CHILDREN_no300 .byte 73 # DW_AT_type301 .byte 19 # DW_FORM_ref4302 .byte 0 # EOM(1)303 .byte 0 # EOM(2)304 .byte 8 # Abbreviation Code305 .byte 36 # DW_TAG_base_type306 .byte 0 # DW_CHILDREN_no307 .byte 3 # DW_AT_name308 .byte 37 # DW_FORM_strx1309 .byte 11 # DW_AT_byte_size310 .byte 11 # DW_FORM_data1311 .byte 62 # DW_AT_encoding312 .byte 11 # DW_FORM_data1313 .byte 0 # EOM(1)314 .byte 0 # EOM(2)315 .byte 9 # Abbreviation Code316 .byte 52 # DW_TAG_variable317 .byte 0 # DW_CHILDREN_no318 .byte 71 # DW_AT_specification319 .byte 19 # DW_FORM_ref4320 .byte 73 # DW_AT_type321 .byte 19 # DW_FORM_ref4322 .byte 2 # DW_AT_location323 .byte 24 # DW_FORM_exprloc324 .byte 110 # DW_AT_linkage_name325 .byte 37 # DW_FORM_strx1326 .byte 0 # EOM(1)327 .byte 0 # EOM(2)328 .byte 10 # Abbreviation Code329 .byte 33 # DW_TAG_subrange_type330 .byte 0 # DW_CHILDREN_no331 .byte 73 # DW_AT_type332 .byte 19 # DW_FORM_ref4333 .byte 55 # DW_AT_count334 .byte 11 # DW_FORM_data1335 .byte 0 # EOM(1)336 .byte 0 # EOM(2)337 .byte 11 # Abbreviation Code338 .byte 46 # DW_TAG_subprogram339 .byte 1 # DW_CHILDREN_yes340 .byte 17 # DW_AT_low_pc341 .byte 27 # DW_FORM_addrx342 .byte 18 # DW_AT_high_pc343 .byte 6 # DW_FORM_data4344 .byte 64 # DW_AT_frame_base345 .byte 24 # DW_FORM_exprloc346 .byte 122 # DW_AT_call_all_calls347 .byte 25 # DW_FORM_flag_present348 .byte 3 # DW_AT_name349 .byte 37 # DW_FORM_strx1350 .byte 58 # DW_AT_decl_file351 .byte 11 # DW_FORM_data1352 .byte 59 # DW_AT_decl_line353 .byte 11 # DW_FORM_data1354 .byte 73 # DW_AT_type355 .byte 19 # DW_FORM_ref4356 .byte 63 # DW_AT_external357 .byte 25 # DW_FORM_flag_present358 .byte 0 # EOM(1)359 .byte 0 # EOM(2)360 .byte 12 # Abbreviation Code361 .byte 5 # DW_TAG_formal_parameter362 .byte 0 # DW_CHILDREN_no363 .byte 2 # DW_AT_location364 .byte 24 # DW_FORM_exprloc365 .byte 3 # DW_AT_name366 .byte 37 # DW_FORM_strx1367 .byte 58 # DW_AT_decl_file368 .byte 11 # DW_FORM_data1369 .byte 59 # DW_AT_decl_line370 .byte 11 # DW_FORM_data1371 .byte 73 # DW_AT_type372 .byte 19 # DW_FORM_ref4373 .byte 0 # EOM(1)374 .byte 0 # EOM(2)375 .byte 13 # Abbreviation Code376 .byte 15 # DW_TAG_pointer_type377 .byte 0 # DW_CHILDREN_no378 .byte 73 # DW_AT_type379 .byte 19 # DW_FORM_ref4380 .byte 0 # EOM(1)381 .byte 0 # EOM(2)382 .byte 0 # EOM(3)383 .section .debug_info,"",@progbits384.Lcu_begin0:385 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit386.Ldebug_info_start0:387 .short 5 # DWARF version number388 .byte 1 # DWARF Unit Type389 .byte 8 # Address Size (in bytes)390 .long .debug_abbrev # Offset Into Abbrev. Section391 .byte 1 # Abbrev [1] 0xc:0x96 DW_TAG_compile_unit392 .byte 0 # DW_AT_producer393 .short 33 # DW_AT_language394 .byte 1 # DW_AT_name395 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base396 .long .Lline_table_start0 # DW_AT_stmt_list397 .byte 2 # DW_AT_comp_dir398 .byte 2 # DW_AT_low_pc399 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc400 .long .Laddr_table_base0 # DW_AT_addr_base401 .byte 2 # Abbrev [2] 0x23:0x9 DW_TAG_variable402 .long 50 # DW_AT_specification403 .byte 2 # DW_AT_location404 .byte 161405 .byte 0406 .byte 8 # DW_AT_linkage_name407 .byte 3 # Abbrev [3] 0x2c:0x17 DW_TAG_structure_type408 .byte 5 # DW_AT_calling_convention409 .byte 7 # DW_AT_name410 .byte 1 # DW_AT_byte_size411 .byte 0 # DW_AT_decl_file412 .byte 1 # DW_AT_decl_line413 .byte 4 # Abbrev [4] 0x32:0x8 DW_TAG_variable414 .byte 3 # DW_AT_name415 .long 67 # DW_AT_type416 .byte 0 # DW_AT_decl_file417 .byte 2 # DW_AT_decl_line418 # DW_AT_external419 # DW_AT_declaration420 .byte 4 # Abbrev [4] 0x3a:0x8 DW_TAG_variable421 .byte 5 # DW_AT_name422 .long 71 # DW_AT_type423 .byte 0 # DW_AT_decl_file424 .byte 3 # DW_AT_decl_line425 # DW_AT_external426 # DW_AT_declaration427 .byte 0 # End Of Children Mark428 .byte 5 # Abbrev [5] 0x43:0x4 DW_TAG_base_type429 .byte 4 # DW_AT_name430 .byte 5 # DW_AT_encoding431 .byte 4 # DW_AT_byte_size432 .byte 6 # Abbrev [6] 0x47:0xb DW_TAG_array_type433 .long 67 # DW_AT_type434 .byte 7 # Abbrev [7] 0x4c:0x5 DW_TAG_subrange_type435 .long 82 # DW_AT_type436 .byte 0 # End Of Children Mark437 .byte 8 # Abbrev [8] 0x52:0x4 DW_TAG_base_type438 .byte 6 # DW_AT_name439 .byte 8 # DW_AT_byte_size440 .byte 7 # DW_AT_encoding441 .byte 9 # Abbrev [9] 0x56:0xd DW_TAG_variable442 .long 58 # DW_AT_specification443 .long 99 # DW_AT_type444 .byte 2 # DW_AT_location445 .byte 161446 .byte 1447 .byte 9 # DW_AT_linkage_name448 .byte 6 # Abbrev [6] 0x63:0xc DW_TAG_array_type449 .long 67 # DW_AT_type450 .byte 10 # Abbrev [10] 0x68:0x6 DW_TAG_subrange_type451 .long 82 # DW_AT_type452 .byte 4 # DW_AT_count453 .byte 0 # End Of Children Mark454 .byte 11 # Abbrev [11] 0x6f:0x24 DW_TAG_subprogram455 .byte 2 # DW_AT_low_pc456 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc457 .byte 1 # DW_AT_frame_base458 .byte 87459 # DW_AT_call_all_calls460 .byte 10 # DW_AT_name461 .byte 0 # DW_AT_decl_file462 .byte 8 # DW_AT_decl_line463 .long 67 # DW_AT_type464 # DW_AT_external465 .byte 12 # Abbrev [12] 0x7e:0xa DW_TAG_formal_parameter466 .byte 1 # DW_AT_location467 .byte 85468 .byte 11 # DW_AT_name469 .byte 0 # DW_AT_decl_file470 .byte 8 # DW_AT_decl_line471 .long 67 # DW_AT_type472 .byte 12 # Abbrev [12] 0x88:0xa DW_TAG_formal_parameter473 .byte 1 # DW_AT_location474 .byte 84475 .byte 12 # DW_AT_name476 .byte 0 # DW_AT_decl_file477 .byte 8 # DW_AT_decl_line478 .long 147 # DW_AT_type479 .byte 0 # End Of Children Mark480 .byte 13 # Abbrev [13] 0x93:0x5 DW_TAG_pointer_type481 .long 152 # DW_AT_type482 .byte 13 # Abbrev [13] 0x98:0x5 DW_TAG_pointer_type483 .long 157 # DW_AT_type484 .byte 5 # Abbrev [5] 0x9d:0x4 DW_TAG_base_type485 .byte 13 # DW_AT_name486 .byte 6 # DW_AT_encoding487 .byte 1 # DW_AT_byte_size488 .byte 0 # End Of Children Mark489.Ldebug_info_end0:490 .section .debug_str_offsets,"",@progbits491 .long 60 # Length of String Offsets Set492 .short 5493 .short 0494.Lstr_offsets_base0:495 .section .debug_str,"MS",@progbits,1496.Linfo_string0:497 .asciz "clang version 19.0.0git (git@github.com:llvm/llvm-project.git ced1fac8a32e35b63733bda27c7f5b9a2b635403)" # string offset=0498.Linfo_string1:499 .asciz "main.cpp" # string offset=104500.Linfo_string2:501 .asciz "/specification" # string offset=113502.Linfo_string3:503 .asciz "A" # string offset=165504.Linfo_string4:505 .asciz "fully_specified" # string offset=167506.Linfo_string5:507 .asciz "int" # string offset=183508.Linfo_string6:509 .asciz "smem" # string offset=187510.Linfo_string7:511 .asciz "__ARRAY_SIZE_TYPE__" # string offset=192512.Linfo_string8:513 .asciz "_ZN1A15fully_specifiedE" # string offset=212514.Linfo_string9:515 .asciz "_ZN1A4smemE" # string offset=236516.Linfo_string10:517 .asciz "main" # string offset=248518.Linfo_string11:519 .asciz "argc" # string offset=253520.Linfo_string12:521 .asciz "argv" # string offset=258522.Linfo_string13:523 .asciz "char" # string offset=263524 .section .debug_str_offsets,"",@progbits525 .long .Linfo_string0526 .long .Linfo_string1527 .long .Linfo_string2528 .long .Linfo_string4529 .long .Linfo_string5530 .long .Linfo_string6531 .long .Linfo_string7532 .long .Linfo_string3533 .long .Linfo_string8534 .long .Linfo_string9535 .long .Linfo_string10536 .long .Linfo_string11537 .long .Linfo_string12538 .long .Linfo_string13539 .section .debug_addr,"",@progbits540 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution541.Ldebug_addr_start0:542 .short 5 # DWARF version number543 .byte 8 # Address size544 .byte 0 # Segment selector size545.Laddr_table_base0:546 .quad _ZN1A15fully_specifiedE547 .quad _ZN1A4smemE548 .quad .Lfunc_begin0549.Ldebug_addr_end0:550 .section .debug_names,"",@progbits551 .long .Lnames_end0-.Lnames_start0 # Header: unit length552.Lnames_start0:553 .short 5 # Header: version554 .short 0 # Header: padding555 .long 1 # Header: compilation unit count556 .long 0 # Header: local type unit count557 .long 0 # Header: foreign type unit count558 .long 9 # Header: bucket count559 .long 9 # Header: name count560 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size561 .long 8 # Header: augmentation string size562 .ascii "LLVM0700" # Header: augmentation string563 .long .Lcu_begin0 # Compilation unit 0564 .long 1 # Bucket 0565 .long 3 # Bucket 1566 .long 4 # Bucket 2567 .long 0 # Bucket 3568 .long 0 # Bucket 4569 .long 0 # Bucket 5570 .long 0 # Bucket 6571 .long 5 # Bucket 7572 .long 7 # Bucket 8573 .long 1564256736 # Hash in Bucket 0574 .long 2090728503 # Hash in Bucket 0575 .long 177670 # Hash in Bucket 1576 .long 193495088 # Hash in Bucket 2577 .long 1702399516 # Hash in Bucket 7578 .long 2090499946 # Hash in Bucket 7579 .long 217009403 # Hash in Bucket 8580 .long 1214794601 # Hash in Bucket 8581 .long 2090147939 # Hash in Bucket 8582 .long .Linfo_string8 # String in Bucket 0: _ZN1A15fully_specifiedE583 .long .Linfo_string6 # String in Bucket 0: smem584 .long .Linfo_string3 # String in Bucket 1: A585 .long .Linfo_string5 # String in Bucket 2: int586 .long .Linfo_string4 # String in Bucket 7: fully_specified587 .long .Linfo_string10 # String in Bucket 7: main588 .long .Linfo_string7 # String in Bucket 8: __ARRAY_SIZE_TYPE__589 .long .Linfo_string9 # String in Bucket 8: _ZN1A4smemE590 .long .Linfo_string13 # String in Bucket 8: char591 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 0592 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 0593 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 1594 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 2595 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 7596 .long .Lnames7-.Lnames_entries0 # Offset in Bucket 7597 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 8598 .long .Lnames6-.Lnames_entries0 # Offset in Bucket 8599 .long .Lnames8-.Lnames_entries0 # Offset in Bucket 8600.Lnames_abbrev_start0:601 .byte 1 # Abbrev code602 .byte 52 # DW_TAG_variable603 .byte 3 # DW_IDX_die_offset604 .byte 19 # DW_FORM_ref4605 .byte 4 # DW_IDX_parent606 .byte 25 # DW_FORM_flag_present607 .byte 0 # End of abbrev608 .byte 0 # End of abbrev609 .byte 2 # Abbrev code610 .byte 19 # DW_TAG_structure_type611 .byte 3 # DW_IDX_die_offset612 .byte 19 # DW_FORM_ref4613 .byte 4 # DW_IDX_parent614 .byte 25 # DW_FORM_flag_present615 .byte 0 # End of abbrev616 .byte 0 # End of abbrev617 .byte 3 # Abbrev code618 .byte 36 # DW_TAG_base_type619 .byte 3 # DW_IDX_die_offset620 .byte 19 # DW_FORM_ref4621 .byte 4 # DW_IDX_parent622 .byte 25 # DW_FORM_flag_present623 .byte 0 # End of abbrev624 .byte 0 # End of abbrev625 .byte 4 # Abbrev code626 .byte 46 # DW_TAG_subprogram627 .byte 3 # DW_IDX_die_offset628 .byte 19 # DW_FORM_ref4629 .byte 4 # DW_IDX_parent630 .byte 25 # DW_FORM_flag_present631 .byte 0 # End of abbrev632 .byte 0 # End of abbrev633 .byte 0 # End of abbrev list634.Lnames_abbrev_end0:635.Lnames_entries0:636.Lnames4:637.L3:638 .byte 1 # Abbreviation code639 .long 35 # DW_IDX_die_offset640 .byte 0 # DW_IDX_parent641 # End of list: _ZN1A15fully_specifiedE642.Lnames5:643.L4:644 .byte 1 # Abbreviation code645 .long 86 # DW_IDX_die_offset646 .byte 0 # DW_IDX_parent647 # End of list: smem648.Lnames0:649.L6:650 .byte 2 # Abbreviation code651 .long 44 # DW_IDX_die_offset652 .byte 0 # DW_IDX_parent653 # End of list: A654.Lnames1:655.L5:656 .byte 3 # Abbreviation code657 .long 67 # DW_IDX_die_offset658 .byte 0 # DW_IDX_parent659 # End of list: int660.Lnames3:661 .byte 1 # Abbreviation code662 .long 35 # DW_IDX_die_offset663 .byte 0 # DW_IDX_parent664 # End of list: fully_specified665.Lnames7:666.L0:667 .byte 4 # Abbreviation code668 .long 111 # DW_IDX_die_offset669 .byte 0 # DW_IDX_parent670 # End of list: main671.Lnames2:672.L2:673 .byte 3 # Abbreviation code674 .long 82 # DW_IDX_die_offset675 .byte 0 # DW_IDX_parent676 # End of list: __ARRAY_SIZE_TYPE__677.Lnames6:678 .byte 1 # Abbreviation code679 .long 86 # DW_IDX_die_offset680 .byte 0 # DW_IDX_parent681 # End of list: _ZN1A4smemE682.Lnames8:683.L1:684 .byte 3 # Abbreviation code685 .long 157 # DW_IDX_die_offset686 .byte 0 # DW_IDX_parent687 # End of list: char688 .p2align 2, 0x0689.Lnames_end0:690 .ident "clang version 19.0.0git (git@github.com:llvm/llvm-project.git ced1fac8a32e35b63733bda27c7f5b9a2b635403)"691 .section ".note.GNU-stack","",@progbits692 .addrsig693 .section .debug_line,"",@progbits694.Lline_table_start0:695