[llvm-readelf] - Report a warning when .hash section contains a chain with a cycle.
[llvm-complete.git] / test / tools / llvm-symbolizer / frame.s
blob28cbd493182e0dda3afbe19aac5bc4a6dbbd3129
1 // REQUIRES: aarch64-registered-target
3 // RUN: llvm-mc -filetype=obj -triple=aarch64-linux-android -o %t.o %s
4 // RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s
6 // CHECK: f
7 // CHECK-NEXT: a
8 // CHECK-NEXT: /tmp{{/|\\}}stack.c:20
9 // CHECK-NEXT: -192 32 192
10 // CHECK-NEXT: g
11 // CHECK-NEXT: p
12 // CHECK-NEXT: /tmp{{/|\\}}stack.c:8
13 // CHECK-NEXT: ?? 8 ??
14 // CHECK-NEXT: g
15 // CHECK-NEXT: b
16 // CHECK-NEXT: /tmp{{/|\\}}stack.c:10
17 // CHECK-NEXT: -128 32 128
18 // CHECK-NEXT: h
19 // CHECK-NEXT: p1
20 // CHECK-NEXT: /tmp{{/|\\}}stack.c:3
21 // CHECK-NEXT: ?? 8 ??
22 // CHECK-NEXT: h
23 // CHECK-NEXT: p2
24 // CHECK-NEXT: /tmp{{/|\\}}stack.c:3
25 // CHECK-NEXT: ?? 8 ??
26 // CHECK-NEXT: h
27 // CHECK-NEXT: d
28 // CHECK-NEXT: /tmp{{/|\\}}stack.c:4
29 // CHECK-NEXT: -96 32 0
30 // CHECK-NEXT: g
31 // CHECK-NEXT: c
32 // CHECK-NEXT: /tmp{{/|\\}}stack.c:14
33 // CHECK-NEXT: -160 32 64
34 // CHECK-NEXT: h
35 // CHECK-NEXT: p1
36 // CHECK-NEXT: /tmp{{/|\\}}stack.c:3
37 // CHECK-NEXT: ?? 8 ??
38 // CHECK-NEXT: h
39 // CHECK-NEXT: p2
40 // CHECK-NEXT: /tmp{{/|\\}}stack.c:3
41 // CHECK-NEXT: ?? 8 ??
42 // CHECK-NEXT: h
43 // CHECK-NEXT: d
44 // CHECK-NEXT: /tmp{{/|\\}}stack.c:4
45 // CHECK-NEXT: -96 32 0
47 // Generated from:
49 // void i(void *, void *, void *);
51 // static void h(void *p1, void *p2) {
52 // char d[32];
53 // i(d, p1, p2);
54 // }
56 // static void g(void *p) {
57 // {
58 // char b[32];
59 // h(b, p);
60 // }
61 // {
62 // char c[32];
63 // h(c, p);
64 // }
65 // }
67 // clang -S -o - -fsanitize=hwaddress --target=aarch64-linux-android /tmp/stack.c -O -fsanitize-hwaddress-abi=platform -g
69 .text
70 .file "stack.c"
71 .globl f // -- Begin function f
72 .p2align 2
73 .type f,@function
74 f: // @f
75 .Lfunc_begin0:
76 .file 1 "/tmp" "stack.c"
77 .loc 1 19 0 // stack.c:19:0
78 .cfi_startproc
79 // %bb.0: // %entry
80 sub sp, sp, #208 // =208
81 stp x26, x25, [sp, #128] // 16-byte Folded Spill
82 stp x24, x23, [sp, #144] // 16-byte Folded Spill
83 stp x22, x21, [sp, #160] // 16-byte Folded Spill
84 stp x20, x19, [sp, #176] // 16-byte Folded Spill
85 stp x29, x30, [sp, #192] // 16-byte Folded Spill
86 add x29, sp, #192 // =192
87 .cfi_def_cfa w29, 16
88 .cfi_offset w30, -8
89 .cfi_offset w29, -16
90 .cfi_offset w19, -24
91 .cfi_offset w20, -32
92 .cfi_offset w21, -40
93 .cfi_offset w22, -48
94 .cfi_offset w23, -56
95 .cfi_offset w24, -64
96 .cfi_offset w25, -72
97 .cfi_offset w26, -80
98 mrs x8, TPIDR_EL0
99 ldr x12, [x8, #48]
100 .Ltmp0:
101 adr x14, .Ltmp0
102 orr x14, x14, x29, lsl #44
103 add x9, sp, #96 // =96
104 asr x15, x12, #3
105 asr x16, x12, #56
106 orr x17, x12, #0xffffffff
107 str x14, [x12], #8
108 bic x12, x12, x16, lsl #12
109 str x12, [x8, #48]
110 .Ltmp1:
111 .loc 1 4 8 prologue_end // stack.c:4:8
112 and w8, w15, #0xff
113 lsr x22, x9, #4
114 add x25, x17, #1 // =1
115 bfi w8, w8, #8, #8
116 add x10, sp, #64 // =64
117 strh w8, [x25, x22]
118 .Ltmp2:
119 .loc 1 10 10 // stack.c:10:10
120 eor x8, x15, #0x80
121 orr x1, x10, x8, lsl #56
122 and w8, w8, #0xff
123 lsr x23, x10, #4
124 bfi w8, w8, #8, #8
125 add x11, sp, #32 // =32
126 strh w8, [x25, x23]
127 .Ltmp3:
128 .loc 1 14 10 // stack.c:14:10
129 eor x8, x15, #0x40
130 orr x19, x11, x8, lsl #56
131 and w8, w8, #0xff
132 lsr x24, x11, #4
133 bfi w8, w8, #8, #8
134 mov x13, sp
135 strh w8, [x25, x24]
136 .Ltmp4:
137 .loc 1 20 3 // stack.c:20:3
138 eor x8, x15, #0xc0
139 .Ltmp5:
140 .loc 1 4 8 // stack.c:4:8
141 orr x20, x9, x15, lsl #56
142 .Ltmp6:
143 .loc 1 20 3 // stack.c:20:3
144 orr x21, x13, x8, lsl #56
145 and w8, w8, #0xff
146 lsr x26, x13, #4
147 bfi w8, w8, #8, #8
148 .Ltmp7:
149 .loc 1 5 3 // stack.c:5:3
150 mov x0, x20
151 mov x2, x21
152 .Ltmp8:
153 .loc 1 20 3 // stack.c:20:3
154 strh w8, [x25, x26]
155 .Ltmp9:
156 //DEBUG_VALUE: h:p1 <- $x1
157 //DEBUG_VALUE: g:p <- $x21
158 //DEBUG_VALUE: h:p2 <- $x21
159 //DEBUG_VALUE: h:p2 <- $x21
160 .loc 1 5 3 // stack.c:5:3
161 bl i
162 .Ltmp10:
163 //DEBUG_VALUE: h:p1 <- $x19
164 .loc 1 5 3 is_stmt 0 // stack.c:5:3
165 mov x0, x20
166 mov x1, x19
167 mov x2, x21
168 bl i
169 .Ltmp11:
170 .loc 1 22 1 is_stmt 1 // stack.c:22:1
171 strh wzr, [x25, x22]
172 strh wzr, [x25, x23]
173 strh wzr, [x25, x24]
174 strh wzr, [x25, x26]
175 ldp x29, x30, [sp, #192] // 16-byte Folded Reload
176 ldp x20, x19, [sp, #176] // 16-byte Folded Reload
177 .Ltmp12:
178 ldp x22, x21, [sp, #160] // 16-byte Folded Reload
179 .Ltmp13:
180 ldp x24, x23, [sp, #144] // 16-byte Folded Reload
181 ldp x26, x25, [sp, #128] // 16-byte Folded Reload
182 add sp, sp, #208 // =208
184 .Ltmp14:
185 .Lfunc_end0:
186 .size f, .Lfunc_end0-f
187 .cfi_endproc
188 // -- End function
189 .section .text.hwasan.module_ctor,"axG",@progbits,hwasan.module_ctor,comdat
190 .p2align 2 // -- Begin function hwasan.module_ctor
191 .type hwasan.module_ctor,@function
192 hwasan.module_ctor: // @hwasan.module_ctor
193 .Lfunc_begin1:
194 .cfi_startproc
195 // %bb.0:
196 str x30, [sp, #-16]! // 8-byte Folded Spill
197 .cfi_def_cfa_offset 16
198 .cfi_offset w30, -16
199 bl __hwasan_init
200 ldr x30, [sp], #16 // 8-byte Folded Reload
202 .Lfunc_end1:
203 .size hwasan.module_ctor, .Lfunc_end1-hwasan.module_ctor
204 .cfi_endproc
205 // -- End function
206 .section .init_array.0,"aGw",@init_array,hwasan.module_ctor,comdat
207 .p2align 3
208 .xword hwasan.module_ctor
209 .section .debug_str,"MS",@progbits,1
210 .Linfo_string0:
211 .asciz "clang version 9.0.0 " // string offset=0
212 .Linfo_string1:
213 .asciz "stack.c" // string offset=21
214 .Linfo_string2:
215 .asciz "/tmp" // string offset=29
216 .Linfo_string3:
217 .asciz "h" // string offset=34
218 .Linfo_string4:
219 .asciz "p1" // string offset=36
220 .Linfo_string5:
221 .asciz "p2" // string offset=39
222 .Linfo_string6:
223 .asciz "d" // string offset=42
224 .Linfo_string7:
225 .asciz "char" // string offset=44
226 .Linfo_string8:
227 .asciz "__ARRAY_SIZE_TYPE__" // string offset=49
228 .Linfo_string9:
229 .asciz "g" // string offset=69
230 .Linfo_string10:
231 .asciz "p" // string offset=71
232 .Linfo_string11:
233 .asciz "b" // string offset=73
234 .Linfo_string12:
235 .asciz "c" // string offset=75
236 .Linfo_string13:
237 .asciz "f" // string offset=77
238 .Linfo_string14:
239 .asciz "a" // string offset=79
240 .section .debug_loc,"",@progbits
241 .Ldebug_loc0:
242 .xword .Ltmp9-.Lfunc_begin0
243 .xword .Ltmp10-.Lfunc_begin0
244 .hword 1 // Loc expr size
245 .byte 81 // DW_OP_reg1
246 .xword 0
247 .xword 0
248 .Ldebug_loc1:
249 .xword .Ltmp9-.Lfunc_begin0
250 .xword .Ltmp13-.Lfunc_begin0
251 .hword 1 // Loc expr size
252 .byte 101 // DW_OP_reg21
253 .xword 0
254 .xword 0
255 .Ldebug_loc2:
256 .xword .Ltmp9-.Lfunc_begin0
257 .xword .Ltmp13-.Lfunc_begin0
258 .hword 1 // Loc expr size
259 .byte 101 // DW_OP_reg21
260 .xword 0
261 .xword 0
262 .Ldebug_loc3:
263 .xword .Ltmp9-.Lfunc_begin0
264 .xword .Ltmp13-.Lfunc_begin0
265 .hword 1 // Loc expr size
266 .byte 101 // DW_OP_reg21
267 .xword 0
268 .xword 0
269 .Ldebug_loc4:
270 .xword .Ltmp10-.Lfunc_begin0
271 .xword .Ltmp12-.Lfunc_begin0
272 .hword 1 // Loc expr size
273 .byte 99 // DW_OP_reg19
274 .xword 0
275 .xword 0
276 .section .debug_abbrev,"",@progbits
277 .byte 1 // Abbreviation Code
278 .byte 17 // DW_TAG_compile_unit
279 .byte 1 // DW_CHILDREN_yes
280 .byte 37 // DW_AT_producer
281 .byte 14 // DW_FORM_strp
282 .byte 19 // DW_AT_language
283 .byte 5 // DW_FORM_data2
284 .byte 3 // DW_AT_name
285 .byte 14 // DW_FORM_strp
286 .byte 16 // DW_AT_stmt_list
287 .byte 23 // DW_FORM_sec_offset
288 .byte 27 // DW_AT_comp_dir
289 .byte 14 // DW_FORM_strp
290 .byte 17 // DW_AT_low_pc
291 .byte 1 // DW_FORM_addr
292 .byte 18 // DW_AT_high_pc
293 .byte 6 // DW_FORM_data4
294 .byte 0 // EOM(1)
295 .byte 0 // EOM(2)
296 .byte 2 // Abbreviation Code
297 .byte 46 // DW_TAG_subprogram
298 .byte 1 // DW_CHILDREN_yes
299 .byte 3 // DW_AT_name
300 .byte 14 // DW_FORM_strp
301 .byte 58 // DW_AT_decl_file
302 .byte 11 // DW_FORM_data1
303 .byte 59 // DW_AT_decl_line
304 .byte 11 // DW_FORM_data1
305 .byte 39 // DW_AT_prototyped
306 .byte 25 // DW_FORM_flag_present
307 .byte 32 // DW_AT_inline
308 .byte 11 // DW_FORM_data1
309 .byte 0 // EOM(1)
310 .byte 0 // EOM(2)
311 .byte 3 // Abbreviation Code
312 .byte 5 // DW_TAG_formal_parameter
313 .byte 0 // DW_CHILDREN_no
314 .byte 3 // DW_AT_name
315 .byte 14 // DW_FORM_strp
316 .byte 58 // DW_AT_decl_file
317 .byte 11 // DW_FORM_data1
318 .byte 59 // DW_AT_decl_line
319 .byte 11 // DW_FORM_data1
320 .byte 73 // DW_AT_type
321 .byte 19 // DW_FORM_ref4
322 .byte 0 // EOM(1)
323 .byte 0 // EOM(2)
324 .byte 4 // Abbreviation Code
325 .byte 52 // DW_TAG_variable
326 .byte 0 // DW_CHILDREN_no
327 .byte 3 // DW_AT_name
328 .byte 14 // DW_FORM_strp
329 .byte 58 // DW_AT_decl_file
330 .byte 11 // DW_FORM_data1
331 .byte 59 // DW_AT_decl_line
332 .byte 11 // DW_FORM_data1
333 .byte 73 // DW_AT_type
334 .byte 19 // DW_FORM_ref4
335 .byte 0 // EOM(1)
336 .byte 0 // EOM(2)
337 .byte 5 // Abbreviation Code
338 .byte 15 // DW_TAG_pointer_type
339 .byte 0 // DW_CHILDREN_no
340 .byte 0 // EOM(1)
341 .byte 0 // EOM(2)
342 .byte 6 // Abbreviation Code
343 .byte 1 // DW_TAG_array_type
344 .byte 1 // DW_CHILDREN_yes
345 .byte 73 // DW_AT_type
346 .byte 19 // DW_FORM_ref4
347 .byte 0 // EOM(1)
348 .byte 0 // EOM(2)
349 .byte 7 // Abbreviation Code
350 .byte 33 // DW_TAG_subrange_type
351 .byte 0 // DW_CHILDREN_no
352 .byte 73 // DW_AT_type
353 .byte 19 // DW_FORM_ref4
354 .byte 55 // DW_AT_count
355 .byte 11 // DW_FORM_data1
356 .byte 0 // EOM(1)
357 .byte 0 // EOM(2)
358 .byte 8 // Abbreviation Code
359 .byte 36 // DW_TAG_base_type
360 .byte 0 // DW_CHILDREN_no
361 .byte 3 // DW_AT_name
362 .byte 14 // DW_FORM_strp
363 .byte 62 // DW_AT_encoding
364 .byte 11 // DW_FORM_data1
365 .byte 11 // DW_AT_byte_size
366 .byte 11 // DW_FORM_data1
367 .byte 0 // EOM(1)
368 .byte 0 // EOM(2)
369 .byte 9 // Abbreviation Code
370 .byte 36 // DW_TAG_base_type
371 .byte 0 // DW_CHILDREN_no
372 .byte 3 // DW_AT_name
373 .byte 14 // DW_FORM_strp
374 .byte 11 // DW_AT_byte_size
375 .byte 11 // DW_FORM_data1
376 .byte 62 // DW_AT_encoding
377 .byte 11 // DW_FORM_data1
378 .byte 0 // EOM(1)
379 .byte 0 // EOM(2)
380 .byte 10 // Abbreviation Code
381 .byte 11 // DW_TAG_lexical_block
382 .byte 1 // DW_CHILDREN_yes
383 .byte 0 // EOM(1)
384 .byte 0 // EOM(2)
385 .byte 11 // Abbreviation Code
386 .byte 46 // DW_TAG_subprogram
387 .byte 1 // DW_CHILDREN_yes
388 .byte 17 // DW_AT_low_pc
389 .byte 1 // DW_FORM_addr
390 .byte 18 // DW_AT_high_pc
391 .byte 6 // DW_FORM_data4
392 .byte 64 // DW_AT_frame_base
393 .byte 24 // DW_FORM_exprloc
394 .byte 3 // DW_AT_name
395 .byte 14 // DW_FORM_strp
396 .byte 58 // DW_AT_decl_file
397 .byte 11 // DW_FORM_data1
398 .byte 59 // DW_AT_decl_line
399 .byte 11 // DW_FORM_data1
400 .byte 63 // DW_AT_external
401 .byte 25 // DW_FORM_flag_present
402 .byte 0 // EOM(1)
403 .byte 0 // EOM(2)
404 .byte 12 // Abbreviation Code
405 .byte 52 // DW_TAG_variable
406 .byte 0 // DW_CHILDREN_no
407 .byte 2 // DW_AT_location
408 .byte 24 // DW_FORM_exprloc
409 .ascii "\203|" // DW_AT_LLVM_tag_offset
410 .byte 11 // DW_FORM_data1
411 .byte 3 // DW_AT_name
412 .byte 14 // DW_FORM_strp
413 .byte 58 // DW_AT_decl_file
414 .byte 11 // DW_FORM_data1
415 .byte 59 // DW_AT_decl_line
416 .byte 11 // DW_FORM_data1
417 .byte 73 // DW_AT_type
418 .byte 19 // DW_FORM_ref4
419 .byte 0 // EOM(1)
420 .byte 0 // EOM(2)
421 .byte 13 // Abbreviation Code
422 .byte 29 // DW_TAG_inlined_subroutine
423 .byte 1 // DW_CHILDREN_yes
424 .byte 49 // DW_AT_abstract_origin
425 .byte 19 // DW_FORM_ref4
426 .byte 85 // DW_AT_ranges
427 .byte 23 // DW_FORM_sec_offset
428 .byte 88 // DW_AT_call_file
429 .byte 11 // DW_FORM_data1
430 .byte 89 // DW_AT_call_line
431 .byte 11 // DW_FORM_data1
432 .byte 0 // EOM(1)
433 .byte 0 // EOM(2)
434 .byte 14 // Abbreviation Code
435 .byte 5 // DW_TAG_formal_parameter
436 .byte 0 // DW_CHILDREN_no
437 .byte 2 // DW_AT_location
438 .byte 23 // DW_FORM_sec_offset
439 .byte 49 // DW_AT_abstract_origin
440 .byte 19 // DW_FORM_ref4
441 .byte 0 // EOM(1)
442 .byte 0 // EOM(2)
443 .byte 15 // Abbreviation Code
444 .byte 11 // DW_TAG_lexical_block
445 .byte 1 // DW_CHILDREN_yes
446 .byte 85 // DW_AT_ranges
447 .byte 23 // DW_FORM_sec_offset
448 .byte 0 // EOM(1)
449 .byte 0 // EOM(2)
450 .byte 16 // Abbreviation Code
451 .byte 52 // DW_TAG_variable
452 .byte 0 // DW_CHILDREN_no
453 .byte 2 // DW_AT_location
454 .byte 24 // DW_FORM_exprloc
455 .ascii "\203|" // DW_AT_LLVM_tag_offset
456 .byte 11 // DW_FORM_data1
457 .byte 49 // DW_AT_abstract_origin
458 .byte 19 // DW_FORM_ref4
459 .byte 0 // EOM(1)
460 .byte 0 // EOM(2)
461 .byte 17 // Abbreviation Code
462 .byte 29 // DW_TAG_inlined_subroutine
463 .byte 1 // DW_CHILDREN_yes
464 .byte 49 // DW_AT_abstract_origin
465 .byte 19 // DW_FORM_ref4
466 .byte 17 // DW_AT_low_pc
467 .byte 1 // DW_FORM_addr
468 .byte 18 // DW_AT_high_pc
469 .byte 6 // DW_FORM_data4
470 .byte 88 // DW_AT_call_file
471 .byte 11 // DW_FORM_data1
472 .byte 89 // DW_AT_call_line
473 .byte 11 // DW_FORM_data1
474 .byte 0 // EOM(1)
475 .byte 0 // EOM(2)
476 .byte 0 // EOM(3)
477 .section .debug_info,"",@progbits
478 .Lcu_begin0:
479 .word .Ldebug_info_end0-.Ldebug_info_start0 // Length of Unit
480 .Ldebug_info_start0:
481 .hword 4 // DWARF version number
482 .word .debug_abbrev // Offset Into Abbrev. Section
483 .byte 8 // Address Size (in bytes)
484 .byte 1 // Abbrev [1] 0xb:0x146 DW_TAG_compile_unit
485 .word .Linfo_string0 // DW_AT_producer
486 .hword 12 // DW_AT_language
487 .word .Linfo_string1 // DW_AT_name
488 .word .Lline_table_start0 // DW_AT_stmt_list
489 .word .Linfo_string2 // DW_AT_comp_dir
490 .xword .Lfunc_begin0 // DW_AT_low_pc
491 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc
492 .byte 2 // Abbrev [2] 0x2a:0x2a DW_TAG_subprogram
493 .word .Linfo_string3 // DW_AT_name
494 .byte 1 // DW_AT_decl_file
495 .byte 3 // DW_AT_decl_line
496 // DW_AT_prototyped
497 .byte 1 // DW_AT_inline
498 .byte 3 // Abbrev [3] 0x32:0xb DW_TAG_formal_parameter
499 .word .Linfo_string4 // DW_AT_name
500 .byte 1 // DW_AT_decl_file
501 .byte 3 // DW_AT_decl_line
502 .word 84 // DW_AT_type
503 .byte 3 // Abbrev [3] 0x3d:0xb DW_TAG_formal_parameter
504 .word .Linfo_string5 // DW_AT_name
505 .byte 1 // DW_AT_decl_file
506 .byte 3 // DW_AT_decl_line
507 .word 84 // DW_AT_type
508 .byte 4 // Abbrev [4] 0x48:0xb DW_TAG_variable
509 .word .Linfo_string6 // DW_AT_name
510 .byte 1 // DW_AT_decl_file
511 .byte 4 // DW_AT_decl_line
512 .word 85 // DW_AT_type
513 .byte 0 // End Of Children Mark
514 .byte 5 // Abbrev [5] 0x54:0x1 DW_TAG_pointer_type
515 .byte 6 // Abbrev [6] 0x55:0xc DW_TAG_array_type
516 .word 97 // DW_AT_type
517 .byte 7 // Abbrev [7] 0x5a:0x6 DW_TAG_subrange_type
518 .word 104 // DW_AT_type
519 .byte 32 // DW_AT_count
520 .byte 0 // End Of Children Mark
521 .byte 8 // Abbrev [8] 0x61:0x7 DW_TAG_base_type
522 .word .Linfo_string7 // DW_AT_name
523 .byte 8 // DW_AT_encoding
524 .byte 1 // DW_AT_byte_size
525 .byte 9 // Abbrev [9] 0x68:0x7 DW_TAG_base_type
526 .word .Linfo_string8 // DW_AT_name
527 .byte 8 // DW_AT_byte_size
528 .byte 7 // DW_AT_encoding
529 .byte 2 // Abbrev [2] 0x6f:0x2e DW_TAG_subprogram
530 .word .Linfo_string9 // DW_AT_name
531 .byte 1 // DW_AT_decl_file
532 .byte 8 // DW_AT_decl_line
533 // DW_AT_prototyped
534 .byte 1 // DW_AT_inline
535 .byte 3 // Abbrev [3] 0x77:0xb DW_TAG_formal_parameter
536 .word .Linfo_string10 // DW_AT_name
537 .byte 1 // DW_AT_decl_file
538 .byte 8 // DW_AT_decl_line
539 .word 84 // DW_AT_type
540 .byte 10 // Abbrev [10] 0x82:0xd DW_TAG_lexical_block
541 .byte 4 // Abbrev [4] 0x83:0xb DW_TAG_variable
542 .word .Linfo_string11 // DW_AT_name
543 .byte 1 // DW_AT_decl_file
544 .byte 10 // DW_AT_decl_line
545 .word 85 // DW_AT_type
546 .byte 0 // End Of Children Mark
547 .byte 10 // Abbrev [10] 0x8f:0xd DW_TAG_lexical_block
548 .byte 4 // Abbrev [4] 0x90:0xb DW_TAG_variable
549 .word .Linfo_string12 // DW_AT_name
550 .byte 1 // DW_AT_decl_file
551 .byte 14 // DW_AT_decl_line
552 .word 85 // DW_AT_type
553 .byte 0 // End Of Children Mark
554 .byte 0 // End Of Children Mark
555 .byte 11 // Abbrev [11] 0x9d:0xb3 DW_TAG_subprogram
556 .xword .Lfunc_begin0 // DW_AT_low_pc
557 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc
558 .byte 1 // DW_AT_frame_base
559 .byte 109
560 .word .Linfo_string13 // DW_AT_name
561 .byte 1 // DW_AT_decl_file
562 .byte 19 // DW_AT_decl_line
563 // DW_AT_external
564 .byte 12 // Abbrev [12] 0xb2:0x10 DW_TAG_variable
565 .byte 3 // DW_AT_location
566 .byte 145
567 .ascii "\300~"
568 .byte 192 // DW_AT_LLVM_tag_offset
569 .word .Linfo_string14 // DW_AT_name
570 .byte 1 // DW_AT_decl_file
571 .byte 20 // DW_AT_decl_line
572 .word 85 // DW_AT_type
573 .byte 13 // Abbrev [13] 0xc2:0x8d DW_TAG_inlined_subroutine
574 .word 111 // DW_AT_abstract_origin
575 .word .Ldebug_ranges0 // DW_AT_ranges
576 .byte 1 // DW_AT_call_file
577 .byte 21 // DW_AT_call_line
578 .byte 14 // Abbrev [14] 0xcd:0x9 DW_TAG_formal_parameter
579 .word .Ldebug_loc1 // DW_AT_location
580 .word 119 // DW_AT_abstract_origin
581 .byte 15 // Abbrev [15] 0xd6:0x38 DW_TAG_lexical_block
582 .word .Ldebug_ranges2 // DW_AT_ranges
583 .byte 16 // Abbrev [16] 0xdb:0xa DW_TAG_variable
584 .byte 3 // DW_AT_location
585 .byte 145
586 .ascii "\200\177"
587 .byte 128 // DW_AT_LLVM_tag_offset
588 .word 131 // DW_AT_abstract_origin
589 .byte 13 // Abbrev [13] 0xe5:0x28 DW_TAG_inlined_subroutine
590 .word 42 // DW_AT_abstract_origin
591 .word .Ldebug_ranges1 // DW_AT_ranges
592 .byte 1 // DW_AT_call_file
593 .byte 11 // DW_AT_call_line
594 .byte 14 // Abbrev [14] 0xf0:0x9 DW_TAG_formal_parameter
595 .word .Ldebug_loc0 // DW_AT_location
596 .word 50 // DW_AT_abstract_origin
597 .byte 14 // Abbrev [14] 0xf9:0x9 DW_TAG_formal_parameter
598 .word .Ldebug_loc2 // DW_AT_location
599 .word 61 // DW_AT_abstract_origin
600 .byte 16 // Abbrev [16] 0x102:0xa DW_TAG_variable
601 .byte 3 // DW_AT_location
602 .byte 145
603 .ascii "\240\177"
604 .byte 0 // DW_AT_LLVM_tag_offset
605 .word 72 // DW_AT_abstract_origin
606 .byte 0 // End Of Children Mark
607 .byte 0 // End Of Children Mark
608 .byte 15 // Abbrev [15] 0x10e:0x40 DW_TAG_lexical_block
609 .word .Ldebug_ranges3 // DW_AT_ranges
610 .byte 16 // Abbrev [16] 0x113:0xa DW_TAG_variable
611 .byte 3 // DW_AT_location
612 .byte 145
613 .ascii "\340~"
614 .byte 64 // DW_AT_LLVM_tag_offset
615 .word 144 // DW_AT_abstract_origin
616 .byte 17 // Abbrev [17] 0x11d:0x30 DW_TAG_inlined_subroutine
617 .word 42 // DW_AT_abstract_origin
618 .xword .Ltmp10 // DW_AT_low_pc
619 .word .Ltmp11-.Ltmp10 // DW_AT_high_pc
620 .byte 1 // DW_AT_call_file
621 .byte 15 // DW_AT_call_line
622 .byte 14 // Abbrev [14] 0x130:0x9 DW_TAG_formal_parameter
623 .word .Ldebug_loc4 // DW_AT_location
624 .word 50 // DW_AT_abstract_origin
625 .byte 14 // Abbrev [14] 0x139:0x9 DW_TAG_formal_parameter
626 .word .Ldebug_loc3 // DW_AT_location
627 .word 61 // DW_AT_abstract_origin
628 .byte 16 // Abbrev [16] 0x142:0xa DW_TAG_variable
629 .byte 3 // DW_AT_location
630 .byte 145
631 .ascii "\240\177"
632 .byte 0 // DW_AT_LLVM_tag_offset
633 .word 72 // DW_AT_abstract_origin
634 .byte 0 // End Of Children Mark
635 .byte 0 // End Of Children Mark
636 .byte 0 // End Of Children Mark
637 .byte 0 // End Of Children Mark
638 .byte 0 // End Of Children Mark
639 .Ldebug_info_end0:
640 .section .debug_ranges,"",@progbits
641 .Ldebug_ranges0:
642 .xword .Ltmp1-.Lfunc_begin0
643 .xword .Ltmp4-.Lfunc_begin0
644 .xword .Ltmp5-.Lfunc_begin0
645 .xword .Ltmp6-.Lfunc_begin0
646 .xword .Ltmp7-.Lfunc_begin0
647 .xword .Ltmp8-.Lfunc_begin0
648 .xword .Ltmp9-.Lfunc_begin0
649 .xword .Ltmp11-.Lfunc_begin0
650 .xword 0
651 .xword 0
652 .Ldebug_ranges1:
653 .xword .Ltmp1-.Lfunc_begin0
654 .xword .Ltmp2-.Lfunc_begin0
655 .xword .Ltmp5-.Lfunc_begin0
656 .xword .Ltmp6-.Lfunc_begin0
657 .xword .Ltmp7-.Lfunc_begin0
658 .xword .Ltmp8-.Lfunc_begin0
659 .xword .Ltmp9-.Lfunc_begin0
660 .xword .Ltmp10-.Lfunc_begin0
661 .xword 0
662 .xword 0
663 .Ldebug_ranges2:
664 .xword .Ltmp1-.Lfunc_begin0
665 .xword .Ltmp3-.Lfunc_begin0
666 .xword .Ltmp5-.Lfunc_begin0
667 .xword .Ltmp6-.Lfunc_begin0
668 .xword .Ltmp7-.Lfunc_begin0
669 .xword .Ltmp8-.Lfunc_begin0
670 .xword .Ltmp9-.Lfunc_begin0
671 .xword .Ltmp10-.Lfunc_begin0
672 .xword 0
673 .xword 0
674 .Ldebug_ranges3:
675 .xword .Ltmp3-.Lfunc_begin0
676 .xword .Ltmp4-.Lfunc_begin0
677 .xword .Ltmp10-.Lfunc_begin0
678 .xword .Ltmp11-.Lfunc_begin0
679 .xword 0
680 .xword 0
681 .section .debug_macinfo,"",@progbits
682 .byte 0 // End Of Macro List Mark
684 .ident "clang version 9.0.0 "
685 .section ".note.GNU-stack","",@progbits
686 .section .debug_line,"",@progbits
687 .Lline_table_start0: