brintos

brintos / llvm-project-archived public Read only

0
0
Text · 33.3 KiB · cae27f3 Raw
709 lines · plain
1# REQUIRES: system-linux2 3# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o4# RUN: %clang %cflags -dwarf-5 %t1.o -o %t.exe -Wl,-q5# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections6# RUN: llvm-dwarfdump --debug-names %t.bolt  FileCheck --check-prefix=POSTCHECK %s7 8## This test checks that BOLT doesn't set DW_IDX_parent an entry, InnerState, when it's parent is a forward declaration.9 10# POSTCHECK: debug_names11# POSTCHECK:  Bucket 0 [12# POSTCHECK-NEXT:      Name 1 {13# POSTCHECK-NEXT:        Hash: 0xB88803014# POSTCHECK-NEXT:        String: 0x00000047 "int"15# POSTCHECK-NEXT:        Entry @ 0xfb {16# POSTCHECK-NEXT:          Abbrev: 0x117# POSTCHECK-NEXT:          Tag: DW_TAG_base_type18# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000005c19# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>20# POSTCHECK-NEXT:        }21# POSTCHECK-NEXT:      }22# POSTCHECK-NEXT:    ]23# POSTCHECK-NEXT:    Bucket 1 [24# POSTCHECK-NEXT:      EMPTY25# POSTCHECK-NEXT:    ]26# POSTCHECK-NEXT:    Bucket 2 [27# POSTCHECK-NEXT:      Name 2 {28# POSTCHECK-NEXT:        Hash: 0x7C9A7F6A29# POSTCHECK-NEXT:        String: {{.+}} "main"30# POSTCHECK-NEXT:        Entry @ {{.+}} {31# POSTCHECK-NEXT:          Abbrev: 0x232# POSTCHECK-NEXT:          Tag: DW_TAG_subprogram33# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000003434# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>35# POSTCHECK-NEXT:        }36# POSTCHECK-NEXT:      }37# POSTCHECK-NEXT:      Name 3 {38# POSTCHECK-NEXT:        Hash: 0xE0CDC6A239# POSTCHECK-NEXT:        String: {{.+}} "InnerState"40# POSTCHECK-NEXT:        Entry @ {{.+}} {41# POSTCHECK-NEXT:          Abbrev: 0x342# POSTCHECK-NEXT:          Tag: DW_TAG_class_type43# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x0144# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000003045# POSTCHECK-NEXT:        }46# POSTCHECK-NEXT:      }47# POSTCHECK-NEXT:    ]48# POSTCHECK-NEXT:    Bucket 3 [49# POSTCHECK-NEXT:      EMPTY50# POSTCHECK-NEXT:    ]51# POSTCHECK-NEXT:    Bucket 4 [52# POSTCHECK-NEXT:      EMPTY53# POSTCHECK-NEXT:    ]54# POSTCHECK-NEXT:    Bucket 5 [55# POSTCHECK-NEXT:      Name 4 {56# POSTCHECK-NEXT:        Hash: 0x2F94396D57# POSTCHECK-NEXT:        String: {{.+}} "_Z9get_statev"58# POSTCHECK-NEXT:        Entry @ {{.+}} {59# POSTCHECK-NEXT:          Abbrev: 0x260# POSTCHECK-NEXT:          Tag: DW_TAG_subprogram61# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000002462# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>63# POSTCHECK-NEXT:        }64# POSTCHECK-NEXT:      }65# POSTCHECK-NEXT:      Name 5 {66# POSTCHECK-NEXT:        Hash: 0xCD86E3E567# POSTCHECK-NEXT:        String: {{.+}} "get_state"68# POSTCHECK-NEXT:        Entry @ {{.+}} {69# POSTCHECK-NEXT:          Abbrev: 0x270# POSTCHECK-NEXT:          Tag: DW_TAG_subprogram71# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000002472# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>73# POSTCHECK-NEXT:        }74# POSTCHECK-NEXT:      }75# POSTCHECK-NEXT:    ]76# POSTCHECK-NEXT:    Bucket 6 [77# POSTCHECK-NEXT:      Name 6 {78# POSTCHECK-NEXT:        Hash: 0x2B60679# POSTCHECK-NEXT:        String: {{.+}} "A"80# POSTCHECK-NEXT:        Entry @ 0x11a {81# POSTCHECK-NEXT:          Abbrev: 0x482# POSTCHECK-NEXT:          Tag: DW_TAG_namespace83# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x0084# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000002385# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>86# POSTCHECK-NEXT:        }87# POSTCHECK-NEXT:        Entry @ 0x120 {88# POSTCHECK-NEXT:          Abbrev: 0x489# POSTCHECK-NEXT:          Tag: DW_TAG_namespace90# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x0191# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000002392# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>93# POSTCHECK-NEXT:        }94# POSTCHECK-NEXT:        Entry @ 0x126 {95# POSTCHECK-NEXT:          Abbrev: 0x596# POSTCHECK-NEXT:          Tag: DW_TAG_namespace97# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x0000004398# POSTCHECK-NEXT:          DW_IDX_parent: <parent not indexed>99# POSTCHECK-NEXT:        }100# POSTCHECK-NEXT:      }101# POSTCHECK-NEXT:      Name 7 {102# POSTCHECK-NEXT:        Hash: 0x10614A06103# POSTCHECK-NEXT:        String: {{.+}} "State"104# POSTCHECK-NEXT:        Entry @ {{.+}} {105# POSTCHECK-NEXT:          Abbrev: 0x6106# POSTCHECK-NEXT:          Tag: DW_TAG_structure_type107# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x00108# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x00000027109# POSTCHECK-NEXT:          DW_IDX_parent: Entry @ 0x137110# POSTCHECK-NEXT:        }111# POSTCHECK-NEXT:      }112# POSTCHECK-NEXT:    ]113# POSTCHECK-NEXT:    Bucket 7 [114# POSTCHECK-NEXT:      Name 8 {115# POSTCHECK-NEXT:        Hash: 0x2B607116# POSTCHECK-NEXT:        String: {{.+}} "B"117# POSTCHECK-NEXT:        Entry @ 0x137 {118# POSTCHECK-NEXT:          Abbrev: 0x7119# POSTCHECK-NEXT:          Tag: DW_TAG_namespace120# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x00121# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x00000025122# POSTCHECK-NEXT:          DW_IDX_parent: Entry @ 0x11a123# POSTCHECK-NEXT:        }124# POSTCHECK-NEXT:        Entry @ {{.+}} {125# POSTCHECK-NEXT:          Abbrev: 0x7126# POSTCHECK-NEXT:          Tag: DW_TAG_namespace127# POSTCHECK-NEXT:          DW_IDX_type_unit: 0x01128# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x00000025129# POSTCHECK-NEXT:          DW_IDX_parent: Entry @ 0x120130# POSTCHECK-NEXT:        }131# POSTCHECK-NEXT:        Entry @ {{.+}} {132# POSTCHECK-NEXT:          Abbrev: 0x8133# POSTCHECK-NEXT:          Tag: DW_TAG_namespace134# POSTCHECK-NEXT:          DW_IDX_die_offset: 0x00000045135# POSTCHECK-NEXT:          DW_IDX_parent: Entry @ 0x126136# POSTCHECK-NEXT:        }137# POSTCHECK-NEXT:      }138# POSTCHECK-NEXT:    ]139# POSTCHECK-NEXT:  }140 141## clang++ -g2 -O0 -fdebug-types-section -gpubnames -S142## A::B::State::InnerState get_state() { return A::B::State::InnerState(); }143## int main() {144##   return 0;145## }146 147## Manually modified to fix bug in clang where for TU0 "B" was pointing to CU DIE instead of parent in TU148  .text149	.file	"main.cpp"150	.globl	_Z9get_statev                   # -- Begin function _Z9get_statev151	.p2align	4, 0x90152	.type	_Z9get_statev,@function153_Z9get_statev:                          # @_Z9get_statev154.Lfunc_begin0:155	.file	0 "/skipDecl" "main.cpp" md5 0xd417b4a09217d7c3ec58d64286de7ba4156	.loc	0 2 0                           # main.cpp:2:0157	.cfi_startproc158# %bb.0:                                # %entry159	pushq	%rbp160	.cfi_def_cfa_offset 16161	.cfi_offset %rbp, -16162	movq	%rsp, %rbp163	.cfi_def_cfa_register %rbp164.Ltmp0:165	.loc	0 2 39 prologue_end epilogue_begin # main.cpp:2:39166	popq	%rbp167	.cfi_def_cfa %rsp, 8168	retq169.Ltmp1:170.Lfunc_end0:171	.size	_Z9get_statev, .Lfunc_end0-_Z9get_statev172	.cfi_endproc173                                        # -- End function174	.globl	main                            # -- Begin function main175	.p2align	4, 0x90176	.type	main,@function177main:                                   # @main178.Lfunc_begin1:179	.loc	0 4 0                           # main.cpp:4:0180	.cfi_startproc181# %bb.0:                                # %entry182	pushq	%rbp183	.cfi_def_cfa_offset 16184	.cfi_offset %rbp, -16185	movq	%rsp, %rbp186	.cfi_def_cfa_register %rbp187	movl	$0, -4(%rbp)188.Ltmp2:189	.loc	0 5 3 prologue_end              # main.cpp:5:3190	xorl	%eax, %eax191	.loc	0 5 3 epilogue_begin is_stmt 0  # main.cpp:5:3192	popq	%rbp193	.cfi_def_cfa %rsp, 8194	retq195.Ltmp3:196.Lfunc_end1:197	.size	main, .Lfunc_end1-main198	.cfi_endproc199                                        # -- End function200	.section	.debug_info,"G",@progbits,16664150534606561860,comdat201.Ltu_begin0:202	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit203.Ldebug_info_start0:204	.short	5                               # DWARF version number205	.byte	2                               # DWARF Unit Type206	.byte	8                               # Address Size (in bytes)207	.long	.debug_abbrev                   # Offset Into Abbrev. Section208	.quad	-1782593539102989756            # Type Signature209	.long	39                              # Type DIE Offset210	.byte	1                               # Abbrev [1] 0x18:0x18 DW_TAG_type_unit211	.short	33                              # DW_AT_language212	.long	.Lline_table_start0             # DW_AT_stmt_list213	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base214	.byte	2                               # Abbrev [2] 0x23:0xc DW_TAG_namespace215	.byte	5                               # DW_AT_name216	.byte	2                               # Abbrev [2] 0x25:0x9 DW_TAG_namespace217	.byte	6                               # DW_AT_name218	.byte	3                               # Abbrev [3] 0x27:0x6 DW_TAG_structure_type219	.byte	5                               # DW_AT_calling_convention220	.byte	7                               # DW_AT_name221	.byte	1                               # DW_AT_byte_size222	.byte	0                               # DW_AT_decl_file223	.byte	1                               # DW_AT_decl_line224	.byte	0                               # End Of Children Mark225	.byte	0                               # End Of Children Mark226	.byte	0                               # End Of Children Mark227.Ldebug_info_end0:228	.section	.debug_info,"G",@progbits,1766745463811827694,comdat229.Ltu_begin1:230	.long	.Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit231.Ldebug_info_start1:232	.short	5                               # DWARF version number233	.byte	2                               # DWARF Unit Type234	.byte	8                               # Address Size (in bytes)235	.long	.debug_abbrev                   # Offset Into Abbrev. Section236	.quad	1766745463811827694             # Type Signature237	.long	48                              # Type DIE Offset238	.byte	1                               # Abbrev [1] 0x18:0x22 DW_TAG_type_unit239	.short	33                              # DW_AT_language240	.long	.Lline_table_start0             # DW_AT_stmt_list241	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base242	.byte	2                               # Abbrev [2] 0x23:0x16 DW_TAG_namespace243	.byte	5                               # DW_AT_name244	.byte	2                               # Abbrev [2] 0x25:0x13 DW_TAG_namespace245	.byte	6                               # DW_AT_name246	.byte	4                               # Abbrev [4] 0x27:0x10 DW_TAG_structure_type247                                        # DW_AT_declaration248	.quad	-1782593539102989756            # DW_AT_signature249	.byte	5                               # Abbrev [5] 0x30:0x6 DW_TAG_class_type250	.byte	5                               # DW_AT_calling_convention251	.byte	8                               # DW_AT_name252	.byte	1                               # DW_AT_byte_size253	.byte	0                               # DW_AT_decl_file254	.byte	1                               # DW_AT_decl_line255	.byte	0                               # End Of Children Mark256	.byte	0                               # End Of Children Mark257	.byte	0                               # End Of Children Mark258	.byte	0                               # End Of Children Mark259.Ldebug_info_end1:260	.section	.debug_abbrev,"",@progbits261	.byte	1                               # Abbreviation Code262	.byte	65                              # DW_TAG_type_unit263	.byte	1                               # DW_CHILDREN_yes264	.byte	19                              # DW_AT_language265	.byte	5                               # DW_FORM_data2266	.byte	16                              # DW_AT_stmt_list267	.byte	23                              # DW_FORM_sec_offset268	.byte	114                             # DW_AT_str_offsets_base269	.byte	23                              # DW_FORM_sec_offset270	.byte	0                               # EOM(1)271	.byte	0                               # EOM(2)272	.byte	2                               # Abbreviation Code273	.byte	57                              # DW_TAG_namespace274	.byte	1                               # DW_CHILDREN_yes275	.byte	3                               # DW_AT_name276	.byte	37                              # DW_FORM_strx1277	.byte	0                               # EOM(1)278	.byte	0                               # EOM(2)279	.byte	3                               # Abbreviation Code280	.byte	19                              # DW_TAG_structure_type281	.byte	0                               # DW_CHILDREN_no282	.byte	54                              # DW_AT_calling_convention283	.byte	11                              # DW_FORM_data1284	.byte	3                               # DW_AT_name285	.byte	37                              # DW_FORM_strx1286	.byte	11                              # DW_AT_byte_size287	.byte	11                              # DW_FORM_data1288	.byte	58                              # DW_AT_decl_file289	.byte	11                              # DW_FORM_data1290	.byte	59                              # DW_AT_decl_line291	.byte	11                              # DW_FORM_data1292	.byte	0                               # EOM(1)293	.byte	0                               # EOM(2)294	.byte	4                               # Abbreviation Code295	.byte	19                              # DW_TAG_structure_type296	.byte	1                               # DW_CHILDREN_yes297	.byte	60                              # DW_AT_declaration298	.byte	25                              # DW_FORM_flag_present299	.byte	105                             # DW_AT_signature300	.byte	32                              # DW_FORM_ref_sig8301	.byte	0                               # EOM(1)302	.byte	0                               # EOM(2)303	.byte	5                               # Abbreviation Code304	.byte	2                               # DW_TAG_class_type305	.byte	0                               # DW_CHILDREN_no306	.byte	54                              # DW_AT_calling_convention307	.byte	11                              # DW_FORM_data1308	.byte	3                               # DW_AT_name309	.byte	37                              # DW_FORM_strx1310	.byte	11                              # DW_AT_byte_size311	.byte	11                              # DW_FORM_data1312	.byte	58                              # DW_AT_decl_file313	.byte	11                              # DW_FORM_data1314	.byte	59                              # DW_AT_decl_line315	.byte	11                              # DW_FORM_data1316	.byte	0                               # EOM(1)317	.byte	0                               # EOM(2)318	.byte	6                               # Abbreviation Code319	.byte	17                              # DW_TAG_compile_unit320	.byte	1                               # DW_CHILDREN_yes321	.byte	37                              # DW_AT_producer322	.byte	37                              # DW_FORM_strx1323	.byte	19                              # DW_AT_language324	.byte	5                               # DW_FORM_data2325	.byte	3                               # DW_AT_name326	.byte	37                              # DW_FORM_strx1327	.byte	114                             # DW_AT_str_offsets_base328	.byte	23                              # DW_FORM_sec_offset329	.byte	16                              # DW_AT_stmt_list330	.byte	23                              # DW_FORM_sec_offset331	.byte	27                              # DW_AT_comp_dir332	.byte	37                              # DW_FORM_strx1333	.byte	17                              # DW_AT_low_pc334	.byte	27                              # DW_FORM_addrx335	.byte	18                              # DW_AT_high_pc336	.byte	6                               # DW_FORM_data4337	.byte	115                             # DW_AT_addr_base338	.byte	23                              # DW_FORM_sec_offset339	.byte	0                               # EOM(1)340	.byte	0                               # EOM(2)341	.byte	7                               # Abbreviation Code342	.byte	46                              # DW_TAG_subprogram343	.byte	0                               # DW_CHILDREN_no344	.byte	17                              # DW_AT_low_pc345	.byte	27                              # DW_FORM_addrx346	.byte	18                              # DW_AT_high_pc347	.byte	6                               # DW_FORM_data4348	.byte	64                              # DW_AT_frame_base349	.byte	24                              # DW_FORM_exprloc350	.byte	110                             # DW_AT_linkage_name351	.byte	37                              # DW_FORM_strx1352	.byte	3                               # DW_AT_name353	.byte	37                              # DW_FORM_strx1354	.byte	58                              # DW_AT_decl_file355	.byte	11                              # DW_FORM_data1356	.byte	59                              # DW_AT_decl_line357	.byte	11                              # DW_FORM_data1358	.byte	73                              # DW_AT_type359	.byte	19                              # DW_FORM_ref4360	.byte	63                              # DW_AT_external361	.byte	25                              # DW_FORM_flag_present362	.byte	0                               # EOM(1)363	.byte	0                               # EOM(2)364	.byte	8                               # Abbreviation Code365	.byte	46                              # DW_TAG_subprogram366	.byte	0                               # DW_CHILDREN_no367	.byte	17                              # DW_AT_low_pc368	.byte	27                              # DW_FORM_addrx369	.byte	18                              # DW_AT_high_pc370	.byte	6                               # DW_FORM_data4371	.byte	64                              # DW_AT_frame_base372	.byte	24                              # DW_FORM_exprloc373	.byte	3                               # DW_AT_name374	.byte	37                              # DW_FORM_strx1375	.byte	58                              # DW_AT_decl_file376	.byte	11                              # DW_FORM_data1377	.byte	59                              # DW_AT_decl_line378	.byte	11                              # DW_FORM_data1379	.byte	73                              # DW_AT_type380	.byte	19                              # DW_FORM_ref4381	.byte	63                              # DW_AT_external382	.byte	25                              # DW_FORM_flag_present383	.byte	0                               # EOM(1)384	.byte	0                               # EOM(2)385	.byte	9                               # Abbreviation Code386	.byte	2                               # DW_TAG_class_type387	.byte	0                               # DW_CHILDREN_no388	.byte	60                              # DW_AT_declaration389	.byte	25                              # DW_FORM_flag_present390	.byte	105                             # DW_AT_signature391	.byte	32                              # DW_FORM_ref_sig8392	.byte	0                               # EOM(1)393	.byte	0                               # EOM(2)394	.byte	10                              # Abbreviation Code395	.byte	36                              # DW_TAG_base_type396	.byte	0                               # DW_CHILDREN_no397	.byte	3                               # DW_AT_name398	.byte	37                              # DW_FORM_strx1399	.byte	62                              # DW_AT_encoding400	.byte	11                              # DW_FORM_data1401	.byte	11                              # DW_AT_byte_size402	.byte	11                              # DW_FORM_data1403	.byte	0                               # EOM(1)404	.byte	0                               # EOM(2)405	.byte	0                               # EOM(3)406	.section	.debug_info,"",@progbits407.Lcu_begin0:408	.long	.Ldebug_info_end2-.Ldebug_info_start2 # Length of Unit409.Ldebug_info_start2:410	.short	5                               # DWARF version number411	.byte	1                               # DWARF Unit Type412	.byte	8                               # Address Size (in bytes)413	.long	.debug_abbrev                   # Offset Into Abbrev. Section414	.byte	6                               # Abbrev [6] 0xc:0x54 DW_TAG_compile_unit415	.byte	0                               # DW_AT_producer416	.short	33                              # DW_AT_language417	.byte	1                               # DW_AT_name418	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base419	.long	.Lline_table_start0             # DW_AT_stmt_list420	.byte	2                               # DW_AT_comp_dir421	.byte	0                               # DW_AT_low_pc422	.long	.Lfunc_end1-.Lfunc_begin0       # DW_AT_high_pc423	.long	.Laddr_table_base0              # DW_AT_addr_base424	.byte	7                               # Abbrev [7] 0x23:0x10 DW_TAG_subprogram425	.byte	0                               # DW_AT_low_pc426	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc427	.byte	1                               # DW_AT_frame_base428	.byte	86429	.byte	3                               # DW_AT_linkage_name430	.byte	4                               # DW_AT_name431	.byte	0                               # DW_AT_decl_file432	.byte	2                               # DW_AT_decl_line433	.long	79                              # DW_AT_type434                                        # DW_AT_external435	.byte	8                               # Abbrev [8] 0x33:0xf DW_TAG_subprogram436	.byte	1                               # DW_AT_low_pc437	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc438	.byte	1                               # DW_AT_frame_base439	.byte	86440	.byte	9                               # DW_AT_name441	.byte	0                               # DW_AT_decl_file442	.byte	4                               # DW_AT_decl_line443	.long	91                              # DW_AT_type444                                        # DW_AT_external445	.byte	2                               # Abbrev [2] 0x42:0x19 DW_TAG_namespace446	.byte	5                               # DW_AT_name447	.byte	2                               # Abbrev [2] 0x44:0x16 DW_TAG_namespace448	.byte	6                               # DW_AT_name449	.byte	4                               # Abbrev [4] 0x46:0x13 DW_TAG_structure_type450                                        # DW_AT_declaration451	.quad	-1782593539102989756            # DW_AT_signature452	.byte	9                               # Abbrev [9] 0x4f:0x9 DW_TAG_class_type453                                        # DW_AT_declaration454	.quad	1766745463811827694             # DW_AT_signature455	.byte	0                               # End Of Children Mark456	.byte	0                               # End Of Children Mark457	.byte	0                               # End Of Children Mark458	.byte	10                              # Abbrev [10] 0x5b:0x4 DW_TAG_base_type459	.byte	10                              # DW_AT_name460	.byte	5                               # DW_AT_encoding461	.byte	4                               # DW_AT_byte_size462	.byte	0                               # End Of Children Mark463.Ldebug_info_end2:464	.section	.debug_str_offsets,"",@progbits465	.long	48                              # Length of String Offsets Set466	.short	5467	.short	0468.Lstr_offsets_base0:469	.section	.debug_str,"MS",@progbits,1470.Linfo_string0:471	.asciz	"clang version 19.0.0git"       # string offset=0472.Linfo_string1:473	.asciz	"main.cpp"                      # string offset=24474.Linfo_string2:475	.asciz	"/skipDecl" # string offset=33476.Linfo_string3:477	.asciz	"get_state"                     # string offset=80478.Linfo_string4:479	.asciz	"_Z9get_statev"                 # string offset=90480.Linfo_string5:481	.asciz	"main"                          # string offset=104482.Linfo_string6:483	.asciz	"A"                             # string offset=109484.Linfo_string7:485	.asciz	"B"                             # string offset=111486.Linfo_string8:487	.asciz	"State"                         # string offset=113488.Linfo_string9:489	.asciz	"InnerState"                    # string offset=119490.Linfo_string10:491	.asciz	"int"                           # string offset=130492	.section	.debug_str_offsets,"",@progbits493	.long	.Linfo_string0494	.long	.Linfo_string1495	.long	.Linfo_string2496	.long	.Linfo_string4497	.long	.Linfo_string3498	.long	.Linfo_string6499	.long	.Linfo_string7500	.long	.Linfo_string8501	.long	.Linfo_string9502	.long	.Linfo_string5503	.long	.Linfo_string10504	.section	.debug_addr,"",@progbits505	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution506.Ldebug_addr_start0:507	.short	5                               # DWARF version number508	.byte	8                               # Address size509	.byte	0                               # Segment selector size510.Laddr_table_base0:511	.quad	.Lfunc_begin0512	.quad	.Lfunc_begin1513.Ldebug_addr_end0:514	.section	.debug_names,"",@progbits515	.long	.Lnames_end0-.Lnames_start0     # Header: unit length516.Lnames_start0:517	.short	5                               # Header: version518	.short	0                               # Header: padding519	.long	1                               # Header: compilation unit count520	.long	2                               # Header: local type unit count521	.long	0                               # Header: foreign type unit count522	.long	8                               # Header: bucket count523	.long	8                               # Header: name count524	.long	.Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size525	.long	8                               # Header: augmentation string size526	.ascii	"LLVM0700"                      # Header: augmentation string527	.long	.Lcu_begin0                     # Compilation unit 0528	.long	.Ltu_begin0                     # Type unit 0529	.long	.Ltu_begin1                     # Type unit 1530	.long	1                               # Bucket 0531	.long	0                               # Bucket 1532	.long	2                               # Bucket 2533	.long	0                               # Bucket 3534	.long	0                               # Bucket 4535	.long	4                               # Bucket 5536	.long	6                               # Bucket 6537	.long	8                               # Bucket 7538	.long	193495088                       # Hash in Bucket 0539	.long	2090499946                      # Hash in Bucket 2540	.long	-523385182                      # Hash in Bucket 2541	.long	798243181                       # Hash in Bucket 5542	.long	-846797851                      # Hash in Bucket 5543	.long	177670                          # Hash in Bucket 6544	.long	274811398                       # Hash in Bucket 6545	.long	177671                          # Hash in Bucket 7546	.long	.Linfo_string10                 # String in Bucket 0: int547	.long	.Linfo_string5                  # String in Bucket 2: main548	.long	.Linfo_string9                  # String in Bucket 2: InnerState549	.long	.Linfo_string4                  # String in Bucket 5: _Z9get_statev550	.long	.Linfo_string3                  # String in Bucket 5: get_state551	.long	.Linfo_string6                  # String in Bucket 6: A552	.long	.Linfo_string8                  # String in Bucket 6: State553	.long	.Linfo_string7                  # String in Bucket 7: B554	.long	.Lnames7-.Lnames_entries0       # Offset in Bucket 0555	.long	.Lnames2-.Lnames_entries0       # Offset in Bucket 2556	.long	.Lnames6-.Lnames_entries0       # Offset in Bucket 2557	.long	.Lnames1-.Lnames_entries0       # Offset in Bucket 5558	.long	.Lnames0-.Lnames_entries0       # Offset in Bucket 5559	.long	.Lnames3-.Lnames_entries0       # Offset in Bucket 6560	.long	.Lnames5-.Lnames_entries0       # Offset in Bucket 6561	.long	.Lnames4-.Lnames_entries0       # Offset in Bucket 7562.Lnames_abbrev_start0:563	.byte	1                               # Abbrev code564	.byte	36                              # DW_TAG_base_type565	.byte	3                               # DW_IDX_die_offset566	.byte	19                              # DW_FORM_ref4567	.byte	4                               # DW_IDX_parent568	.byte	25                              # DW_FORM_flag_present569	.byte	0                               # End of abbrev570	.byte	0                               # End of abbrev571	.byte	2                               # Abbrev code572	.byte	46                              # DW_TAG_subprogram573	.byte	3                               # DW_IDX_die_offset574	.byte	19                              # DW_FORM_ref4575	.byte	4                               # DW_IDX_parent576	.byte	25                              # DW_FORM_flag_present577	.byte	0                               # End of abbrev578	.byte	0                               # End of abbrev579	.byte	3                               # Abbrev code580	.byte	2                               # DW_TAG_class_type581	.byte	2                               # DW_IDX_type_unit582	.byte	11                              # DW_FORM_data1583	.byte	3                               # DW_IDX_die_offset584	.byte	19                              # DW_FORM_ref4585	.byte	0                               # End of abbrev586	.byte	0                               # End of abbrev587	.byte	4                               # Abbrev code588	.byte	57                              # DW_TAG_namespace589	.byte	2                               # DW_IDX_type_unit590	.byte	11                              # DW_FORM_data1591	.byte	3                               # DW_IDX_die_offset592	.byte	19                              # DW_FORM_ref4593	.byte	4                               # DW_IDX_parent594	.byte	25                              # DW_FORM_flag_present595	.byte	0                               # End of abbrev596	.byte	0                               # End of abbrev597	.byte	5                               # Abbrev code598	.byte	57                              # DW_TAG_namespace599	.byte	3                               # DW_IDX_die_offset600	.byte	19                              # DW_FORM_ref4601	.byte	4                               # DW_IDX_parent602	.byte	25                              # DW_FORM_flag_present603	.byte	0                               # End of abbrev604	.byte	0                               # End of abbrev605	.byte	6                               # Abbrev code606	.byte	19                              # DW_TAG_structure_type607	.byte	2                               # DW_IDX_type_unit608	.byte	11                              # DW_FORM_data1609	.byte	3                               # DW_IDX_die_offset610	.byte	19                              # DW_FORM_ref4611	.byte	4                               # DW_IDX_parent612	.byte	19                              # DW_FORM_ref4613	.byte	0                               # End of abbrev614	.byte	0                               # End of abbrev615	.byte	7                               # Abbrev code616	.byte	57                              # DW_TAG_namespace617	.byte	2                               # DW_IDX_type_unit618	.byte	11                              # DW_FORM_data1619	.byte	3                               # DW_IDX_die_offset620	.byte	19                              # DW_FORM_ref4621	.byte	4                               # DW_IDX_parent622	.byte	19                              # DW_FORM_ref4623	.byte	0                               # End of abbrev624	.byte	0                               # End of abbrev625	.byte	8                               # Abbrev code626	.byte	57                              # DW_TAG_namespace627	.byte	3                               # DW_IDX_die_offset628	.byte	19                              # DW_FORM_ref4629	.byte	4                               # DW_IDX_parent630	.byte	19                              # DW_FORM_ref4631	.byte	0                               # End of abbrev632	.byte	0                               # End of abbrev633	.byte	0                               # End of abbrev list634.Lnames_abbrev_end0:635.Lnames_entries0:636.Lnames7:637.L6:638	.byte	1                               # Abbreviation code639	.long	91                              # DW_IDX_die_offset640	.byte	0                               # DW_IDX_parent641                                        # End of list: int642.Lnames2:643.L1:644	.byte	2                               # Abbreviation code645	.long	51                              # DW_IDX_die_offset646	.byte	0                               # DW_IDX_parent647                                        # End of list: main648.Lnames6:649.L8:650	.byte	3                               # Abbreviation code651	.byte	1                               # DW_IDX_type_unit652	.long	48                              # DW_IDX_die_offset653	.byte	0                               # End of list: InnerState654.Lnames1:655.L4:656	.byte	2                               # Abbreviation code657	.long	35                              # DW_IDX_die_offset658	.byte	0                               # DW_IDX_parent659                                        # End of list: _Z9get_statev660.Lnames0:661	.byte	2                               # Abbreviation code662	.long	35                              # DW_IDX_die_offset663	.byte	0                               # DW_IDX_parent664                                        # End of list: get_state665.Lnames3:666.LmanualLabel:667  .byte	4                               # Abbreviation code668	.byte	0                               # DW_IDX_type_unit669	.long	35                              # DW_IDX_die_offset670.L3:                                    # DW_IDX_parent671	.byte	4                               # Abbreviation code672	.byte	1                               # DW_IDX_type_unit673	.long	35                              # DW_IDX_die_offset674.L2:                                    # DW_IDX_parent675	.byte	5                               # Abbreviation code676	.long	66                              # DW_IDX_die_offset677	.byte	0                               # DW_IDX_parent678                                        # End of list: A679.Lnames5:680.L0:681	.byte	6                               # Abbreviation code682	.byte	0                               # DW_IDX_type_unit683	.long	39                              # DW_IDX_die_offset684	.long	.L5-.Lnames_entries0            # DW_IDX_parent685	.byte	0                               # End of list: State686.Lnames4:687.L5:688	.byte	7                               # Abbreviation code689	.byte	0                               # DW_IDX_type_unit690	.long	37                              # DW_IDX_die_offset691	.long	.LmanualLabel-.Lnames_entries0  # DW_IDX_parent692.L7:693	.byte	7                               # Abbreviation code694	.byte	1                               # DW_IDX_type_unit695	.long	37                              # DW_IDX_die_offset696	.long	.L3-.Lnames_entries0            # DW_IDX_parent697.L9:698	.byte	8                               # Abbreviation code699	.long	68                              # DW_IDX_die_offset700	.long	.L2-.Lnames_entries0            # DW_IDX_parent701	.byte	0                               # End of list: B702	.p2align	2, 0x0703.Lnames_end0:704	.ident	"clang version 19.0.0git"705	.section	".note.GNU-stack","",@progbits706	.addrsig707	.section	.debug_line,"",@progbits708.Lline_table_start0:709