brintos

brintos / llvm-project-archived public Read only

0
0
Text · 21.8 KiB · 12111e8 Raw
596 lines · plain
1# REQUIRES: x86-registered-target2 3# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o4# RUN: llvm-symbolizer --obj=%t.o 0x30 0x20 0x6c 0xf | FileCheck %s5 6# CHECK:      main7# CHECK-NEXT: llvm-symbolizer-bbsections-test.c:138# CHECK:      g9# CHECK-NEXT: llvm-symbolizer-bbsections-test.c:510# CHECK:      main11# CHECK-NEXT: llvm-symbolizer-bbsections-test.c:1512# CHECK:      main13# CHECK-NEXT: llvm-symbolizer-bbsections-test.c:1814# How to generate this file:15#  int f(int a) {16#    return a + 1;17#  }18#19#  int g(int a) {20#    return a + 2;21#  }22#23#  int h(int a) {24#    return a + 3;25#  }26#27#  // Use simple control flow to generate lots of basic block sections.28#  int main(int argc, char *argv[]) {29#    if (argc > 10)30#      return f(argc);31#    else if (argc > 8)32#      return g(argc);33#    else if (argc > 4)34#      return h(argc);35#    return 0;36#  }37#38#  $ clang -S -fbasic-block-sections=all llvm-symbolizer-bbsections-test.cc39#  Manually reororder the sections to place them in this order:40#   _Z1fi41#   main.__part.442#   _Z1gi43#   main44#   _Z1hi45#   main.__part.546#   (rest)47#  Strip the .section .text directives to have all the functions in the same48#  section.49#  This ensures the basic blocks are reordered non-contiguous exactly like50#  how a linker would do it.51	.text52	.file	"llvm-symbolizer-bbsections-test.c"53	#.section .text._Z1fi,"ax",@progbits54	.globl	_Z1fi                           # -- Begin function _Z1fi55	.p2align	4, 0x9056	.type	_Z1fi,@function57_Z1fi:                                  # @_Z1fi58.Lfunc_begin0:59	.file	1 "Examples" "llvm-symbolizer-bbsections-test.c"60	.loc	1 1 0                           # llvm-symbolizer-bbsections-test.c:1:061	.cfi_startproc62# %bb.0:63	pushq	%rbp64	.cfi_def_cfa_offset 1665	.cfi_offset %rbp, -1666	movq	%rsp, %rbp67	.cfi_def_cfa_register %rbp68	movl	%edi, -4(%rbp)69.Ltmp0:70	.loc	1 2 10 prologue_end             # llvm-symbolizer-bbsections-test.c:2:1071	movl	-4(%rbp), %eax72	.loc	1 2 12 is_stmt 0                # llvm-symbolizer-bbsections-test.c:2:1273	addl	$1, %eax74	.loc	1 2 3                           # llvm-symbolizer-bbsections-test.c:2:375	popq	%rbp76	.cfi_def_cfa %rsp, 877	retq78.Ltmp1:79	.cfi_endproc80.Lfunc_end0:81	.size	_Z1fi, .Lfunc_end0-_Z1fi82                                        # -- End function83	#.section text.main,"ax",@progbits,unique,484main.__part.4:85	.cfi_startproc86	.cfi_def_cfa %rbp, 1687	.cfi_offset %rbp, -1688	.loc	1 18 17 is_stmt 1               # llvm-symbolizer-bbsections-test.c:18:1789	cmpl	$4, -8(%rbp)90.Ltmp9:91	.loc	1 18 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:18:1292	jle	main.__part.693	jmp	main.__part.594.LBB_END3_4:95	.size	main.__part.4, .LBB_END3_4-main.__part.496	.cfi_endproc97 98	#.section .text._Z1gi,"ax",@progbits99	.globl	_Z1gi                           # -- Begin function _Z1gi100	.p2align	4, 0x90101	.type	_Z1gi,@function102_Z1gi:                                  # @_Z1gi103.Lfunc_begin1:104	.loc	1 5 0 is_stmt 1                 # llvm-symbolizer-bbsections-test.c:5:0105	.cfi_startproc106# %bb.0:107	pushq	%rbp108	.cfi_def_cfa_offset 16109	.cfi_offset %rbp, -16110	movq	%rsp, %rbp111	.cfi_def_cfa_register %rbp112	movl	%edi, -4(%rbp)113.Ltmp2:114	.loc	1 6 10 prologue_end             # llvm-symbolizer-bbsections-test.c:6:10115	movl	-4(%rbp), %eax116	.loc	1 6 12 is_stmt 0                # llvm-symbolizer-bbsections-test.c:6:12117	addl	$2, %eax118	.loc	1 6 3                           # llvm-symbolizer-bbsections-test.c:6:3119	popq	%rbp120	.cfi_def_cfa %rsp, 8121	retq122.Ltmp3:123	.cfi_endproc124.Lfunc_end1:125	.size	_Z1gi, .Lfunc_end1-_Z1gi126                                        # -- End function127	#.section .text.main,"ax",@progbits128	.globl	main                            # -- Begin function main129	.p2align	4, 0x90130	.type	main,@function131main:                                   # @main132.Lfunc_begin3:133	.loc	1 13 0 is_stmt 1                # llvm-symbolizer-bbsections-test.c:13:0134	.cfi_startproc135# %bb.0:136	pushq	%rbp137	.cfi_def_cfa_offset 16138	.cfi_offset %rbp, -16139	movq	%rsp, %rbp140	.cfi_def_cfa_register %rbp141	subq	$16, %rsp142	movl	$0, -4(%rbp)143	movl	%edi, -8(%rbp)144	movq	%rsi, -16(%rbp)145.Ltmp6:146	.loc	1 14 12 prologue_end            # llvm-symbolizer-bbsections-test.c:14:12147	cmpl	$10, -8(%rbp)148.Ltmp7:149	.loc	1 14 7 is_stmt 0                # llvm-symbolizer-bbsections-test.c:14:7150	jle	main.__part.2151	jmp	main.__part.1152	.cfi_endproc153        #.section .text._Z1hi,"ax",@progbits154	.globl	_Z1hi                           # -- Begin function _Z1hi155	.p2align	4, 0x90156	.type	_Z1hi,@function157_Z1hi:                                  # @_Z1hi158.Lfunc_begin2:159	.loc	1 9 0 is_stmt 1                 # llvm-symbolizer-bbsections-test.c:9:0160	.cfi_startproc161# %bb.0:162	pushq	%rbp163	.cfi_def_cfa_offset 16164	.cfi_offset %rbp, -16165	movq	%rsp, %rbp166	.cfi_def_cfa_register %rbp167	movl	%edi, -4(%rbp)168.Ltmp4:169	.loc	1 10 10 prologue_end            # llvm-symbolizer-bbsections-test.c:10:10170	movl	-4(%rbp), %eax171	.loc	1 10 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:10:12172	addl	$3, %eax173	.loc	1 10 3                          # llvm-symbolizer-bbsections-test.c:10:3174	popq	%rbp175	.cfi_def_cfa %rsp, 8176	retq177.Ltmp5:178	.cfi_endproc179.Lfunc_end2:180	.size	_Z1hi, .Lfunc_end2-_Z1hi181                                        # -- End function182	#.section .text.main,"ax",@progbits,unique,5183main.__part.5:184	.cfi_startproc185	.cfi_def_cfa %rbp, 16186	.cfi_offset %rbp, -16187	.loc	1 19 14 is_stmt 1               # llvm-symbolizer-bbsections-test.c:19:14188	movl	-8(%rbp), %edi189	.loc	1 19 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:19:12190	callq	_Z1hi191	.loc	1 19 5                          # llvm-symbolizer-bbsections-test.c:19:5192	movl	%eax, -4(%rbp)193	jmp	main.__part.9194.Ltmp10:195.LBB_END3_5:196	.size	main.__part.5, .LBB_END3_5-main.__part.5197	.cfi_endproc198	#.section .text.main,"ax",@progbits,unique,1199main.__part.1:200	.cfi_startproc201	.cfi_def_cfa %rbp, 16202	.cfi_offset %rbp, -16203	.loc	1 15 14 is_stmt 1               # llvm-symbolizer-bbsections-test.c:15:14204	movl	-8(%rbp), %edi205	.loc	1 15 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:15:12206	callq	_Z1fi207	.loc	1 15 5                          # llvm-symbolizer-bbsections-test.c:15:5208	movl	%eax, -4(%rbp)209	jmp	main.__part.9210.LBB_END3_1:211	.size	main.__part.1, .LBB_END3_1-main.__part.1212	.cfi_endproc213	#.section .text.main,"ax",@progbits,unique,2214main.__part.2:215	.cfi_startproc216	.cfi_def_cfa %rbp, 16217	.cfi_offset %rbp, -16218	.loc	1 16 17 is_stmt 1               # llvm-symbolizer-bbsections-test.c:16:17219	cmpl	$8, -8(%rbp)220.Ltmp8:221	.loc	1 16 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:16:12222	jle	main.__part.4223	jmp	main.__part.3224.LBB_END3_2:225	.size	main.__part.2, .LBB_END3_2-main.__part.2226	.cfi_endproc227	#.section .text.main,"ax",@progbits,unique,3228main.__part.3:229	.cfi_startproc230	.cfi_def_cfa %rbp, 16231	.cfi_offset %rbp, -16232	.loc	1 17 14 is_stmt 1               # llvm-symbolizer-bbsections-test.c:17:14233	movl	-8(%rbp), %edi234	.loc	1 17 12 is_stmt 0               # llvm-symbolizer-bbsections-test.c:17:12235	callq	_Z1gi236	.loc	1 17 5                          # llvm-symbolizer-bbsections-test.c:17:5237	movl	%eax, -4(%rbp)238	jmp	main.__part.9239.LBB_END3_3:240	.size	main.__part.3, .LBB_END3_3-main.__part.3241	.cfi_endproc242	#.section .text.main,"ax",@progbits,unique,6243main.__part.6:244	.cfi_startproc245	.cfi_def_cfa %rbp, 16246	.cfi_offset %rbp, -16247	.loc	1 0 5                           # llvm-symbolizer-bbsections-test.c:0:5248	jmp	main.__part.7249	jmp	main.__part.7250.LBB_END3_6:251	.size	main.__part.6, .LBB_END3_6-main.__part.6252	.cfi_endproc253	#.section .text.main,"ax",@progbits,unique,7254main.__part.7:255	.cfi_startproc256	.cfi_def_cfa %rbp, 16257	.cfi_offset %rbp, -16258	jmp	main.__part.8259	jmp	main.__part.8260.LBB_END3_7:261	.size	main.__part.7, .LBB_END3_7-main.__part.7262	.cfi_endproc263	#.section .text.main,"ax",@progbits,unique,8264main.__part.8:265	.cfi_startproc266	.cfi_def_cfa %rbp, 16267	.cfi_offset %rbp, -16268	.loc	1 20 3 is_stmt 1                # llvm-symbolizer-bbsections-test.c:20:3269	movl	$0, -4(%rbp)270	jmp	main.__part.9271.LBB_END3_8:272	.size	main.__part.8, .LBB_END3_8-main.__part.8273	.cfi_endproc274	#.section .text.main,"ax",@progbits,unique,9275main.__part.9:276	.cfi_startproc277	.cfi_def_cfa %rbp, 16278	.cfi_offset %rbp, -16279	.loc	1 21 1                          # llvm-symbolizer-bbsections-test.c:21:1280	movl	-4(%rbp), %eax281	addq	$16, %rsp282	popq	%rbp283	.cfi_def_cfa %rsp, 8284	retq285.Ltmp11:286.LBB_END3_9:287	.size	main.__part.9, .LBB_END3_9-main.__part.9288	.cfi_endproc289	#.section .text.main,"ax",@progbits290.Lfunc_end3:291	.size	main, .Lfunc_end3-main292                                        # -- End function293	.section	.debug_abbrev,"",@progbits294	.byte	1                               # Abbreviation Code295	.byte	17                              # DW_TAG_compile_unit296	.byte	1                               # DW_CHILDREN_yes297	.byte	37                              # DW_AT_producer298	.byte	14                              # DW_FORM_strp299	.byte	19                              # DW_AT_language300	.byte	5                               # DW_FORM_data2301	.byte	3                               # DW_AT_name302	.byte	14                              # DW_FORM_strp303	.byte	16                              # DW_AT_stmt_list304	.byte	23                              # DW_FORM_sec_offset305	.byte	27                              # DW_AT_comp_dir306	.byte	14                              # DW_FORM_strp307	.byte	17                              # DW_AT_low_pc308	.byte	1                               # DW_FORM_addr309	.byte	85                              # DW_AT_ranges310	.byte	23                              # DW_FORM_sec_offset311	.byte	0                               # EOM(1)312	.byte	0                               # EOM(2)313	.byte	2                               # Abbreviation Code314	.byte	46                              # DW_TAG_subprogram315	.byte	1                               # DW_CHILDREN_yes316	.byte	17                              # DW_AT_low_pc317	.byte	1                               # DW_FORM_addr318	.byte	18                              # DW_AT_high_pc319	.byte	6                               # DW_FORM_data4320	.byte	64                              # DW_AT_frame_base321	.byte	24                              # DW_FORM_exprloc322	.byte	110                             # DW_AT_linkage_name323	.byte	14                              # DW_FORM_strp324	.byte	3                               # DW_AT_name325	.byte	14                              # DW_FORM_strp326	.byte	58                              # DW_AT_decl_file327	.byte	11                              # DW_FORM_data1328	.byte	59                              # DW_AT_decl_line329	.byte	11                              # DW_FORM_data1330	.byte	73                              # DW_AT_type331	.byte	19                              # DW_FORM_ref4332	.byte	63                              # DW_AT_external333	.byte	25                              # DW_FORM_flag_present334	.byte	0                               # EOM(1)335	.byte	0                               # EOM(2)336	.byte	3                               # Abbreviation Code337	.byte	5                               # DW_TAG_formal_parameter338	.byte	0                               # DW_CHILDREN_no339	.byte	2                               # DW_AT_location340	.byte	24                              # DW_FORM_exprloc341	.byte	3                               # DW_AT_name342	.byte	14                              # DW_FORM_strp343	.byte	58                              # DW_AT_decl_file344	.byte	11                              # DW_FORM_data1345	.byte	59                              # DW_AT_decl_line346	.byte	11                              # DW_FORM_data1347	.byte	73                              # DW_AT_type348	.byte	19                              # DW_FORM_ref4349	.byte	0                               # EOM(1)350	.byte	0                               # EOM(2)351	.byte	4                               # Abbreviation Code352	.byte	46                              # DW_TAG_subprogram353	.byte	1                               # DW_CHILDREN_yes354	.byte	85                              # DW_AT_ranges355	.byte	23                              # DW_FORM_sec_offset356	.byte	64                              # DW_AT_frame_base357	.byte	24                              # DW_FORM_exprloc358	.byte	3                               # DW_AT_name359	.byte	14                              # DW_FORM_strp360	.byte	58                              # DW_AT_decl_file361	.byte	11                              # DW_FORM_data1362	.byte	59                              # DW_AT_decl_line363	.byte	11                              # DW_FORM_data1364	.byte	73                              # DW_AT_type365	.byte	19                              # DW_FORM_ref4366	.byte	63                              # DW_AT_external367	.byte	25                              # DW_FORM_flag_present368	.byte	0                               # EOM(1)369	.byte	0                               # EOM(2)370	.byte	5                               # Abbreviation Code371	.byte	36                              # DW_TAG_base_type372	.byte	0                               # DW_CHILDREN_no373	.byte	3                               # DW_AT_name374	.byte	14                              # DW_FORM_strp375	.byte	62                              # DW_AT_encoding376	.byte	11                              # DW_FORM_data1377	.byte	11                              # DW_AT_byte_size378	.byte	11                              # DW_FORM_data1379	.byte	0                               # EOM(1)380	.byte	0                               # EOM(2)381	.byte	6                               # Abbreviation Code382	.byte	15                              # DW_TAG_pointer_type383	.byte	0                               # DW_CHILDREN_no384	.byte	73                              # DW_AT_type385	.byte	19                              # DW_FORM_ref4386	.byte	0                               # EOM(1)387	.byte	0                               # EOM(2)388	.byte	0                               # EOM(3)389	.section	.debug_info,"",@progbits390.Lcu_begin0:391	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit392.Ldebug_info_start0:393	.short	4                               # DWARF version number394	.long	.debug_abbrev                   # Offset Into Abbrev. Section395	.byte	8                               # Address Size (in bytes)396	.byte	1                               # Abbrev [1] 0xb:0xea DW_TAG_compile_unit397	.long	.Linfo_string0                  # DW_AT_producer398	.short	33                              # DW_AT_language399	.long	.Linfo_string1                  # DW_AT_name400	.long	.Lline_table_start0             # DW_AT_stmt_list401	.long	.Linfo_string2                  # DW_AT_comp_dir402	.quad	0                               # DW_AT_low_pc403	.long	.Ldebug_ranges1                 # DW_AT_ranges404	.byte	2                               # Abbrev [2] 0x2a:0x2c DW_TAG_subprogram405	.quad	.Lfunc_begin0                   # DW_AT_low_pc406	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc407	.byte	1                               # DW_AT_frame_base408	.byte	86409	.long	.Linfo_string3                  # DW_AT_linkage_name410	.long	.Linfo_string4                  # DW_AT_name411	.byte	1                               # DW_AT_decl_file412	.byte	1                               # DW_AT_decl_line413	.long	220                             # DW_AT_type414                                        # DW_AT_external415	.byte	3                               # Abbrev [3] 0x47:0xe DW_TAG_formal_parameter416	.byte	2                               # DW_AT_location417	.byte	145418	.byte	124419	.long	.Linfo_string11                 # DW_AT_name420	.byte	1                               # DW_AT_decl_file421	.byte	1                               # DW_AT_decl_line422	.long	220                             # DW_AT_type423	.byte	0                               # End Of Children Mark424	.byte	2                               # Abbrev [2] 0x56:0x2c DW_TAG_subprogram425	.quad	.Lfunc_begin1                   # DW_AT_low_pc426	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc427	.byte	1                               # DW_AT_frame_base428	.byte	86429	.long	.Linfo_string6                  # DW_AT_linkage_name430	.long	.Linfo_string7                  # DW_AT_name431	.byte	1                               # DW_AT_decl_file432	.byte	5                               # DW_AT_decl_line433	.long	220                             # DW_AT_type434                                        # DW_AT_external435	.byte	3                               # Abbrev [3] 0x73:0xe DW_TAG_formal_parameter436	.byte	2                               # DW_AT_location437	.byte	145438	.byte	124439	.long	.Linfo_string11                 # DW_AT_name440	.byte	1                               # DW_AT_decl_file441	.byte	5                               # DW_AT_decl_line442	.long	220                             # DW_AT_type443	.byte	0                               # End Of Children Mark444	.byte	2                               # Abbrev [2] 0x82:0x2c DW_TAG_subprogram445	.quad	.Lfunc_begin2                   # DW_AT_low_pc446	.long	.Lfunc_end2-.Lfunc_begin2       # DW_AT_high_pc447	.byte	1                               # DW_AT_frame_base448	.byte	86449	.long	.Linfo_string8                  # DW_AT_linkage_name450	.long	.Linfo_string9                  # DW_AT_name451	.byte	1                               # DW_AT_decl_file452	.byte	9                               # DW_AT_decl_line453	.long	220                             # DW_AT_type454                                        # DW_AT_external455	.byte	3                               # Abbrev [3] 0x9f:0xe DW_TAG_formal_parameter456	.byte	2                               # DW_AT_location457	.byte	145458	.byte	124459	.long	.Linfo_string11                 # DW_AT_name460	.byte	1                               # DW_AT_decl_file461	.byte	9                               # DW_AT_decl_line462	.long	220                             # DW_AT_type463	.byte	0                               # End Of Children Mark464	.byte	4                               # Abbrev [4] 0xae:0x2e DW_TAG_subprogram465	.long	.Ldebug_ranges0                 # DW_AT_ranges466	.byte	1                               # DW_AT_frame_base467	.byte	86468	.long	.Linfo_string10                 # DW_AT_name469	.byte	1                               # DW_AT_decl_file470	.byte	13                              # DW_AT_decl_line471	.long	220                             # DW_AT_type472                                        # DW_AT_external473	.byte	3                               # Abbrev [3] 0xbf:0xe DW_TAG_formal_parameter474	.byte	2                               # DW_AT_location475	.byte	145476	.byte	120477	.long	.Linfo_string12                 # DW_AT_name478	.byte	1                               # DW_AT_decl_file479	.byte	13                              # DW_AT_decl_line480	.long	220                             # DW_AT_type481	.byte	3                               # Abbrev [3] 0xcd:0xe DW_TAG_formal_parameter482	.byte	2                               # DW_AT_location483	.byte	145484	.byte	112485	.long	.Linfo_string13                 # DW_AT_name486	.byte	1                               # DW_AT_decl_file487	.byte	13                              # DW_AT_decl_line488	.long	227                             # DW_AT_type489	.byte	0                               # End Of Children Mark490	.byte	5                               # Abbrev [5] 0xdc:0x7 DW_TAG_base_type491	.long	.Linfo_string5                  # DW_AT_name492	.byte	5                               # DW_AT_encoding493	.byte	4                               # DW_AT_byte_size494	.byte	6                               # Abbrev [6] 0xe3:0x5 DW_TAG_pointer_type495	.long	232                             # DW_AT_type496	.byte	6                               # Abbrev [6] 0xe8:0x5 DW_TAG_pointer_type497	.long	237                             # DW_AT_type498	.byte	5                               # Abbrev [5] 0xed:0x7 DW_TAG_base_type499	.long	.Linfo_string14                 # DW_AT_name500	.byte	6                               # DW_AT_encoding501	.byte	1                               # DW_AT_byte_size502	.byte	0                               # End Of Children Mark503.Ldebug_info_end0:504	.section	.debug_ranges,"",@progbits505.Ldebug_ranges0:506	.quad	main.__part.1507	.quad	.LBB_END3_1508	.quad	main.__part.2509	.quad	.LBB_END3_2510	.quad	main.__part.3511	.quad	.LBB_END3_3512	.quad	main.__part.4513	.quad	.LBB_END3_4514	.quad	main.__part.5515	.quad	.LBB_END3_5516	.quad	main.__part.6517	.quad	.LBB_END3_6518	.quad	main.__part.7519	.quad	.LBB_END3_7520	.quad	main.__part.8521	.quad	.LBB_END3_8522	.quad	main.__part.9523	.quad	.LBB_END3_9524	.quad	.Lfunc_begin3525	.quad	.Lfunc_end3526	.quad	0527	.quad	0528.Ldebug_ranges1:529	.quad	.Lfunc_begin0530	.quad	.Lfunc_end0531	.quad	.Lfunc_begin1532	.quad	.Lfunc_end1533	.quad	.Lfunc_begin2534	.quad	.Lfunc_end2535	.quad	main.__part.1536	.quad	.LBB_END3_1537	.quad	main.__part.2538	.quad	.LBB_END3_2539	.quad	main.__part.3540	.quad	.LBB_END3_3541	.quad	main.__part.4542	.quad	.LBB_END3_4543	.quad	main.__part.5544	.quad	.LBB_END3_5545	.quad	main.__part.6546	.quad	.LBB_END3_6547	.quad	main.__part.7548	.quad	.LBB_END3_7549	.quad	main.__part.8550	.quad	.LBB_END3_8551	.quad	main.__part.9552	.quad	.LBB_END3_9553	.quad	.Lfunc_begin3554	.quad	.Lfunc_end3555	.quad	0556	.quad	0557	.section	.debug_str,"MS",@progbits,1558.Linfo_string0:559	.asciz	"clang version 12.0.0 (git@github.com:llvm/llvm-project.git bfa6ca07a8cda0ab889b7fee0b914907ce594e11)" # string offset=0560.Linfo_string1:561	.asciz	"llvm-symbolizer-bbsections-test.c" # string offset=101562.Linfo_string2:563	.asciz	"Examples" # string offset=135564.Linfo_string3:565	.asciz	"_Z1fi"                         # string offset=182566.Linfo_string4:567	.asciz	"f"                             # string offset=188568.Linfo_string5:569	.asciz	"int"                           # string offset=190570.Linfo_string6:571	.asciz	"_Z1gi"                         # string offset=194572.Linfo_string7:573	.asciz	"g"                             # string offset=200574.Linfo_string8:575	.asciz	"_Z1hi"                         # string offset=202576.Linfo_string9:577	.asciz	"h"                             # string offset=208578.Linfo_string10:579	.asciz	"main"                          # string offset=210580.Linfo_string11:581	.asciz	"a"                             # string offset=215582.Linfo_string12:583	.asciz	"argc"                          # string offset=217584.Linfo_string13:585	.asciz	"argv"                          # string offset=222586.Linfo_string14:587	.asciz	"char"                          # string offset=227588	.ident	"clang version 12.0.0 (git@github.com:llvm/llvm-project.git bfa6ca07a8cda0ab889b7fee0b914907ce594e11)"589	.section	".note.GNU-stack","",@progbits590	.addrsig591	.addrsig_sym _Z1fi592	.addrsig_sym _Z1gi593	.addrsig_sym _Z1hi594	.section	.debug_line,"",@progbits595.Lline_table_start0:596