brintos

brintos / llvm-project-archived public Read only

0
0
Text · 26.9 KiB · 53db9d8 Raw
681 lines · plain
1// Test various single-location and location list formats.2// REQUIRES: aarch64-registered-target3 4// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-android -o %t.o %s5// RUN: echo 'FRAME %t.o 0x4'  | llvm-symbolizer | FileCheck %s --check-prefix=CHECK06// RUN: echo 'FRAME %t.o 0x24' | llvm-symbolizer | FileCheck %s --check-prefix=CHECK17// RUN: echo 'FRAME %t.o 0x44' | llvm-symbolizer | FileCheck %s --check-prefix=CHECK28// RUN: echo 'FRAME %t.o 0x68' | llvm-symbolizer | FileCheck %s --check-prefix=CHECK39// RUN: echo 'FRAME %t.o 0x94' | llvm-symbolizer | FileCheck %s --check-prefix=CHECK410 11// Built from the following source with12// clang -target aarch64-linux-android -O3 -g -S13// and edited to replace DW_OP_fbreg with DW_OP_breg29 in func00 (search for EDIT below).14//15// void use(void *);16// void usei(int);17// void func00() {18//   int x;19//   use(&x);20// }21//22// void func0() {23//   int x;24//   use(&x);25// }26//27// int func1() {28//   int x;29//   use(&x);30//   return x;31// }32//33// int func2() {34//   int x = 1;35//   use(&x);36//   return x;37// }38//39// int func3(int b) {40//   int x = b;41//   usei(x);42//   return x;43// }44 45// DW_AT_location        (DW_OP_breg29 W29-4)46// CHECK0:      func0047// CHECK0-NEXT: x48// CHECK0-NEXT: {{.*}}dbg.c:449// CHECK0-NEXT: -4 4 ??50 51// DW_AT_location        (DW_OP_fbreg -4)52// CHECK1:      func0{{$}}53// CHECK1-NEXT: x54// CHECK1-NEXT: {{.*}}dbg.c:955// CHECK1-NEXT: -4 4 ??56 57// DW_AT_location        (0x00000000: 58//   [0x000000000000004c, 0x0000000000000058): DW_OP_breg29 W29-459//   [0x0000000000000058, 0x000000000000005c): DW_OP_reg0 W0)60// CHECK2:      func161// CHECK2-NEXT: x62// CHECK2-NEXT: {{.*}}dbg.c:1463// CHECK2-NEXT: -4 4 ??64 65// DW_AT_location        (0x00000037: 66//    [0x0000000000000078, 0x0000000000000080): DW_OP_consts +1, DW_OP_stack_value67//    [0x0000000000000080, 0x0000000000000088): DW_OP_breg29 W29-468//    [0x0000000000000088, 0x000000000000008c): DW_OP_reg0 W0)69// CHECK3:      func270// CHECK3-NEXT: x71// CHECK3-NEXT: {{.*}}dbg.c:2072// CHECK3-NEXT: -4 4 ??73 74// No stack location.75// DW_AT_location        (0x00000083: 76//     [0x0000000000000090, 0x00000000000000a0): DW_OP_reg0 W077//     [0x00000000000000a0, 0x00000000000000ac): DW_OP_reg19 W19)78// CHECK4:      func379// CHECK4-NEXT: b80// CHECK4-NEXT: {{.*}}dbg.c:2581// CHECK4-NEXT: ?? 4 ??82// CHECK4-NEXT: func383// CHECK4-NEXT: x84// CHECK4-NEXT: {{.*}}dbg.c:2685// CHECK4-NEXT: ?? 4 ??86//87	.text88	.file	"dbg.c"89	.globl	func00                  // -- Begin function func0090	.p2align	291	.type	func00,@function92func00:                                 // @func0093.Lfunc_begin0:94	.file	1 "/tmp" "dbg.c"95	.loc	1 3 0                   // /tmp/dbg.c:3:096	.cfi_sections .debug_frame97	.cfi_startproc98// %bb.0:                               // %entry99	sub	sp, sp, #32             // =32100	stp	x29, x30, [sp, #16]     // 16-byte Folded Spill101	add	x29, sp, #16            // =16102	.cfi_def_cfa w29, 16103	.cfi_offset w30, -8104	.cfi_offset w29, -16105.Ltmp0:106	//DEBUG_VALUE: func00:x <- [DW_OP_constu 4, DW_OP_minus, DW_OP_deref] $fp107	.loc	1 5 3 prologue_end      // /tmp/dbg.c:5:3108	sub	x0, x29, #4             // =4109	bl	use110.Ltmp1:111	.loc	1 6 1                   // /tmp/dbg.c:6:1112	ldp	x29, x30, [sp, #16]     // 16-byte Folded Reload113	add	sp, sp, #32             // =32114	ret115.Ltmp2:116.Lfunc_end0:117	.size	func00, .Lfunc_end0-func00118	.cfi_endproc119                                        // -- End function120	.globl	func0                   // -- Begin function func0121	.p2align	2122	.type	func0,@function123func0:                                  // @func0124.Lfunc_begin1:125	.loc	1 8 0                   // /tmp/dbg.c:8:0126	.cfi_startproc127// %bb.0:                               // %entry128	sub	sp, sp, #32             // =32129	stp	x29, x30, [sp, #16]     // 16-byte Folded Spill130	add	x29, sp, #16            // =16131	.cfi_def_cfa w29, 16132	.cfi_offset w30, -8133	.cfi_offset w29, -16134.Ltmp3:135	//DEBUG_VALUE: func0:x <- [DW_OP_constu 4, DW_OP_minus, DW_OP_deref] $fp136	.loc	1 10 3 prologue_end     // /tmp/dbg.c:10:3137	sub	x0, x29, #4             // =4138	bl	use139.Ltmp4:140	.loc	1 11 1                  // /tmp/dbg.c:11:1141	ldp	x29, x30, [sp, #16]     // 16-byte Folded Reload142	add	sp, sp, #32             // =32143	ret144.Ltmp5:145.Lfunc_end1:146	.size	func0, .Lfunc_end1-func0147	.cfi_endproc148                                        // -- End function149	.globl	func1                   // -- Begin function func1150	.p2align	2151	.type	func1,@function152func1:                                  // @func1153.Lfunc_begin2:154	.loc	1 13 0                  // /tmp/dbg.c:13:0155	.cfi_startproc156// %bb.0:                               // %entry157	sub	sp, sp, #32             // =32158	stp	x29, x30, [sp, #16]     // 16-byte Folded Spill159	add	x29, sp, #16            // =16160	.cfi_def_cfa w29, 16161	.cfi_offset w30, -8162	.cfi_offset w29, -16163.Ltmp6:164	//DEBUG_VALUE: func1:x <- [DW_OP_constu 4, DW_OP_minus, DW_OP_deref] $fp165	.loc	1 15 3 prologue_end     // /tmp/dbg.c:15:3166	sub	x0, x29, #4             // =4167	bl	use168.Ltmp7:169	.loc	1 16 10                 // /tmp/dbg.c:16:10170	ldur	w0, [x29, #-4]171.Ltmp8:172	//DEBUG_VALUE: func1:x <- $w0173	.loc	1 16 3 is_stmt 0        // /tmp/dbg.c:16:3174	ldp	x29, x30, [sp, #16]     // 16-byte Folded Reload175	add	sp, sp, #32             // =32176	ret177.Ltmp9:178.Lfunc_end2:179	.size	func1, .Lfunc_end2-func1180	.cfi_endproc181                                        // -- End function182	.globl	func2                   // -- Begin function func2183	.p2align	2184	.type	func2,@function185func2:                                  // @func2186.Lfunc_begin3:187	.loc	1 19 0 is_stmt 1        // /tmp/dbg.c:19:0188	.cfi_startproc189// %bb.0:                               // %entry190	sub	sp, sp, #32             // =32191	stp	x29, x30, [sp, #16]     // 16-byte Folded Spill192	add	x29, sp, #16            // =16193	.cfi_def_cfa w29, 16194	.cfi_offset w30, -8195	.cfi_offset w29, -16196	mov	w8, #1197.Ltmp10:198	//DEBUG_VALUE: func2:x <- 1199	.loc	1 21 3 prologue_end     // /tmp/dbg.c:21:3200	sub	x0, x29, #4             // =4201	.loc	1 20 7                  // /tmp/dbg.c:20:7202	stur	w8, [x29, #-4]203.Ltmp11:204	//DEBUG_VALUE: func2:x <- [DW_OP_constu 4, DW_OP_minus, DW_OP_deref] $fp205	.loc	1 21 3                  // /tmp/dbg.c:21:3206	bl	use207.Ltmp12:208	.loc	1 22 10                 // /tmp/dbg.c:22:10209	ldur	w0, [x29, #-4]210.Ltmp13:211	//DEBUG_VALUE: func2:x <- $w0212	.loc	1 22 3 is_stmt 0        // /tmp/dbg.c:22:3213	ldp	x29, x30, [sp, #16]     // 16-byte Folded Reload214	add	sp, sp, #32             // =32215	ret216.Ltmp14:217.Lfunc_end3:218	.size	func2, .Lfunc_end3-func2219	.cfi_endproc220                                        // -- End function221	.globl	func3                   // -- Begin function func3222	.p2align	2223	.type	func3,@function224func3:                                  // @func3225.Lfunc_begin4:226	.loc	1 25 0 is_stmt 1        // /tmp/dbg.c:25:0227	.cfi_startproc228// %bb.0:                               // %entry229	//DEBUG_VALUE: func3:b <- $w0230	stp	x29, x30, [sp, #-32]!   // 16-byte Folded Spill231	str	x19, [sp, #16]          // 8-byte Folded Spill232	mov	x29, sp233	.cfi_def_cfa w29, 32234	.cfi_offset w19, -16235	.cfi_offset w30, -24236	.cfi_offset w29, -32237.Ltmp15:238	//DEBUG_VALUE: func3:x <- $w0239	mov	w19, w0240.Ltmp16:241	//DEBUG_VALUE: func3:x <- $w19242	//DEBUG_VALUE: func3:b <- $w19243	.loc	1 27 3 prologue_end     // /tmp/dbg.c:27:3244	bl	usei245.Ltmp17:246	.loc	1 28 3                  // /tmp/dbg.c:28:3247	mov	w0, w19248	ldr	x19, [sp, #16]          // 8-byte Folded Reload249.Ltmp18:250	ldp	x29, x30, [sp], #32     // 16-byte Folded Reload251	ret252.Ltmp19:253.Lfunc_end4:254	.size	func3, .Lfunc_end4-func3255	.cfi_endproc256                                        // -- End function257	.section	.debug_str,"MS",@progbits,1258.Linfo_string0:259	.asciz	"clang version 10.0.0 (git@github.com:llvm/llvm-project.git 092ef9c6cf4678d2b8df7738110ecd405fe1fe3d)" // string offset=0260.Linfo_string1:261	.asciz	"/tmp/dbg.c"            // string offset=101262.Linfo_string2:263	.asciz	"/code/build-llvm-cmake" // string offset=112264.Linfo_string3:265	.asciz	"use"                   // string offset=135266.Linfo_string4:267	.asciz	"usei"                  // string offset=139268.Linfo_string5:269	.asciz	"int"                   // string offset=144270.Linfo_string6:271	.asciz	"func00"                // string offset=148272.Linfo_string7:273	.asciz	"func0"                 // string offset=155274.Linfo_string8:275	.asciz	"func1"                 // string offset=161276.Linfo_string9:277	.asciz	"func2"                 // string offset=167278.Linfo_string10:279	.asciz	"func3"                 // string offset=173280.Linfo_string11:281	.asciz	"x"                     // string offset=179282.Linfo_string12:283	.asciz	"b"                     // string offset=181284	.section	.debug_loc,"",@progbits285.Ldebug_loc0:286	.xword	.Ltmp6-.Lfunc_begin0287	.xword	.Ltmp8-.Lfunc_begin0288	.hword	2                       // Loc expr size289	.byte	141                     // DW_OP_breg29290	.byte	124                     // -4291	.xword	.Ltmp8-.Lfunc_begin0292	.xword	.Lfunc_end2-.Lfunc_begin0293	.hword	1                       // Loc expr size294	.byte	80                      // DW_OP_reg0295	.xword	0296	.xword	0297.Ldebug_loc1:298	.xword	.Ltmp10-.Lfunc_begin0299	.xword	.Ltmp11-.Lfunc_begin0300	.hword	3                       // Loc expr size301	.byte	17                      // DW_OP_consts302	.byte	1                       // 1303	.byte	159                     // DW_OP_stack_value304	.xword	.Ltmp11-.Lfunc_begin0305	.xword	.Ltmp13-.Lfunc_begin0306	.hword	2                       // Loc expr size307	.byte	141                     // DW_OP_breg29308	.byte	124                     // -4309	.xword	.Ltmp13-.Lfunc_begin0310	.xword	.Lfunc_end3-.Lfunc_begin0311	.hword	1                       // Loc expr size312	.byte	80                      // DW_OP_reg0313	.xword	0314	.xword	0315.Ldebug_loc2:316	.xword	.Lfunc_begin4-.Lfunc_begin0317	.xword	.Ltmp16-.Lfunc_begin0318	.hword	1                       // Loc expr size319	.byte	80                      // DW_OP_reg0320	.xword	.Ltmp16-.Lfunc_begin0321	.xword	.Ltmp18-.Lfunc_begin0322	.hword	1                       // Loc expr size323	.byte	99                      // DW_OP_reg19324	.xword	0325	.xword	0326.Ldebug_loc3:327	.xword	.Ltmp15-.Lfunc_begin0328	.xword	.Ltmp16-.Lfunc_begin0329	.hword	1                       // Loc expr size330	.byte	80                      // DW_OP_reg0331	.xword	.Ltmp16-.Lfunc_begin0332	.xword	.Ltmp18-.Lfunc_begin0333	.hword	1                       // Loc expr size334	.byte	99                      // DW_OP_reg19335	.xword	0336	.xword	0337	.section	.debug_abbrev,"",@progbits338	.byte	1                       // Abbreviation Code339	.byte	17                      // DW_TAG_compile_unit340	.byte	1                       // DW_CHILDREN_yes341	.byte	37                      // DW_AT_producer342	.byte	14                      // DW_FORM_strp343	.byte	19                      // DW_AT_language344	.byte	5                       // DW_FORM_data2345	.byte	3                       // DW_AT_name346	.byte	14                      // DW_FORM_strp347	.byte	16                      // DW_AT_stmt_list348	.byte	23                      // DW_FORM_sec_offset349	.byte	27                      // DW_AT_comp_dir350	.byte	14                      // DW_FORM_strp351	.byte	17                      // DW_AT_low_pc352	.byte	1                       // DW_FORM_addr353	.byte	18                      // DW_AT_high_pc354	.byte	6                       // DW_FORM_data4355	.byte	0                       // EOM(1)356	.byte	0                       // EOM(2)357	.byte	2                       // Abbreviation Code358	.byte	46                      // DW_TAG_subprogram359	.byte	1                       // DW_CHILDREN_yes360	.byte	17                      // DW_AT_low_pc361	.byte	1                       // DW_FORM_addr362	.byte	18                      // DW_AT_high_pc363	.byte	6                       // DW_FORM_data4364	.byte	64                      // DW_AT_frame_base365	.byte	24                      // DW_FORM_exprloc366	.ascii	"\227B"                 // DW_AT_GNU_all_call_sites367	.byte	25                      // DW_FORM_flag_present368	.byte	3                       // DW_AT_name369	.byte	14                      // DW_FORM_strp370	.byte	58                      // DW_AT_decl_file371	.byte	11                      // DW_FORM_data1372	.byte	59                      // DW_AT_decl_line373	.byte	11                      // DW_FORM_data1374	.byte	63                      // DW_AT_external375	.byte	25                      // DW_FORM_flag_present376	.byte	0                       // EOM(1)377	.byte	0                       // EOM(2)378	.byte	3                       // Abbreviation Code379	.byte	52                      // DW_TAG_variable380	.byte	0                       // DW_CHILDREN_no381	.byte	2                       // DW_AT_location382	.byte	24                      // DW_FORM_exprloc383	.byte	3                       // DW_AT_name384	.byte	14                      // DW_FORM_strp385	.byte	58                      // DW_AT_decl_file386	.byte	11                      // DW_FORM_data1387	.byte	59                      // DW_AT_decl_line388	.byte	11                      // DW_FORM_data1389	.byte	73                      // DW_AT_type390	.byte	19                      // DW_FORM_ref4391	.byte	0                       // EOM(1)392	.byte	0                       // EOM(2)393	.byte	4                       // Abbreviation Code394	.ascii	"\211\202\001"          // DW_TAG_GNU_call_site395	.byte	0                       // DW_CHILDREN_no396	.byte	49                      // DW_AT_abstract_origin397	.byte	19                      // DW_FORM_ref4398	.byte	17                      // DW_AT_low_pc399	.byte	1                       // DW_FORM_addr400	.byte	0                       // EOM(1)401	.byte	0                       // EOM(2)402	.byte	5                       // Abbreviation Code403	.byte	46                      // DW_TAG_subprogram404	.byte	1                       // DW_CHILDREN_yes405	.byte	3                       // DW_AT_name406	.byte	14                      // DW_FORM_strp407	.byte	58                      // DW_AT_decl_file408	.byte	11                      // DW_FORM_data1409	.byte	59                      // DW_AT_decl_line410	.byte	11                      // DW_FORM_data1411	.byte	39                      // DW_AT_prototyped412	.byte	25                      // DW_FORM_flag_present413	.byte	60                      // DW_AT_declaration414	.byte	25                      // DW_FORM_flag_present415	.byte	63                      // DW_AT_external416	.byte	25                      // DW_FORM_flag_present417	.byte	0                       // EOM(1)418	.byte	0                       // EOM(2)419	.byte	6                       // Abbreviation Code420	.byte	5                       // DW_TAG_formal_parameter421	.byte	0                       // DW_CHILDREN_no422	.byte	73                      // DW_AT_type423	.byte	19                      // DW_FORM_ref4424	.byte	0                       // EOM(1)425	.byte	0                       // EOM(2)426	.byte	7                       // Abbreviation Code427	.byte	15                      // DW_TAG_pointer_type428	.byte	0                       // DW_CHILDREN_no429	.byte	0                       // EOM(1)430	.byte	0                       // EOM(2)431	.byte	8                       // Abbreviation Code432	.byte	46                      // DW_TAG_subprogram433	.byte	1                       // DW_CHILDREN_yes434	.byte	17                      // DW_AT_low_pc435	.byte	1                       // DW_FORM_addr436	.byte	18                      // DW_AT_high_pc437	.byte	6                       // DW_FORM_data4438	.byte	64                      // DW_AT_frame_base439	.byte	24                      // DW_FORM_exprloc440	.ascii	"\227B"                 // DW_AT_GNU_all_call_sites441	.byte	25                      // DW_FORM_flag_present442	.byte	3                       // DW_AT_name443	.byte	14                      // DW_FORM_strp444	.byte	58                      // DW_AT_decl_file445	.byte	11                      // DW_FORM_data1446	.byte	59                      // DW_AT_decl_line447	.byte	11                      // DW_FORM_data1448	.byte	73                      // DW_AT_type449	.byte	19                      // DW_FORM_ref4450	.byte	63                      // DW_AT_external451	.byte	25                      // DW_FORM_flag_present452	.byte	0                       // EOM(1)453	.byte	0                       // EOM(2)454	.byte	9                       // Abbreviation Code455	.byte	52                      // DW_TAG_variable456	.byte	0                       // DW_CHILDREN_no457	.byte	2                       // DW_AT_location458	.byte	23                      // DW_FORM_sec_offset459	.byte	3                       // DW_AT_name460	.byte	14                      // DW_FORM_strp461	.byte	58                      // DW_AT_decl_file462	.byte	11                      // DW_FORM_data1463	.byte	59                      // DW_AT_decl_line464	.byte	11                      // DW_FORM_data1465	.byte	73                      // DW_AT_type466	.byte	19                      // DW_FORM_ref4467	.byte	0                       // EOM(1)468	.byte	0                       // EOM(2)469	.byte	10                      // Abbreviation Code470	.byte	46                      // DW_TAG_subprogram471	.byte	1                       // DW_CHILDREN_yes472	.byte	17                      // DW_AT_low_pc473	.byte	1                       // DW_FORM_addr474	.byte	18                      // DW_AT_high_pc475	.byte	6                       // DW_FORM_data4476	.byte	64                      // DW_AT_frame_base477	.byte	24                      // DW_FORM_exprloc478	.ascii	"\227B"                 // DW_AT_GNU_all_call_sites479	.byte	25                      // DW_FORM_flag_present480	.byte	3                       // DW_AT_name481	.byte	14                      // DW_FORM_strp482	.byte	58                      // DW_AT_decl_file483	.byte	11                      // DW_FORM_data1484	.byte	59                      // DW_AT_decl_line485	.byte	11                      // DW_FORM_data1486	.byte	39                      // DW_AT_prototyped487	.byte	25                      // DW_FORM_flag_present488	.byte	73                      // DW_AT_type489	.byte	19                      // DW_FORM_ref4490	.byte	63                      // DW_AT_external491	.byte	25                      // DW_FORM_flag_present492	.byte	0                       // EOM(1)493	.byte	0                       // EOM(2)494	.byte	11                      // Abbreviation Code495	.byte	5                       // DW_TAG_formal_parameter496	.byte	0                       // DW_CHILDREN_no497	.byte	2                       // DW_AT_location498	.byte	23                      // DW_FORM_sec_offset499	.byte	3                       // DW_AT_name500	.byte	14                      // DW_FORM_strp501	.byte	58                      // DW_AT_decl_file502	.byte	11                      // DW_FORM_data1503	.byte	59                      // DW_AT_decl_line504	.byte	11                      // DW_FORM_data1505	.byte	73                      // DW_AT_type506	.byte	19                      // DW_FORM_ref4507	.byte	0                       // EOM(1)508	.byte	0                       // EOM(2)509	.byte	12                      // Abbreviation Code510	.byte	36                      // DW_TAG_base_type511	.byte	0                       // DW_CHILDREN_no512	.byte	3                       // DW_AT_name513	.byte	14                      // DW_FORM_strp514	.byte	62                      // DW_AT_encoding515	.byte	11                      // DW_FORM_data1516	.byte	11                      // DW_AT_byte_size517	.byte	11                      // DW_FORM_data1518	.byte	0                       // EOM(1)519	.byte	0                       // EOM(2)520	.byte	0                       // EOM(3)521	.section	.debug_info,"",@progbits522.Lcu_begin0:523	.word	.Ldebug_info_end0-.Ldebug_info_start0 // Length of Unit524.Ldebug_info_start0:525	.hword	4                       // DWARF version number526	.word	.debug_abbrev           // Offset Into Abbrev. Section527	.byte	8                       // Address Size (in bytes)528	.byte	1                       // Abbrev [1] 0xb:0x155 DW_TAG_compile_unit529	.word	.Linfo_string0          // DW_AT_producer530	.hword	12                      // DW_AT_language531	.word	.Linfo_string1          // DW_AT_name532	.word	.Lline_table_start0     // DW_AT_stmt_list533	.word	.Linfo_string2          // DW_AT_comp_dir534	.xword	.Lfunc_begin0           // DW_AT_low_pc535	.word	.Lfunc_end4-.Lfunc_begin0 // DW_AT_high_pc536	.byte	2                       // Abbrev [2] 0x2a:0x31 DW_TAG_subprogram537	.xword	.Lfunc_begin0           // DW_AT_low_pc538	.word	.Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc539	.byte	1                       // DW_AT_frame_base540	.byte	109541                                        // DW_AT_GNU_all_call_sites542	.word	.Linfo_string6          // DW_AT_name543	.byte	1                       // DW_AT_decl_file544	.byte	3                       // DW_AT_decl_line545                                        // DW_AT_external546	.byte	3                       // Abbrev [3] 0x3f:0xe DW_TAG_variable547	.byte	2                       // DW_AT_location548	.byte	141                     // DW_OP_breg29  !!! EDIT: 145 (fbreg) to 141 (breg29)549	.byte	124                     // -4550	.word	.Linfo_string11         // DW_AT_name551	.byte	1                       // DW_AT_decl_file552	.byte	4                       // DW_AT_decl_line553	.word	344                     // DW_AT_type554	.byte	4                       // Abbrev [4] 0x4d:0xd DW_TAG_GNU_call_site555	.word	91                      // DW_AT_abstract_origin556	.xword	.Ltmp1                  // DW_AT_low_pc557	.byte	0                       // End Of Children Mark558	.byte	5                       // Abbrev [5] 0x5b:0xd DW_TAG_subprogram559	.word	.Linfo_string3          // DW_AT_name560	.byte	1                       // DW_AT_decl_file561	.byte	1                       // DW_AT_decl_line562                                        // DW_AT_prototyped563                                        // DW_AT_declaration564                                        // DW_AT_external565	.byte	6                       // Abbrev [6] 0x62:0x5 DW_TAG_formal_parameter566	.word	104                     // DW_AT_type567	.byte	0                       // End Of Children Mark568	.byte	7                       // Abbrev [7] 0x68:0x1 DW_TAG_pointer_type569	.byte	2                       // Abbrev [2] 0x69:0x31 DW_TAG_subprogram570	.xword	.Lfunc_begin1           // DW_AT_low_pc571	.word	.Lfunc_end1-.Lfunc_begin1 // DW_AT_high_pc572	.byte	1                       // DW_AT_frame_base573	.byte	109574                                        // DW_AT_GNU_all_call_sites575	.word	.Linfo_string7          // DW_AT_name576	.byte	1                       // DW_AT_decl_file577	.byte	8                       // DW_AT_decl_line578                                        // DW_AT_external579	.byte	3                       // Abbrev [3] 0x7e:0xe DW_TAG_variable580	.byte	2                       // DW_AT_location581	.byte	145582	.byte	124583	.word	.Linfo_string11         // DW_AT_name584	.byte	1                       // DW_AT_decl_file585	.byte	9                       // DW_AT_decl_line586	.word	344                     // DW_AT_type587	.byte	4                       // Abbrev [4] 0x8c:0xd DW_TAG_GNU_call_site588	.word	91                      // DW_AT_abstract_origin589	.xword	.Ltmp4                  // DW_AT_low_pc590	.byte	0                       // End Of Children Mark591	.byte	8                       // Abbrev [8] 0x9a:0x36 DW_TAG_subprogram592	.xword	.Lfunc_begin2           // DW_AT_low_pc593	.word	.Lfunc_end2-.Lfunc_begin2 // DW_AT_high_pc594	.byte	1                       // DW_AT_frame_base595	.byte	109596                                        // DW_AT_GNU_all_call_sites597	.word	.Linfo_string8          // DW_AT_name598	.byte	1                       // DW_AT_decl_file599	.byte	13                      // DW_AT_decl_line600	.word	344                     // DW_AT_type601                                        // DW_AT_external602	.byte	9                       // Abbrev [9] 0xb3:0xf DW_TAG_variable603	.word	.Ldebug_loc0            // DW_AT_location604	.word	.Linfo_string11         // DW_AT_name605	.byte	1                       // DW_AT_decl_file606	.byte	14                      // DW_AT_decl_line607	.word	344                     // DW_AT_type608	.byte	4                       // Abbrev [4] 0xc2:0xd DW_TAG_GNU_call_site609	.word	91                      // DW_AT_abstract_origin610	.xword	.Ltmp7                  // DW_AT_low_pc611	.byte	0                       // End Of Children Mark612	.byte	8                       // Abbrev [8] 0xd0:0x36 DW_TAG_subprogram613	.xword	.Lfunc_begin3           // DW_AT_low_pc614	.word	.Lfunc_end3-.Lfunc_begin3 // DW_AT_high_pc615	.byte	1                       // DW_AT_frame_base616	.byte	109617                                        // DW_AT_GNU_all_call_sites618	.word	.Linfo_string9          // DW_AT_name619	.byte	1                       // DW_AT_decl_file620	.byte	19                      // DW_AT_decl_line621	.word	344                     // DW_AT_type622                                        // DW_AT_external623	.byte	9                       // Abbrev [9] 0xe9:0xf DW_TAG_variable624	.word	.Ldebug_loc1            // DW_AT_location625	.word	.Linfo_string11         // DW_AT_name626	.byte	1                       // DW_AT_decl_file627	.byte	20                      // DW_AT_decl_line628	.word	344                     // DW_AT_type629	.byte	4                       // Abbrev [4] 0xf8:0xd DW_TAG_GNU_call_site630	.word	91                      // DW_AT_abstract_origin631	.xword	.Ltmp12                 // DW_AT_low_pc632	.byte	0                       // End Of Children Mark633	.byte	10                      // Abbrev [10] 0x106:0x45 DW_TAG_subprogram634	.xword	.Lfunc_begin4           // DW_AT_low_pc635	.word	.Lfunc_end4-.Lfunc_begin4 // DW_AT_high_pc636	.byte	1                       // DW_AT_frame_base637	.byte	109638                                        // DW_AT_GNU_all_call_sites639	.word	.Linfo_string10         // DW_AT_name640	.byte	1                       // DW_AT_decl_file641	.byte	25                      // DW_AT_decl_line642                                        // DW_AT_prototyped643	.word	344                     // DW_AT_type644                                        // DW_AT_external645	.byte	11                      // Abbrev [11] 0x11f:0xf DW_TAG_formal_parameter646	.word	.Ldebug_loc2            // DW_AT_location647	.word	.Linfo_string12         // DW_AT_name648	.byte	1                       // DW_AT_decl_file649	.byte	25                      // DW_AT_decl_line650	.word	344                     // DW_AT_type651	.byte	9                       // Abbrev [9] 0x12e:0xf DW_TAG_variable652	.word	.Ldebug_loc3            // DW_AT_location653	.word	.Linfo_string11         // DW_AT_name654	.byte	1                       // DW_AT_decl_file655	.byte	26                      // DW_AT_decl_line656	.word	344                     // DW_AT_type657	.byte	4                       // Abbrev [4] 0x13d:0xd DW_TAG_GNU_call_site658	.word	331                     // DW_AT_abstract_origin659	.xword	.Ltmp17                 // DW_AT_low_pc660	.byte	0                       // End Of Children Mark661	.byte	5                       // Abbrev [5] 0x14b:0xd DW_TAG_subprogram662	.word	.Linfo_string4          // DW_AT_name663	.byte	1                       // DW_AT_decl_file664	.byte	2                       // DW_AT_decl_line665                                        // DW_AT_prototyped666                                        // DW_AT_declaration667                                        // DW_AT_external668	.byte	6                       // Abbrev [6] 0x152:0x5 DW_TAG_formal_parameter669	.word	344                     // DW_AT_type670	.byte	0                       // End Of Children Mark671	.byte	12                      // Abbrev [12] 0x158:0x7 DW_TAG_base_type672	.word	.Linfo_string5          // DW_AT_name673	.byte	5                       // DW_AT_encoding674	.byte	4                       // DW_AT_byte_size675	.byte	0                       // End Of Children Mark676.Ldebug_info_end0:677	.ident	"clang version 10.0.0 (git@github.com:llvm/llvm-project.git 092ef9c6cf4678d2b8df7738110ecd405fe1fe3d)"678	.section	".note.GNU-stack","",@progbits679	.section	.debug_line,"",@progbits680.Lline_table_start0:681