brintos

brintos / llvm-project-archived public Read only

0
0
Text · 31.6 KiB · ec5b425 Raw
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