brintos

brintos / llvm-project-archived public Read only

0
0
Text · 29.6 KiB · bc35973 Raw
630 lines · plain
1## Check that DWARF CU with a valid DWOId but missing a dwo_name is correctly detected.2# RUN: rm -rf %t && mkdir -p %t && cd %t3# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -split-dwarf-file=main.dwo -o main.o4# RUN: %clang %cflags -O3 -g -gdwarf-5 -gsplit-dwarf -Wl,-q %t/main.o -o main.exe5# RUN: llvm-bolt %t/main.exe -o %t/main.exe.bolt -update-debug-sections  2>&1 | FileCheck %s --check-prefix=PRECHECK6# PRECHECK: BOLT-ERROR: broken DWARF found in CU at offset 0x3e (DWOId=0x0, missing DW_AT_dwo_name / DW_AT_GNU_dwo_name)7 8## Checks that Broken dwarf CU is removed9# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t/main.exe.bolt | FileCheck %s --check-prefix=POSTCHECK10# POSTCHECK-LABEL: .debug_info contents:11# POSTCHECK: DW_TAG_skeleton_unit12# POSTCHECK-DAG: DW_AT_dwo_name{{.*=.*\.dwo.*}}13# POSTCHECK: NULL14# POSTCHECK-NOT: DW_TAG_skeleton_unit15 16	.text17	.file	"main.cpp"18	.section	.rodata.cst16,"aM",@progbits,1619.LCPI0_0:20.LCPI0_1:21.LCPI0_2:22.LCPI0_3:23.LCPI0_4:24.LCPI0_5:25.LCPI0_6:26.LCPI0_7:27.LCPI0_8:28.LCPI0_9:29.LCPI0_10:30	.text31	.globl	main32	.type	main,@function33main:                                   # @main34.Lfunc_begin0:35	.file	1 "." "main.cpp" md5 0x8a68374187457ce14ac0c6c2121349a236	.loc	1 5 0                           # main.cpp:5:037# %bb.0:                                # %vector.ph38.Ltmp0:39.Ltmp1:40.LBB0_1:                                # %vector.body41.Ltmp2:42	.file	2 "." "callee.cpp" md5 0x86e19c24983503540b9bb1a6f7bad73743	.loc	2 8 15 prologue_end             # callee.cpp:8:1544.Ltmp3:45	.loc	2 3 15                          # callee.cpp:3:1546.Ltmp4:47	.loc	2 8 15                          # callee.cpp:8:1548.Ltmp5:49	.loc	2 9 19                          # callee.cpp:9:1950.Ltmp6:51	.loc	2 9 13 is_stmt 0                # callee.cpp:9:1352.Ltmp7:53	.loc	2 3 15 is_stmt 1                # callee.cpp:3:1554	.loc	2 3 19 is_stmt 0                # callee.cpp:3:1955.Ltmp8:56	.loc	2 4 19 is_stmt 1                # callee.cpp:4:1957.Ltmp9:58	.loc	2 4 13 is_stmt 0                # callee.cpp:4:1359.Ltmp10:60	.loc	2 4 19                          # callee.cpp:4:1961.Ltmp11:62	.loc	2 4 13                          # callee.cpp:4:1363.Ltmp12:64	.loc	2 2 12 is_stmt 1                # callee.cpp:2:1265	.loc	2 2 17 is_stmt 0                # callee.cpp:2:1766.Ltmp13:67	.loc	2 4 13 is_stmt 1                # callee.cpp:4:1368.Ltmp14:69	.loc	2 0 0 is_stmt 0                 # callee.cpp:0:070.Ltmp15:71	.loc	1 8 13 is_stmt 1                # main.cpp:8:1372.Ltmp16:73	.loc	2 0 0 is_stmt 0                 # callee.cpp:0:074.Ltmp17:75	.loc	1 8 13                          # main.cpp:8:1376.Ltmp18:77	.loc	1 7 35 is_stmt 1                # main.cpp:7:3578.Ltmp19:79# %bb.2:                                # %middle.block80	.loc	1 7 5 is_stmt 0                 # main.cpp:7:581.Ltmp20:82	.loc	1 11 9 is_stmt 1                # main.cpp:11:983.Ltmp21:84	.loc	1 15 1                          # main.cpp:15:185	retq86.Ltmp22:87.Lfunc_end0:88	.size	main, .Lfunc_end0-main89	.section	.debug_abbrev,"",@progbits90	.byte	1                               # Abbreviation Code91	.byte	74                              # DW_TAG_skeleton_unit92	.byte	1                               # DW_CHILDREN_yes93	.byte	16                              # DW_AT_stmt_list94	.byte	23                              # DW_FORM_sec_offset95	.byte	114                             # DW_AT_str_offsets_base96	.byte	23                              # DW_FORM_sec_offset97	.byte	27                              # DW_AT_comp_dir98	.byte	37                              # DW_FORM_strx199	.ascii	"\264B"                         # DW_AT_GNU_pubnames100	.byte	25                              # DW_FORM_flag_present101	.byte	118                             # DW_AT_dwo_name102	.byte	37                              # DW_FORM_strx1103	.byte	17                              # DW_AT_low_pc104	.byte	27                              # DW_FORM_addrx105	.byte	18                              # DW_AT_high_pc106	.byte	6                               # DW_FORM_data4107	.byte	115                             # DW_AT_addr_base108	.byte	23                              # DW_FORM_sec_offset109	.byte	116                             # DW_AT_rnglists_base110	.byte	23                              # DW_FORM_sec_offset111	.byte	0                               # EOM(1)112	.byte	0                               # EOM(2)113	.byte	2                               # Abbreviation Code114	.byte	46                              # DW_TAG_subprogram115	.byte	1                               # DW_CHILDREN_yes116	.byte	17                              # DW_AT_low_pc117	.byte	27                              # DW_FORM_addrx118	.byte	18                              # DW_AT_high_pc119	.byte	6                               # DW_FORM_data4120	.byte	3                               # DW_AT_name121	.byte	37                              # DW_FORM_strx1122	.byte	0                               # EOM(1)123	.byte	0                               # EOM(2)124	.byte	3                               # Abbreviation Code125	.byte	29                              # DW_TAG_inlined_subroutine126	.byte	0                               # DW_CHILDREN_no127	.byte	49                              # DW_AT_abstract_origin128	.byte	16                              # DW_FORM_ref_addr129	.byte	85                              # DW_AT_ranges130	.byte	35                              # DW_FORM_rnglistx131	.byte	88                              # DW_AT_call_file132	.byte	11                              # DW_FORM_data1133	.byte	89                              # DW_AT_call_line134	.byte	11                              # DW_FORM_data1135	.byte	87                              # DW_AT_call_column136	.byte	11                              # DW_FORM_data1137	.byte	0                               # EOM(1)138	.byte	0                               # EOM(2)139	.byte	4                               # Abbreviation Code140	.byte	74                              # DW_TAG_skeleton_unit141	.byte	1                               # DW_CHILDREN_yes142	.byte	16                              # DW_AT_stmt_list143	.byte	23                              # DW_FORM_sec_offset144	.byte	114                             # DW_AT_str_offsets_base145	.byte	23                              # DW_FORM_sec_offset146	.byte	27                              # DW_AT_comp_dir147	.byte	37                              # DW_FORM_strx1148	.ascii	"\264B"                         # DW_AT_GNU_pubnames149	.byte	25                              # DW_FORM_flag_present150	.byte	37                              # DW_AT_producer151	.byte	37                              # DW_FORM_strx1152	.byte	19                              # DW_AT_language153	.byte	5                               # DW_FORM_data2154	.byte	3                               # DW_AT_name155	.byte	37                              # DW_FORM_strx1156	.byte	115                             # DW_AT_addr_base157	.byte	23                              # DW_FORM_sec_offset158	.byte	0                               # EOM(1)159	.byte	0                               # EOM(2)160	.byte	5                               # Abbreviation Code161	.byte	46                              # DW_TAG_subprogram162	.byte	0                               # DW_CHILDREN_no163	.byte	3                               # DW_AT_name164	.byte	37                              # DW_FORM_strx1165	.byte	32                              # DW_AT_inline166	.byte	33                              # DW_FORM_implicit_const167	.byte	1168	.byte	0                               # EOM(1)169	.byte	0                               # EOM(2)170	.byte	0                               # EOM(3)171	.section	.debug_info,"",@progbits172.Lcu_begin0:173	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit174.Ldebug_info_start0:175	.short	5                               # DWARF version number176	.byte	4                               # DWARF Unit Type177	.byte	8                               # Address Size (in bytes)178	.long	.debug_abbrev                   # Offset Into Abbrev. Section179	.quad	-1861901018463438211180	.byte	1                               # Abbrev [1] 0x14:0x2a DW_TAG_skeleton_unit181	.long	.Lline_table_start0             # DW_AT_stmt_list182	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base183	.byte	0                               # DW_AT_comp_dir184                                        # DW_AT_GNU_pubnames185	.byte	3                               # DW_AT_dwo_name186	.byte	0                               # DW_AT_low_pc187	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc188	.long	.Laddr_table_base0              # DW_AT_addr_base189	.long	.Lrnglists_table_base0          # DW_AT_rnglists_base190	.byte	2                               # Abbrev [2] 0x2c:0x11 DW_TAG_subprogram191	.byte	0                               # DW_AT_low_pc192	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc193	.byte	2                               # DW_AT_name194	.byte	3                               # Abbrev [3] 0x33:0x9 DW_TAG_inlined_subroutine195	.long	.debug_info+100                 # DW_AT_abstract_origin196	.byte	0                               # DW_AT_ranges197	.byte	1                               # DW_AT_call_file198	.byte	8                               # DW_AT_call_line199	.byte	16                              # DW_AT_call_column200	.byte	0                               # End Of Children Mark201	.byte	0                               # End Of Children Mark202.Ldebug_info_end0:203.Lcu_begin1:204	.long	.Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit205.Ldebug_info_start1:206	.short	5                               # DWARF version number207	.byte	4                               # DWARF Unit Type208	.byte	8                               # Address Size (in bytes)209	.long	.debug_abbrev                   # Offset Into Abbrev. Section210	.quad	0211	.byte	4                               # Abbrev [4] 0x14:0x15 DW_TAG_skeleton_unit212	.long	.Lline_table_start0             # DW_AT_stmt_list213	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base214	.byte	0                               # DW_AT_comp_dir215                                        # DW_AT_GNU_pubnames216	.byte	4                               # DW_AT_producer217	.short	33                              # DW_AT_language218	.byte	5                               # DW_AT_name219	.long	.Laddr_table_base0              # DW_AT_addr_base220	.byte	5                               # Abbrev [5] 0x26:0x2 DW_TAG_subprogram221	.byte	1                               # DW_AT_name222                                        # DW_AT_inline223	.byte	0                               # End Of Children Mark224.Ldebug_info_end1:225	.section	.debug_rnglists,"",@progbits226	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length227.Ldebug_list_header_start0:228	.short	5                               # Version229	.byte	8                               # Address size230	.byte	0                               # Segment selector size231	.long	1                               # Offset entry count232.Lrnglists_table_base0:233	.long	.Ldebug_ranges1-.Lrnglists_table_base0234.Ldebug_ranges1:235	.byte	4                               # DW_RLE_offset_pair236	.uleb128 .Ltmp2-.Lfunc_begin0           #   starting offset237	.uleb128 .Ltmp15-.Lfunc_begin0          #   ending offset238	.byte	4                               # DW_RLE_offset_pair239	.uleb128 .Ltmp16-.Lfunc_begin0          #   starting offset240	.uleb128 .Ltmp17-.Lfunc_begin0          #   ending offset241	.byte	0                               # DW_RLE_end_of_list242.Ldebug_list_header_end0:243	.section	.debug_str_offsets,"",@progbits244	.long	28                              # Length of String Offsets Set245	.short	5246	.short	0247.Lstr_offsets_base0:248	.section	.debug_str,"MS",@progbits,1249.Lskel_string0:250	.asciz	"." # string offset=0251.Lskel_string1:252	.asciz	"hotFunction"                   # string offset=45253.Lskel_string2:254	.asciz	"main"                          # string offset=57255.Lskel_string3:256	.asciz	"main.dwo"                      # string offset=62257.Lskel_string4:258	.asciz	"clang version 16.0.6" # string offset=71259.Lskel_string5:260	.asciz	"callee.cpp"                    # string offset=177261	.section	.debug_str_offsets,"",@progbits262	.long	.Lskel_string0263	.long	.Lskel_string1264	.long	.Lskel_string2265	.long	.Lskel_string3266	.long	.Lskel_string4267	.long	.Lskel_string5268	.section	.debug_str_offsets.dwo,"e",@progbits269	.long	56                              # Length of String Offsets Set270	.short	5271	.short	0272	.section	.debug_str.dwo,"eMS",@progbits,1273.Linfo_string0:274	.asciz	"_Z11hotFunctioni"              # string offset=0275.Linfo_string1:276	.asciz	"hotFunction"                   # string offset=17277.Linfo_string2:278	.asciz	"int"                           # string offset=29279.Linfo_string3:280	.asciz	"x"                             # string offset=33281.Linfo_string4:282	.asciz	"main"                          # string offset=35283.Linfo_string5:284	.asciz	"argc"                          # string offset=40285.Linfo_string6:286	.asciz	"argv"                          # string offset=45287.Linfo_string7:288	.asciz	"char"                          # string offset=50289.Linfo_string8:290	.asciz	"sum"                           # string offset=55291.Linfo_string9:292	.asciz	"i"                             # string offset=59293.Linfo_string10:294	.asciz	"clang version 16.0.6" # string offset=61295.Linfo_string11:296	.asciz	"main.cpp"                      # string offset=167297.Linfo_string12:298	.asciz	"main.dwo"                      # string offset=176299	.section	.debug_str_offsets.dwo,"e",@progbits300	.long	0301	.long	17302	.long	29303	.long	33304	.long	35305	.long	40306	.long	45307	.long	50308	.long	55309	.long	59310	.long	61311	.long	167312	.long	176313	.section	.debug_info.dwo,"e",@progbits314	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit315.Ldebug_info_dwo_start0:316	.short	5                               # DWARF version number317	.byte	5                               # DWARF Unit Type318	.byte	8                               # Address Size (in bytes)319	.long	0                               # Offset Into Abbrev. Section320	.quad	-1861901018463438211321	.byte	1                               # Abbrev [1] 0x14:0x71 DW_TAG_compile_unit322	.byte	10                              # DW_AT_producer323	.short	33                              # DW_AT_language324	.byte	11                              # DW_AT_name325	.byte	12                              # DW_AT_dwo_name326	.byte	2                               # Abbrev [2] 0x1a:0x12 DW_TAG_subprogram327	.byte	0                               # DW_AT_linkage_name328	.byte	1                               # DW_AT_name329	.byte	2                               # DW_AT_decl_file330	.byte	1                               # DW_AT_decl_line331	.long	44                              # DW_AT_type332                                        # DW_AT_external333                                        # DW_AT_inline334	.byte	3                               # Abbrev [3] 0x23:0x8 DW_TAG_formal_parameter335	.byte	3                               # DW_AT_name336	.byte	2                               # DW_AT_decl_file337	.byte	1                               # DW_AT_decl_line338	.long	44                              # DW_AT_type339	.byte	0                               # End Of Children Mark340	.byte	4                               # Abbrev [4] 0x2c:0x4 DW_TAG_base_type341	.byte	2                               # DW_AT_name342	.byte	5                               # DW_AT_encoding343	.byte	4                               # DW_AT_byte_size344	.byte	5                               # Abbrev [5] 0x30:0x46 DW_TAG_subprogram345	.byte	0                               # DW_AT_low_pc346	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc347	.byte	1                               # DW_AT_frame_base348	.byte	87349                                        # DW_AT_call_all_calls350	.byte	4                               # DW_AT_name351	.byte	1                               # DW_AT_decl_file352	.byte	5                               # DW_AT_decl_line353	.long	44                              # DW_AT_type354                                        # DW_AT_external355	.byte	6                               # Abbrev [6] 0x3f:0xa DW_TAG_formal_parameter356	.byte	1                               # DW_AT_location357	.byte	85358	.byte	5                               # DW_AT_name359	.byte	1                               # DW_AT_decl_file360	.byte	5                               # DW_AT_decl_line361	.long	44                              # DW_AT_type362	.byte	6                               # Abbrev [6] 0x49:0xa DW_TAG_formal_parameter363	.byte	1                               # DW_AT_location364	.byte	84365	.byte	6                               # DW_AT_name366	.byte	1                               # DW_AT_decl_file367	.byte	5                               # DW_AT_decl_line368	.long	118                             # DW_AT_type369	.byte	7                               # Abbrev [7] 0x53:0x9 DW_TAG_variable370	.byte	0                               # DW_AT_const_value371	.byte	8                               # DW_AT_name372	.byte	1                               # DW_AT_decl_file373	.byte	6                               # DW_AT_decl_line374	.long	44                              # DW_AT_type375	.byte	8                               # Abbrev [8] 0x5c:0x19 DW_TAG_lexical_block376	.byte	1                               # DW_AT_low_pc377	.long	.Ltmp20-.Ltmp2                  # DW_AT_high_pc378	.byte	7                               # Abbrev [7] 0x62:0x9 DW_TAG_variable379	.byte	0                               # DW_AT_const_value380	.byte	9                               # DW_AT_name381	.byte	1                               # DW_AT_decl_file382	.byte	7                               # DW_AT_decl_line383	.long	44                              # DW_AT_type384	.byte	9                               # Abbrev [9] 0x6b:0x9 DW_TAG_inlined_subroutine385	.long	26                              # DW_AT_abstract_origin386	.byte	0                               # DW_AT_ranges387	.byte	1                               # DW_AT_call_file388	.byte	8                               # DW_AT_call_line389	.byte	16                              # DW_AT_call_column390	.byte	0                               # End Of Children Mark391	.byte	0                               # End Of Children Mark392	.byte	10                              # Abbrev [10] 0x76:0x5 DW_TAG_pointer_type393	.long	123                             # DW_AT_type394	.byte	10                              # Abbrev [10] 0x7b:0x5 DW_TAG_pointer_type395	.long	128                             # DW_AT_type396	.byte	4                               # Abbrev [4] 0x80:0x4 DW_TAG_base_type397	.byte	7                               # DW_AT_name398	.byte	6                               # DW_AT_encoding399	.byte	1                               # DW_AT_byte_size400	.byte	0                               # End Of Children Mark401.Ldebug_info_dwo_end0:402	.section	.debug_abbrev.dwo,"e",@progbits403	.byte	1                               # Abbreviation Code404	.byte	17                              # DW_TAG_compile_unit405	.byte	1                               # DW_CHILDREN_yes406	.byte	37                              # DW_AT_producer407	.byte	37                              # DW_FORM_strx1408	.byte	19                              # DW_AT_language409	.byte	5                               # DW_FORM_data2410	.byte	3                               # DW_AT_name411	.byte	37                              # DW_FORM_strx1412	.byte	118                             # DW_AT_dwo_name413	.byte	37                              # DW_FORM_strx1414	.byte	0                               # EOM(1)415	.byte	0                               # EOM(2)416	.byte	2                               # Abbreviation Code417	.byte	46                              # DW_TAG_subprogram418	.byte	1                               # DW_CHILDREN_yes419	.byte	110                             # DW_AT_linkage_name420	.byte	37                              # DW_FORM_strx1421	.byte	3                               # DW_AT_name422	.byte	37                              # DW_FORM_strx1423	.byte	58                              # DW_AT_decl_file424	.byte	11                              # DW_FORM_data1425	.byte	59                              # DW_AT_decl_line426	.byte	11                              # DW_FORM_data1427	.byte	73                              # DW_AT_type428	.byte	19                              # DW_FORM_ref4429	.byte	63                              # DW_AT_external430	.byte	25                              # DW_FORM_flag_present431	.byte	32                              # DW_AT_inline432	.byte	33                              # DW_FORM_implicit_const433	.byte	1434	.byte	0                               # EOM(1)435	.byte	0                               # EOM(2)436	.byte	3                               # Abbreviation Code437	.byte	5                               # DW_TAG_formal_parameter438	.byte	0                               # DW_CHILDREN_no439	.byte	3                               # DW_AT_name440	.byte	37                              # DW_FORM_strx1441	.byte	58                              # DW_AT_decl_file442	.byte	11                              # DW_FORM_data1443	.byte	59                              # DW_AT_decl_line444	.byte	11                              # DW_FORM_data1445	.byte	73                              # DW_AT_type446	.byte	19                              # DW_FORM_ref4447	.byte	0                               # EOM(1)448	.byte	0                               # EOM(2)449	.byte	4                               # Abbreviation Code450	.byte	36                              # DW_TAG_base_type451	.byte	0                               # DW_CHILDREN_no452	.byte	3                               # DW_AT_name453	.byte	37                              # DW_FORM_strx1454	.byte	62                              # DW_AT_encoding455	.byte	11                              # DW_FORM_data1456	.byte	11                              # DW_AT_byte_size457	.byte	11                              # DW_FORM_data1458	.byte	0                               # EOM(1)459	.byte	0                               # EOM(2)460	.byte	5                               # Abbreviation Code461	.byte	46                              # DW_TAG_subprogram462	.byte	1                               # DW_CHILDREN_yes463	.byte	17                              # DW_AT_low_pc464	.byte	27                              # DW_FORM_addrx465	.byte	18                              # DW_AT_high_pc466	.byte	6                               # DW_FORM_data4467	.byte	64                              # DW_AT_frame_base468	.byte	24                              # DW_FORM_exprloc469	.byte	122                             # DW_AT_call_all_calls470	.byte	25                              # DW_FORM_flag_present471	.byte	3                               # DW_AT_name472	.byte	37                              # DW_FORM_strx1473	.byte	58                              # DW_AT_decl_file474	.byte	11                              # DW_FORM_data1475	.byte	59                              # DW_AT_decl_line476	.byte	11                              # DW_FORM_data1477	.byte	73                              # DW_AT_type478	.byte	19                              # DW_FORM_ref4479	.byte	63                              # DW_AT_external480	.byte	25                              # DW_FORM_flag_present481	.byte	0                               # EOM(1)482	.byte	0                               # EOM(2)483	.byte	6                               # Abbreviation Code484	.byte	5                               # DW_TAG_formal_parameter485	.byte	0                               # DW_CHILDREN_no486	.byte	2                               # DW_AT_location487	.byte	24                              # DW_FORM_exprloc488	.byte	3                               # DW_AT_name489	.byte	37                              # DW_FORM_strx1490	.byte	58                              # DW_AT_decl_file491	.byte	11                              # DW_FORM_data1492	.byte	59                              # DW_AT_decl_line493	.byte	11                              # DW_FORM_data1494	.byte	73                              # DW_AT_type495	.byte	19                              # DW_FORM_ref4496	.byte	0                               # EOM(1)497	.byte	0                               # EOM(2)498	.byte	7                               # Abbreviation Code499	.byte	52                              # DW_TAG_variable500	.byte	0                               # DW_CHILDREN_no501	.byte	28                              # DW_AT_const_value502	.byte	13                              # DW_FORM_sdata503	.byte	3                               # DW_AT_name504	.byte	37                              # DW_FORM_strx1505	.byte	58                              # DW_AT_decl_file506	.byte	11                              # DW_FORM_data1507	.byte	59                              # DW_AT_decl_line508	.byte	11                              # DW_FORM_data1509	.byte	73                              # DW_AT_type510	.byte	19                              # DW_FORM_ref4511	.byte	0                               # EOM(1)512	.byte	0                               # EOM(2)513	.byte	8                               # Abbreviation Code514	.byte	11                              # DW_TAG_lexical_block515	.byte	1                               # DW_CHILDREN_yes516	.byte	17                              # DW_AT_low_pc517	.byte	27                              # DW_FORM_addrx518	.byte	18                              # DW_AT_high_pc519	.byte	6                               # DW_FORM_data4520	.byte	0                               # EOM(1)521	.byte	0                               # EOM(2)522	.byte	9                               # Abbreviation Code523	.byte	29                              # DW_TAG_inlined_subroutine524	.byte	0                               # DW_CHILDREN_no525	.byte	49                              # DW_AT_abstract_origin526	.byte	19                              # DW_FORM_ref4527	.byte	85                              # DW_AT_ranges528	.byte	35                              # DW_FORM_rnglistx529	.byte	88                              # DW_AT_call_file530	.byte	11                              # DW_FORM_data1531	.byte	89                              # DW_AT_call_line532	.byte	11                              # DW_FORM_data1533	.byte	87                              # DW_AT_call_column534	.byte	11                              # DW_FORM_data1535	.byte	0                               # EOM(1)536	.byte	0                               # EOM(2)537	.byte	10                              # Abbreviation Code538	.byte	15                              # DW_TAG_pointer_type539	.byte	0                               # DW_CHILDREN_no540	.byte	73                              # DW_AT_type541	.byte	19                              # DW_FORM_ref4542	.byte	0                               # EOM(1)543	.byte	0                               # EOM(2)544	.byte	0                               # EOM(3)545	.section	.debug_rnglists.dwo,"e",@progbits546	.long	.Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length547.Ldebug_list_header_start1:548	.short	5                               # Version549	.byte	8                               # Address size550	.byte	0                               # Segment selector size551	.long	1                               # Offset entry count552.Lrnglists_dwo_table_base0:553	.long	.Ldebug_ranges0-.Lrnglists_dwo_table_base0554.Ldebug_ranges0:555	.byte	4                               # DW_RLE_offset_pair556	.uleb128 .Ltmp2-.Lfunc_begin0           #   starting offset557	.uleb128 .Ltmp15-.Lfunc_begin0          #   ending offset558	.byte	4                               # DW_RLE_offset_pair559	.uleb128 .Ltmp16-.Lfunc_begin0          #   starting offset560	.uleb128 .Ltmp17-.Lfunc_begin0          #   ending offset561	.byte	0                               # DW_RLE_end_of_list562.Ldebug_list_header_end1:563	.section	.debug_addr,"",@progbits564	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution565.Ldebug_addr_start0:566	.short	5                               # DWARF version number567	.byte	8                               # Address size568	.byte	0                               # Segment selector size569.Laddr_table_base0:570	.quad	.Lfunc_begin0571	.quad	.Ltmp2572.Ldebug_addr_end0:573	.section	.debug_gnu_pubnames,"",@progbits574	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info575.LpubNames_start0:576	.short	2                               # DWARF Version577	.long	.Lcu_begin0                     # Offset of Compilation Unit Info578	.long	62                              # Compilation Unit Length579	.long	26                              # DIE offset580	.byte	48                              # Attributes: FUNCTION, EXTERNAL581	.asciz	"hotFunction"                   # External Name582	.long	48                              # DIE offset583	.byte	48                              # Attributes: FUNCTION, EXTERNAL584	.asciz	"main"                          # External Name585	.long	0                               # End Mark586.LpubNames_end0:587	.section	.debug_gnu_pubtypes,"",@progbits588	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info589.LpubTypes_start0:590	.short	2                               # DWARF Version591	.long	.Lcu_begin0                     # Offset of Compilation Unit Info592	.long	62                              # Compilation Unit Length593	.long	44                              # DIE offset594	.byte	144                             # Attributes: TYPE, STATIC595	.asciz	"int"                           # External Name596	.long	128                             # DIE offset597	.byte	144                             # Attributes: TYPE, STATIC598	.asciz	"char"                          # External Name599	.long	0                               # End Mark600.LpubTypes_end0:601	.section	.debug_gnu_pubnames,"",@progbits602	.long	.LpubNames_end1-.LpubNames_start1 # Length of Public Names Info603.LpubNames_start1:604	.short	2                               # DWARF Version605	.long	.Lcu_begin1                     # Offset of Compilation Unit Info606	.long	41                              # Compilation Unit Length607	.long	0                               # End Mark608.LpubNames_end1:609	.section	.debug_gnu_pubtypes,"",@progbits610	.long	.LpubTypes_end1-.LpubTypes_start1 # Length of Public Types Info611.LpubTypes_start1:612	.short	2                               # DWARF Version613	.long	.Lcu_begin1                     # Offset of Compilation Unit Info614	.long	41                              # Compilation Unit Length615	.long	0                               # End Mark616.LpubTypes_end1:617	.ident	"clang version 16.0.6"618	.ident	"clang version 16.0.6"619	.section	.GCC.command.line,"MS",@progbits,1620	.zero	1621	.ascii	""622	.zero	1623	.ascii	""624	.zero	1625	.section	.debug_gnu_pubtypes,"",@progbits626	.section	".note.GNU-stack","",@progbits627	.addrsig628	.section	.debug_line,"",@progbits629.Lline_table_start0:630