clarify the purpose of this project
[nyanglibc.git] / libio / genops.shared.s
blob8887195e5476d547dc8b4869503844ea4239a1b6
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .section __libc_freeres_fn,"ax",@progbits
8 .p2align 4,,15
9 .type buffer_free, @function
10 buffer_free:
11 .LFB105:
12 pushq %rbx
13 movq freeres_list(%rip), %rbx
14 movb $1, dealloc_buffers(%rip)
15 testq %rbx, %rbx
16 je .L1
17 .p2align 4,,10
18 .p2align 3
19 .L3:
20 movq 176(%rbx), %rdi
21 call free@PLT
22 movq 168(%rbx), %rbx
23 testq %rbx, %rbx
24 movq %rbx, freeres_list(%rip)
25 jne .L3
26 .L1:
27 popq %rbx
28 ret
29 .LFE105:
30 .size buffer_free, .-buffer_free
31 .text
32 .p2align 4,,15
33 .type flush_cleanup, @function
34 flush_cleanup:
35 .LFB68:
36 movq run_fp(%rip), %rax
37 testq %rax, %rax
38 je .L12
39 testl $32768, (%rax)
40 je .L19
41 .L12:
42 movl 4+list_all_lock(%rip), %eax
43 subl $1, %eax
44 testl %eax, %eax
45 movl %eax, 4+list_all_lock(%rip)
46 jne .L10
47 movq $0, 8+list_all_lock(%rip)
48 #APP
49 # 47 "genops.c" 1
50 movl %fs:24,%edx
51 # 0 "" 2
52 #NO_APP
53 testl %edx, %edx
54 jne .L17
55 subl $1, list_all_lock(%rip)
56 ret
57 .p2align 4,,10
58 .p2align 3
59 .L17:
60 #APP
61 # 47 "genops.c" 1
62 xchgl %eax, list_all_lock(%rip)
63 # 0 "" 2
64 #NO_APP
65 cmpl $1, %eax
66 jle .L10
67 xorl %r10d, %r10d
68 movl $1, %edx
69 movl $129, %esi
70 leaq list_all_lock(%rip), %rdi
71 movl $202, %eax
72 #APP
73 # 47 "genops.c" 1
74 syscall
76 # 0 "" 2
77 #NO_APP
78 .L10:
79 rep ret
80 .p2align 4,,10
81 .p2align 3
82 .L19:
83 movq 136(%rax), %rdi
84 movl 4(%rdi), %eax
85 subl $1, %eax
86 testl %eax, %eax
87 movl %eax, 4(%rdi)
88 jne .L12
89 movq $0, 8(%rdi)
90 #APP
91 # 46 "genops.c" 1
92 movl %fs:24,%edx
93 # 0 "" 2
94 #NO_APP
95 testl %edx, %edx
96 jne .L14
97 subl $1, (%rdi)
98 jmp .L12
99 .p2align 4,,10
100 .p2align 3
101 .L14:
102 #APP
103 # 46 "genops.c" 1
104 xchgl %eax, (%rdi)
105 # 0 "" 2
106 #NO_APP
107 cmpl $1, %eax
108 jle .L12
109 xorl %r10d, %r10d
110 movl $1, %edx
111 movl $129, %esi
112 movl $202, %eax
113 #APP
114 # 46 "genops.c" 1
115 syscall
117 # 0 "" 2
118 #NO_APP
119 jmp .L12
120 .LFE68:
121 .size flush_cleanup, .-flush_cleanup
122 .p2align 4,,15
123 .type __GI__IO_un_link.part.1, @function
124 __GI__IO_un_link.part.1:
125 .LFB128:
126 pushq %r12
127 pushq %rbp
128 pushq %rbx
129 movq %rdi, %rbx
130 subq $32, %rsp
131 movl __libc_pthread_functions_init(%rip), %ebp
132 testl %ebp, %ebp
133 je .L21
134 movq 184+__libc_pthread_functions(%rip), %rax
135 movq %rsp, %rdi
136 xorl %edx, %edx
137 #APP
138 # 58 "genops.c" 1
139 ror $2*8+1, %rax
140 xor %fs:48, %rax
141 # 0 "" 2
142 #NO_APP
143 leaq flush_cleanup(%rip), %rsi
144 call *%rax
145 .L22:
146 movq %fs:16, %r12
147 cmpq 8+list_all_lock(%rip), %r12
148 je .L23
149 #APP
150 # 59 "genops.c" 1
151 movl %fs:24,%eax
152 # 0 "" 2
153 #NO_APP
154 testl %eax, %eax
155 jne .L24
156 movl $1, %edx
157 #APP
158 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
159 cmpxchgl %edx, list_all_lock(%rip)
160 # 0 "" 2
161 #NO_APP
162 .L25:
163 movq %r12, 8+list_all_lock(%rip)
164 .L23:
165 movl (%rbx), %esi
166 movl 4+list_all_lock(%rip), %edx
167 movq %rbx, run_fp(%rip)
168 movl %esi, %r8d
169 addl $1, %edx
170 andl $32768, %r8d
171 movl %edx, 4+list_all_lock(%rip)
172 jne .L26
173 movq 136(%rbx), %rdi
174 movq %fs:16, %r12
175 cmpq 8(%rdi), %r12
176 je .L27
177 #APP
178 # 61 "genops.c" 1
179 movl %fs:24,%eax
180 # 0 "" 2
181 #NO_APP
182 testl %eax, %eax
183 movl $1, %edx
184 jne .L28
185 #APP
186 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
187 cmpxchgl %edx, (%rdi)
188 # 0 "" 2
189 #NO_APP
190 .L29:
191 movl (%rbx), %esi
192 movq 136(%rbx), %rdi
193 movl %esi, %r8d
194 movq %r12, 8(%rdi)
195 andl $32768, %r8d
196 .L27:
197 addl $1, 4(%rdi)
198 movq __GI__IO_list_all(%rip), %rdi
199 testq %rdi, %rdi
200 je .L30
201 .L46:
202 cmpq %rdi, %rbx
203 je .L61
204 movq 104(%rdi), %rcx
205 testq %rcx, %rcx
206 je .L30
207 cmpq %rcx, %rbx
208 jne .L33
209 jmp .L62
210 .p2align 4,,10
211 .p2align 3
212 .L35:
213 cmpq %rdx, %rbx
214 je .L63
215 movq %rdx, %rcx
216 .L33:
217 movq 104(%rcx), %rdx
218 testq %rdx, %rdx
219 jne .L35
220 .L30:
221 andb $127, %sil
222 testl %r8d, %r8d
223 movl %esi, (%rbx)
224 jne .L60
225 .L36:
226 movq 136(%rbx), %rdi
227 movl 4(%rdi), %eax
228 leal -1(%rax), %ecx
229 testl %ecx, %ecx
230 movl %ecx, 4(%rdi)
231 movl 4+list_all_lock(%rip), %edx
232 jne .L37
233 movq $0, 8(%rdi)
234 #APP
235 # 76 "genops.c" 1
236 movl %fs:24,%eax
237 # 0 "" 2
238 #NO_APP
239 testl %eax, %eax
240 jne .L39
241 subl $1, (%rdi)
242 movl 4+list_all_lock(%rip), %edx
243 .L37:
244 subl $1, %edx
245 movq $0, run_fp(%rip)
246 testl %edx, %edx
247 movl %edx, 4+list_all_lock(%rip)
248 jne .L41
249 movq $0, 8+list_all_lock(%rip)
250 #APP
251 # 78 "genops.c" 1
252 movl %fs:24,%eax
253 # 0 "" 2
254 #NO_APP
255 testl %eax, %eax
256 jne .L42
257 subl $1, list_all_lock(%rip)
258 .L41:
259 testl %ebp, %ebp
260 je .L20
261 movq 192+__libc_pthread_functions(%rip), %rax
262 movq %rsp, %rdi
263 xorl %esi, %esi
264 #APP
265 # 79 "genops.c" 1
266 ror $2*8+1, %rax
267 xor %fs:48, %rax
268 # 0 "" 2
269 #NO_APP
270 call *%rax
271 .L20:
272 addq $32, %rsp
273 popq %rbx
274 popq %rbp
275 popq %r12
277 .p2align 4,,10
278 .p2align 3
279 .L26:
280 movq __GI__IO_list_all(%rip), %rdi
281 testq %rdi, %rdi
282 jne .L46
283 andb $127, %sil
284 movl %esi, (%rbx)
285 jmp .L37
286 .p2align 4,,10
287 .p2align 3
288 .L61:
289 movq 104(%rbx), %rax
290 andb $127, %sil
291 testl %r8d, %r8d
292 movq %rax, __GI__IO_list_all(%rip)
293 movl %esi, (%rbx)
294 je .L36
295 .L60:
296 movl 4+list_all_lock(%rip), %edx
297 jmp .L37
298 .p2align 4,,10
299 .p2align 3
300 .L63:
301 addq $104, %rcx
302 .L34:
303 movq 104(%rbx), %rax
304 movq %rax, (%rcx)
305 jmp .L30
306 .p2align 4,,10
307 .p2align 3
308 .L42:
309 #APP
310 # 78 "genops.c" 1
311 xchgl %edx, list_all_lock(%rip)
312 # 0 "" 2
313 #NO_APP
314 cmpl $1, %edx
315 jle .L41
316 xorl %r10d, %r10d
317 movl $1, %edx
318 movl $129, %esi
319 leaq list_all_lock(%rip), %rdi
320 movl $202, %eax
321 #APP
322 # 78 "genops.c" 1
323 syscall
325 # 0 "" 2
326 #NO_APP
327 jmp .L41
328 .p2align 4,,10
329 .p2align 3
330 .L21:
331 leaq flush_cleanup(%rip), %rax
332 movq $0, 8(%rsp)
333 movq %rax, (%rsp)
334 jmp .L22
335 .p2align 4,,10
336 .p2align 3
337 .L24:
338 xorl %eax, %eax
339 movl $1, %edx
340 lock cmpxchgl %edx, list_all_lock(%rip)
341 je .L25
342 leaq list_all_lock(%rip), %rdi
343 call __lll_lock_wait_private
344 jmp .L25
345 .p2align 4,,10
346 .p2align 3
347 .L28:
348 movl %r8d, %eax
349 lock cmpxchgl %edx, (%rdi)
350 je .L29
351 call __lll_lock_wait_private
352 jmp .L29
353 .p2align 4,,10
354 .p2align 3
355 .L62:
356 leaq 104(%rdi), %rcx
357 jmp .L34
358 .L39:
359 #APP
360 # 76 "genops.c" 1
361 xchgl %r8d, (%rdi)
362 # 0 "" 2
363 #NO_APP
364 cmpl $1, %r8d
365 movl 4+list_all_lock(%rip), %edx
366 jle .L37
367 xorl %r10d, %r10d
368 movl $1, %edx
369 movl $129, %esi
370 movl $202, %eax
371 #APP
372 # 76 "genops.c" 1
373 syscall
375 # 0 "" 2
376 #NO_APP
377 jmp .L60
378 .LFE128:
379 .size __GI__IO_un_link.part.1, .-__GI__IO_un_link.part.1
380 .p2align 4,,15
381 .globl __GI__IO_un_link
382 .hidden __GI__IO_un_link
383 .type __GI__IO_un_link, @function
384 __GI__IO_un_link:
385 .LFB69:
386 testb $-128, (%rdi)
387 je .L64
388 jmp __GI__IO_un_link.part.1
389 .p2align 4,,10
390 .p2align 3
391 .L64:
392 rep ret
393 .LFE69:
394 .size __GI__IO_un_link, .-__GI__IO_un_link
395 .globl _IO_un_link
396 .set _IO_un_link,__GI__IO_un_link
397 .p2align 4,,15
398 .globl __GI__IO_link_in
399 .hidden __GI__IO_link_in
400 .type __GI__IO_link_in, @function
401 __GI__IO_link_in:
402 .LFB70:
403 movl (%rdi), %eax
404 testb $-128, %al
405 jne .L95
406 pushq %r12
407 pushq %rbp
408 orb $-128, %al
409 pushq %rbx
410 movq %rdi, %rbx
411 subq $32, %rsp
412 movl __libc_pthread_functions_init(%rip), %ebp
413 movl %eax, (%rdi)
414 testl %ebp, %ebp
415 je .L68
416 movq 184+__libc_pthread_functions(%rip), %rax
417 movq %rsp, %rdi
418 xorl %edx, %edx
419 #APP
420 # 92 "genops.c" 1
421 ror $2*8+1, %rax
422 xor %fs:48, %rax
423 # 0 "" 2
424 #NO_APP
425 leaq flush_cleanup(%rip), %rsi
426 call *%rax
427 .L69:
428 movq %fs:16, %r12
429 cmpq %r12, 8+list_all_lock(%rip)
430 je .L70
431 #APP
432 # 93 "genops.c" 1
433 movl %fs:24,%eax
434 # 0 "" 2
435 #NO_APP
436 testl %eax, %eax
437 jne .L71
438 movl $1, %edx
439 #APP
440 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
441 cmpxchgl %edx, list_all_lock(%rip)
442 # 0 "" 2
443 #NO_APP
444 .L72:
445 movq %r12, 8+list_all_lock(%rip)
446 .L70:
447 movl 4+list_all_lock(%rip), %edx
448 movl (%rbx), %ecx
449 movq %rbx, run_fp(%rip)
450 addl $1, %edx
451 andl $32768, %ecx
452 movl %edx, 4+list_all_lock(%rip)
453 jne .L73
454 movq 136(%rbx), %rdi
455 movq %fs:16, %r12
456 cmpq %r12, 8(%rdi)
457 je .L99
458 #APP
459 # 95 "genops.c" 1
460 movl %fs:24,%eax
461 # 0 "" 2
462 #NO_APP
463 testl %eax, %eax
464 movl $1, %edx
465 jne .L76
466 #APP
467 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
468 cmpxchgl %edx, (%rdi)
469 # 0 "" 2
470 #NO_APP
471 .L77:
472 movl (%rbx), %eax
473 movq 136(%rbx), %rdi
474 movq __GI__IO_list_all(%rip), %rdx
475 addl $1, 4(%rdi)
476 testb $-128, %ah
477 movq %r12, 8(%rdi)
478 movq %rbx, __GI__IO_list_all(%rip)
479 movq %rdx, 104(%rbx)
480 jne .L98
481 .L75:
482 movl 4(%rdi), %eax
483 subl $1, %eax
484 testl %eax, %eax
485 movl %eax, 4(%rdi)
486 movl 4+list_all_lock(%rip), %edx
487 jne .L78
488 movq $0, 8(%rdi)
489 #APP
490 # 100 "genops.c" 1
491 movl %fs:24,%edx
492 # 0 "" 2
493 #NO_APP
494 testl %edx, %edx
495 jne .L80
496 subl $1, (%rdi)
497 movl 4+list_all_lock(%rip), %edx
498 jmp .L78
499 .p2align 4,,10
500 .p2align 3
501 .L95:
502 rep ret
503 .p2align 4,,10
504 .p2align 3
505 .L73:
506 movq __GI__IO_list_all(%rip), %rax
507 movq %rbx, __GI__IO_list_all(%rip)
508 movq %rax, 104(%rbx)
509 .L78:
510 subl $1, %edx
511 movq $0, run_fp(%rip)
512 testl %edx, %edx
513 movl %edx, 4+list_all_lock(%rip)
514 jne .L82
515 movq $0, 8+list_all_lock(%rip)
516 #APP
517 # 102 "genops.c" 1
518 movl %fs:24,%eax
519 # 0 "" 2
520 #NO_APP
521 testl %eax, %eax
522 jne .L83
523 subl $1, list_all_lock(%rip)
524 .L82:
525 testl %ebp, %ebp
526 je .L66
527 movq 192+__libc_pthread_functions(%rip), %rax
528 movq %rsp, %rdi
529 xorl %esi, %esi
530 #APP
531 # 103 "genops.c" 1
532 ror $2*8+1, %rax
533 xor %fs:48, %rax
534 # 0 "" 2
535 #NO_APP
536 call *%rax
537 .L66:
538 addq $32, %rsp
539 popq %rbx
540 popq %rbp
541 popq %r12
543 .p2align 4,,10
544 .p2align 3
545 .L99:
546 movq __GI__IO_list_all(%rip), %rax
547 addl $1, 4(%rdi)
548 movq %rbx, __GI__IO_list_all(%rip)
549 movq %rax, 104(%rbx)
550 jmp .L75
551 .p2align 4,,10
552 .p2align 3
553 .L68:
554 leaq flush_cleanup(%rip), %rax
555 movq $0, 8(%rsp)
556 movq %rax, (%rsp)
557 jmp .L69
558 .p2align 4,,10
559 .p2align 3
560 .L71:
561 xorl %eax, %eax
562 movl $1, %edx
563 lock cmpxchgl %edx, list_all_lock(%rip)
564 je .L72
565 leaq list_all_lock(%rip), %rdi
566 call __lll_lock_wait_private
567 jmp .L72
568 .p2align 4,,10
569 .p2align 3
570 .L83:
571 #APP
572 # 102 "genops.c" 1
573 xchgl %edx, list_all_lock(%rip)
574 # 0 "" 2
575 #NO_APP
576 cmpl $1, %edx
577 jle .L82
578 xorl %r10d, %r10d
579 movl $1, %edx
580 movl $129, %esi
581 leaq list_all_lock(%rip), %rdi
582 movl $202, %eax
583 #APP
584 # 102 "genops.c" 1
585 syscall
587 # 0 "" 2
588 #NO_APP
589 jmp .L82
590 .p2align 4,,10
591 .p2align 3
592 .L76:
593 movl %ecx, %eax
594 lock cmpxchgl %edx, (%rdi)
595 je .L77
596 call __lll_lock_wait_private
597 jmp .L77
598 .p2align 4,,10
599 .p2align 3
600 .L80:
601 #APP
602 # 100 "genops.c" 1
603 xchgl %eax, (%rdi)
604 # 0 "" 2
605 #NO_APP
606 cmpl $1, %eax
607 movl 4+list_all_lock(%rip), %edx
608 jle .L78
609 xorl %r10d, %r10d
610 movl $1, %edx
611 movl $129, %esi
612 movl $202, %eax
613 #APP
614 # 100 "genops.c" 1
615 syscall
617 # 0 "" 2
618 #NO_APP
619 .L98:
620 movl 4+list_all_lock(%rip), %edx
621 jmp .L78
622 .LFE70:
623 .size __GI__IO_link_in, .-__GI__IO_link_in
624 .globl _IO_link_in
625 .set _IO_link_in,__GI__IO_link_in
626 .p2align 4,,15
627 .globl _IO_least_marker
628 .type _IO_least_marker, @function
629 _IO_least_marker:
630 .LFB71:
631 movq 96(%rdi), %rdx
632 movq %rsi, %rax
633 subq 24(%rdi), %rax
634 testq %rdx, %rdx
635 je .L100
636 .p2align 4,,10
637 .p2align 3
638 .L102:
639 movslq 16(%rdx), %rcx
640 movq (%rdx), %rdx
641 cmpq %rcx, %rax
642 cmovg %rcx, %rax
643 testq %rdx, %rdx
644 jne .L102
645 .L100:
646 rep ret
647 .LFE71:
648 .size _IO_least_marker, .-_IO_least_marker
649 .p2align 4,,15
650 .type save_for_backup, @function
651 save_for_backup:
652 .LFB77:
653 pushq %r15
654 pushq %r14
655 pushq %r13
656 pushq %r12
657 movq %rsi, %r13
658 pushq %rbp
659 pushq %rbx
660 movq %rdi, %rbp
661 movq %r13, %rbx
662 subq $40, %rsp
663 call _IO_least_marker@PLT
664 movq 24(%rbp), %r10
665 movq 88(%rbp), %r14
666 movq %rax, %rcx
667 movq 72(%rbp), %r8
668 subq %r10, %rbx
669 movq %rbx, %r12
670 subq %rax, %r12
671 movq %r14, %rax
672 subq %r8, %rax
673 cmpq %rax, %r12
674 ja .L124
675 subq %r12, %rax
676 testq %rcx, %rcx
677 movq %rax, %r15
678 leaq (%r8,%rax), %r9
679 js .L125
680 testq %r12, %r12
681 jne .L126
682 .L112:
683 movq 96(%rbp), %rax
684 movq %r9, 80(%rbp)
685 movl %ebx, %edx
686 testq %rax, %rax
687 je .L116
688 .p2align 4,,10
689 .p2align 3
690 .L115:
691 subl %edx, 16(%rax)
692 movq (%rax), %rax
693 testq %rax, %rax
694 jne .L115
695 .L116:
696 xorl %eax, %eax
697 .L107:
698 addq $40, %rsp
699 popq %rbx
700 popq %rbp
701 popq %r12
702 popq %r13
703 popq %r14
704 popq %r15
706 .p2align 4,,10
707 .p2align 3
708 .L124:
709 leaq 100(%r12), %rax
710 movq %rcx, 24(%rsp)
711 movq %r8, 16(%rsp)
712 movq %r10, 8(%rsp)
713 movq %rax, %rdi
714 movq %rax, (%rsp)
715 call malloc@PLT
716 testq %rax, %rax
717 movq %rax, %r15
718 je .L117
719 movq 24(%rsp), %rcx
720 leaq 100(%rax), %r9
721 movq 8(%rsp), %r10
722 movq 16(%rsp), %r8
723 testq %rcx, %rcx
724 js .L127
725 leaq (%r10,%rcx), %rsi
726 movq %r9, %rdi
727 movq %r12, %rdx
728 movq %r8, 8(%rsp)
729 call __GI_memcpy@PLT
730 movq 8(%rsp), %r8
731 movq %rax, %r9
732 .L111:
733 movq %r8, %rdi
734 movq %r9, 8(%rsp)
735 movq %r13, %rbx
736 call free@PLT
737 movq %r15, 72(%rbp)
738 addq (%rsp), %r15
739 subq 24(%rbp), %rbx
740 movq 8(%rsp), %r9
741 movq %r15, 88(%rbp)
742 jmp .L112
743 .p2align 4,,10
744 .p2align 3
745 .L126:
746 leaq (%r10,%rcx), %rsi
747 movq %r9, %rdi
748 movq %r12, %rdx
749 movq %r13, %rbx
750 call __GI_memcpy@PLT
751 movq 72(%rbp), %r9
752 subq 24(%rbp), %rbx
753 addq %r15, %r9
754 jmp .L112
755 .p2align 4,,10
756 .p2align 3
757 .L125:
758 movq %rcx, %rdx
759 leaq (%r14,%rcx), %rsi
760 movq %r9, %rdi
761 negq %rdx
762 movq %rcx, (%rsp)
763 movq %r13, %rbx
764 call __GI_memmove
765 movq (%rsp), %rcx
766 movq %r15, %rdi
767 movq 24(%rbp), %rsi
768 movq %r13, %rdx
769 subq %rcx, %rdi
770 addq 72(%rbp), %rdi
771 subq %rsi, %rdx
772 call __GI_memcpy@PLT
773 addq 72(%rbp), %r15
774 subq 24(%rbp), %rbx
775 movq %r15, %r9
776 jmp .L112
777 .p2align 4,,10
778 .p2align 3
779 .L127:
780 movq %rcx, %rdx
781 leaq (%r14,%rcx), %rsi
782 movq %r9, %rdi
783 negq %rdx
784 movq %r8, 24(%rsp)
785 movq %r9, 8(%rsp)
786 movq %r10, 16(%rsp)
787 call __GI_mempcpy@PLT
788 movq 16(%rsp), %r10
789 movq %rbx, %rdx
790 movq %rax, %rdi
791 movq %r10, %rsi
792 call __GI_memcpy@PLT
793 movq 8(%rsp), %r9
794 movq 24(%rsp), %r8
795 jmp .L111
796 .L117:
797 movl $-1, %eax
798 jmp .L107
799 .LFE77:
800 .size save_for_backup, .-save_for_backup
801 .p2align 4,,15
802 .globl _IO_switch_to_main_get_area
803 .type _IO_switch_to_main_get_area, @function
804 _IO_switch_to_main_get_area:
805 .LFB72:
806 movq 16(%rdi), %rax
807 movq 88(%rdi), %rdx
808 andl $-257, (%rdi)
809 movq %rdx, 16(%rdi)
810 movq %rax, 88(%rdi)
811 movq 24(%rdi), %rdx
812 movq 72(%rdi), %rax
813 movq %rdx, 72(%rdi)
814 movq %rax, 24(%rdi)
815 movq %rax, 8(%rdi)
817 .LFE72:
818 .size _IO_switch_to_main_get_area, .-_IO_switch_to_main_get_area
819 .p2align 4,,15
820 .globl _IO_switch_to_backup_area
821 .type _IO_switch_to_backup_area, @function
822 _IO_switch_to_backup_area:
823 .LFB73:
824 movq 16(%rdi), %rdx
825 movq 88(%rdi), %rax
826 movq 72(%rdi), %rcx
827 orl $256, (%rdi)
828 movq %rdx, 88(%rdi)
829 movq 24(%rdi), %rdx
830 movq %rax, 16(%rdi)
831 movq %rcx, 24(%rdi)
832 movq %rdx, 72(%rdi)
833 movq %rax, 8(%rdi)
835 .LFE73:
836 .size _IO_switch_to_backup_area, .-_IO_switch_to_backup_area
837 .p2align 4,,15
838 .globl __GI__IO_switch_to_get_mode
839 .hidden __GI__IO_switch_to_get_mode
840 .type __GI__IO_switch_to_get_mode, @function
841 __GI__IO_switch_to_get_mode:
842 .LFB74:
843 pushq %rbp
844 pushq %rbx
845 movq %rdi, %rbx
846 subq $8, %rsp
847 movq 40(%rdi), %rax
848 cmpq 32(%rdi), %rax
849 jbe .L131
850 movq 216(%rdi), %rbp
851 leaq __start___libc_IO_vtables(%rip), %rdx
852 leaq __stop___libc_IO_vtables(%rip), %rax
853 subq %rdx, %rax
854 movq %rbp, %rsi
855 subq %rdx, %rsi
856 cmpq %rsi, %rax
857 jbe .L140
858 .L132:
859 movl $-1, %esi
860 movq %rbx, %rdi
861 call *24(%rbp)
862 cmpl $-1, %eax
863 je .L130
864 movq 40(%rbx), %rax
865 .L131:
866 movl (%rbx), %edx
867 testb $1, %dh
868 jne .L141
869 cmpq %rax, 16(%rbx)
870 movq 56(%rbx), %rcx
871 movq %rcx, 24(%rbx)
872 jnb .L135
873 movq %rax, 16(%rbx)
874 .L135:
875 andb $-9, %dh
876 movq %rax, 8(%rbx)
877 movq %rax, 48(%rbx)
878 movq %rax, 32(%rbx)
879 movl %edx, (%rbx)
880 xorl %eax, %eax
881 .L130:
882 addq $8, %rsp
883 popq %rbx
884 popq %rbp
886 .p2align 4,,10
887 .p2align 3
888 .L141:
889 movq 80(%rbx), %rcx
890 movq %rcx, 24(%rbx)
891 jmp .L135
892 .p2align 4,,10
893 .p2align 3
894 .L140:
895 call _IO_vtable_check
896 jmp .L132
897 .LFE74:
898 .size __GI__IO_switch_to_get_mode, .-__GI__IO_switch_to_get_mode
899 .globl _IO_switch_to_get_mode
900 .set _IO_switch_to_get_mode,__GI__IO_switch_to_get_mode
901 .p2align 4,,15
902 .globl __GI__IO_free_backup_area
903 .hidden __GI__IO_free_backup_area
904 .type __GI__IO_free_backup_area, @function
905 __GI__IO_free_backup_area:
906 .LFB75:
907 pushq %rbx
908 testl $256, (%rdi)
909 movq %rdi, %rbx
910 je .L143
911 call _IO_switch_to_main_get_area@PLT
912 .L143:
913 movq 72(%rbx), %rdi
914 call free@PLT
915 movq $0, 72(%rbx)
916 movq $0, 88(%rbx)
917 movq $0, 80(%rbx)
918 popq %rbx
920 .LFE75:
921 .size __GI__IO_free_backup_area, .-__GI__IO_free_backup_area
922 .globl _IO_free_backup_area
923 .set _IO_free_backup_area,__GI__IO_free_backup_area
924 .p2align 4,,15
925 .globl __GI___overflow
926 .hidden __GI___overflow
927 .type __GI___overflow, @function
928 __GI___overflow:
929 .LFB76:
930 pushq %rbx
931 subq $16, %rsp
932 movl 192(%rdi), %eax
933 testl %eax, %eax
934 jne .L149
935 movl $-1, 192(%rdi)
936 .L149:
937 movq 216(%rdi), %rbx
938 leaq __start___libc_IO_vtables(%rip), %rdx
939 leaq __stop___libc_IO_vtables(%rip), %rax
940 subq %rdx, %rax
941 movq %rbx, %rcx
942 subq %rdx, %rcx
943 cmpq %rcx, %rax
944 jbe .L152
945 movq 24(%rbx), %rax
946 addq $16, %rsp
947 popq %rbx
948 jmp *%rax
949 .p2align 4,,10
950 .p2align 3
951 .L152:
952 movl %esi, 12(%rsp)
953 movq %rdi, (%rsp)
954 call _IO_vtable_check
955 movq 24(%rbx), %rax
956 movl 12(%rsp), %esi
957 movq (%rsp), %rdi
958 addq $16, %rsp
959 popq %rbx
960 jmp *%rax
961 .LFE76:
962 .size __GI___overflow, .-__GI___overflow
963 .globl __overflow
964 .set __overflow,__GI___overflow
965 .p2align 4,,15
966 .globl __GI___underflow
967 .hidden __GI___underflow
968 .type __GI___underflow, @function
969 __GI___underflow:
970 .LFB78:
971 movl 192(%rdi), %eax
972 testl %eax, %eax
973 jne .L154
974 movl $-1, 192(%rdi)
975 .L155:
976 pushq %rbp
977 pushq %rbx
978 movq %rdi, %rbx
979 subq $8, %rsp
980 testl $2048, (%rdi)
981 jne .L157
982 .L161:
983 movq 8(%rbx), %rax
984 cmpq 16(%rbx), %rax
985 jb .L180
986 testl $256, (%rbx)
987 jne .L181
988 .L162:
989 cmpq $0, 96(%rbx)
990 je .L163
991 movq 16(%rbx), %rsi
992 movq %rbx, %rdi
993 call save_for_backup
994 testl %eax, %eax
995 jne .L160
996 .L164:
997 movq 216(%rbx), %rbp
998 leaq __start___libc_IO_vtables(%rip), %rdx
999 leaq __stop___libc_IO_vtables(%rip), %rax
1000 subq %rdx, %rax
1001 movq %rbp, %rcx
1002 subq %rdx, %rcx
1003 cmpq %rcx, %rax
1004 jbe .L182
1005 .L166:
1006 movq 32(%rbp), %rax
1007 addq $8, %rsp
1008 movq %rbx, %rdi
1009 popq %rbx
1010 popq %rbp
1011 jmp *%rax
1012 .p2align 4,,10
1013 .p2align 3
1014 .L181:
1015 movq %rbx, %rdi
1016 call _IO_switch_to_main_get_area@PLT
1017 movq 8(%rbx), %rax
1018 cmpq 16(%rbx), %rax
1019 jnb .L162
1020 .p2align 4,,10
1021 .p2align 3
1022 .L180:
1023 movzbl (%rax), %eax
1024 .L153:
1025 addq $8, %rsp
1026 popq %rbx
1027 popq %rbp
1029 .p2align 4,,10
1030 .p2align 3
1031 .L154:
1032 cmpl $-1, %eax
1033 je .L155
1034 movl $-1, %eax
1036 .p2align 4,,10
1037 .p2align 3
1038 .L157:
1039 call __GI__IO_switch_to_get_mode
1040 cmpl $-1, %eax
1041 jne .L161
1042 .L160:
1043 movl $-1, %eax
1044 jmp .L153
1045 .p2align 4,,10
1046 .p2align 3
1047 .L163:
1048 cmpq $0, 72(%rbx)
1049 je .L164
1050 movq %rbx, %rdi
1051 call __GI__IO_free_backup_area
1052 jmp .L164
1053 .p2align 4,,10
1054 .p2align 3
1055 .L182:
1056 call _IO_vtable_check
1057 jmp .L166
1058 .LFE78:
1059 .size __GI___underflow, .-__GI___underflow
1060 .globl __underflow
1061 .set __underflow,__GI___underflow
1062 .p2align 4,,15
1063 .globl __GI___uflow
1064 .hidden __GI___uflow
1065 .type __GI___uflow, @function
1066 __GI___uflow:
1067 .LFB79:
1068 movl 192(%rdi), %eax
1069 testl %eax, %eax
1070 jne .L184
1071 movl $-1, 192(%rdi)
1072 .L185:
1073 pushq %rbp
1074 pushq %rbx
1075 movq %rdi, %rbx
1076 subq $8, %rsp
1077 testl $2048, (%rdi)
1078 jne .L187
1079 .L191:
1080 movq 8(%rbx), %rax
1081 cmpq 16(%rbx), %rax
1082 jb .L210
1083 testl $256, (%rbx)
1084 jne .L211
1085 .L192:
1086 cmpq $0, 96(%rbx)
1087 je .L193
1088 movq 16(%rbx), %rsi
1089 movq %rbx, %rdi
1090 call save_for_backup
1091 testl %eax, %eax
1092 jne .L190
1093 .L194:
1094 movq 216(%rbx), %rbp
1095 leaq __start___libc_IO_vtables(%rip), %rdx
1096 leaq __stop___libc_IO_vtables(%rip), %rax
1097 subq %rdx, %rax
1098 movq %rbp, %rcx
1099 subq %rdx, %rcx
1100 cmpq %rcx, %rax
1101 jbe .L212
1102 .L196:
1103 movq 40(%rbp), %rax
1104 addq $8, %rsp
1105 movq %rbx, %rdi
1106 popq %rbx
1107 popq %rbp
1108 jmp *%rax
1109 .p2align 4,,10
1110 .p2align 3
1111 .L211:
1112 movq %rbx, %rdi
1113 call _IO_switch_to_main_get_area@PLT
1114 movq 8(%rbx), %rax
1115 cmpq 16(%rbx), %rax
1116 jnb .L192
1117 .p2align 4,,10
1118 .p2align 3
1119 .L210:
1120 leaq 1(%rax), %rdx
1121 movq %rdx, 8(%rbx)
1122 movzbl (%rax), %eax
1123 .L183:
1124 addq $8, %rsp
1125 popq %rbx
1126 popq %rbp
1128 .p2align 4,,10
1129 .p2align 3
1130 .L184:
1131 cmpl $-1, %eax
1132 je .L185
1133 movl $-1, %eax
1135 .p2align 4,,10
1136 .p2align 3
1137 .L187:
1138 call __GI__IO_switch_to_get_mode
1139 cmpl $-1, %eax
1140 jne .L191
1141 .L190:
1142 movl $-1, %eax
1143 jmp .L183
1144 .p2align 4,,10
1145 .p2align 3
1146 .L193:
1147 cmpq $0, 72(%rbx)
1148 je .L194
1149 movq %rbx, %rdi
1150 call __GI__IO_free_backup_area
1151 jmp .L194
1152 .p2align 4,,10
1153 .p2align 3
1154 .L212:
1155 call _IO_vtable_check
1156 jmp .L196
1157 .LFE79:
1158 .size __GI___uflow, .-__GI___uflow
1159 .globl __uflow
1160 .set __uflow,__GI___uflow
1161 .p2align 4,,15
1162 .globl __GI__IO_setb
1163 .hidden __GI__IO_setb
1164 .type __GI__IO_setb, @function
1165 __GI__IO_setb:
1166 .LFB80:
1167 pushq %rbx
1168 movq %rdi, %rbx
1169 subq $32, %rsp
1170 movq 56(%rdi), %rdi
1171 movl (%rbx), %eax
1172 testq %rdi, %rdi
1173 je .L214
1174 testb $1, %al
1175 je .L221
1176 .L214:
1177 movq %rdx, 64(%rbx)
1178 movl %eax, %edx
1179 andl $-2, %eax
1180 orl $1, %edx
1181 testl %ecx, %ecx
1182 movq %rsi, 56(%rbx)
1183 cmove %edx, %eax
1184 movl %eax, (%rbx)
1185 addq $32, %rsp
1186 popq %rbx
1188 .p2align 4,,10
1189 .p2align 3
1190 .L221:
1191 movl %ecx, 28(%rsp)
1192 movq %rdx, 16(%rsp)
1193 movq %rsi, 8(%rsp)
1194 call free@PLT
1195 movl (%rbx), %eax
1196 movl 28(%rsp), %ecx
1197 movq 16(%rsp), %rdx
1198 movq 8(%rsp), %rsi
1199 jmp .L214
1200 .LFE80:
1201 .size __GI__IO_setb, .-__GI__IO_setb
1202 .globl _IO_setb
1203 .set _IO_setb,__GI__IO_setb
1204 .p2align 4,,15
1205 .globl __GI__IO_doallocbuf
1206 .hidden __GI__IO_doallocbuf
1207 .type __GI__IO_doallocbuf, @function
1208 __GI__IO_doallocbuf:
1209 .LFB81:
1210 cmpq $0, 56(%rdi)
1211 je .L240
1212 rep ret
1213 .p2align 4,,10
1214 .p2align 3
1215 .L240:
1216 pushq %r12
1217 pushq %rbp
1218 pushq %rbx
1219 movl (%rdi), %eax
1220 movq %rdi, %rbx
1221 testb $2, %al
1222 je .L225
1223 movl 192(%rdi), %edx
1224 testl %edx, %edx
1225 jg .L225
1226 leaq 132(%rdi), %r12
1227 leaq 131(%rdi), %rbp
1228 .L229:
1229 orl $1, %eax
1230 movq %rbp, 56(%rbx)
1231 movq %r12, 64(%rbx)
1232 movl %eax, (%rbx)
1233 .L222:
1234 popq %rbx
1235 popq %rbp
1236 popq %r12
1238 .p2align 4,,10
1239 .p2align 3
1240 .L225:
1241 movq 216(%rbx), %rbp
1242 leaq __start___libc_IO_vtables(%rip), %rdx
1243 leaq __stop___libc_IO_vtables(%rip), %rax
1244 subq %rdx, %rax
1245 movq %rbp, %rcx
1246 subq %rdx, %rcx
1247 cmpq %rcx, %rax
1248 jbe .L241
1249 .L227:
1250 movq %rbx, %rdi
1251 call *104(%rbp)
1252 cmpl $-1, %eax
1253 jne .L222
1254 movq 56(%rbx), %rdi
1255 leaq 132(%rbx), %r12
1256 leaq 131(%rbx), %rbp
1257 movl (%rbx), %eax
1258 testq %rdi, %rdi
1259 je .L229
1260 testb $1, %al
1261 jne .L229
1262 call free@PLT
1263 movl (%rbx), %eax
1264 jmp .L229
1265 .p2align 4,,10
1266 .p2align 3
1267 .L241:
1268 call _IO_vtable_check
1269 jmp .L227
1270 .LFE81:
1271 .size __GI__IO_doallocbuf, .-__GI__IO_doallocbuf
1272 .globl _IO_doallocbuf
1273 .set _IO_doallocbuf,__GI__IO_doallocbuf
1274 .p2align 4,,15
1275 .globl _IO_default_underflow
1276 .type _IO_default_underflow, @function
1277 _IO_default_underflow:
1278 .LFB82:
1279 movl $-1, %eax
1281 .LFE82:
1282 .size _IO_default_underflow, .-_IO_default_underflow
1283 .p2align 4,,15
1284 .globl __GI__IO_default_uflow
1285 .hidden __GI__IO_default_uflow
1286 .type __GI__IO_default_uflow, @function
1287 __GI__IO_default_uflow:
1288 .LFB83:
1289 pushq %rbp
1290 pushq %rbx
1291 leaq __start___libc_IO_vtables(%rip), %rdx
1292 leaq __stop___libc_IO_vtables(%rip), %rax
1293 movq %rdi, %rbx
1294 subq $8, %rsp
1295 movq 216(%rdi), %rbp
1296 subq %rdx, %rax
1297 movq %rbp, %rcx
1298 subq %rdx, %rcx
1299 cmpq %rcx, %rax
1300 jbe .L250
1301 .L244:
1302 movq %rbx, %rdi
1303 call *32(%rbp)
1304 cmpl $-1, %eax
1305 je .L243
1306 movq 8(%rbx), %rax
1307 leaq 1(%rax), %rdx
1308 movq %rdx, 8(%rbx)
1309 movzbl (%rax), %eax
1310 .L243:
1311 addq $8, %rsp
1312 popq %rbx
1313 popq %rbp
1315 .p2align 4,,10
1316 .p2align 3
1317 .L250:
1318 call _IO_vtable_check
1319 jmp .L244
1320 .LFE83:
1321 .size __GI__IO_default_uflow, .-__GI__IO_default_uflow
1322 .globl _IO_default_uflow
1323 .set _IO_default_uflow,__GI__IO_default_uflow
1324 .p2align 4,,15
1325 .globl __GI__IO_default_xsputn
1326 .hidden __GI__IO_default_xsputn
1327 .type __GI__IO_default_xsputn, @function
1328 __GI__IO_default_xsputn:
1329 .LFB84:
1330 testq %rdx, %rdx
1331 je .L270
1332 pushq %r15
1333 pushq %r14
1334 movq %rdi, %r15
1335 pushq %r13
1336 pushq %r12
1337 leaq __start___libc_IO_vtables(%rip), %r12
1338 pushq %rbp
1339 leaq __stop___libc_IO_vtables(%rip), %rbp
1340 pushq %rbx
1341 movq %rsi, %rcx
1342 movq %rdx, %r13
1343 movq %rdx, %r14
1344 subq $24, %rsp
1345 subq %r12, %rbp
1346 jmp .L260
1347 .p2align 4,,10
1348 .p2align 3
1349 .L254:
1350 testq %rbx, %rbx
1351 jne .L275
1352 .L255:
1353 subq %rbx, %r14
1354 .L253:
1355 testq %r14, %r14
1356 je .L257
1357 movq 216(%r15), %rax
1358 movq %rax, %rdx
1359 subq %r12, %rdx
1360 cmpq %rdx, %rbp
1361 jbe .L276
1362 .L258:
1363 movzbl (%rcx), %esi
1364 leaq 1(%rcx), %rbx
1365 movq %r15, %rdi
1366 call *24(%rax)
1367 cmpl $-1, %eax
1368 je .L277
1369 subq $1, %r14
1370 movq %rbx, %rcx
1371 .L260:
1372 movq 40(%r15), %rdi
1373 movq 48(%r15), %rbx
1374 cmpq %rbx, %rdi
1375 jnb .L253
1376 subq %rdi, %rbx
1377 cmpq %r14, %rbx
1378 cmova %r14, %rbx
1379 cmpq $20, %rbx
1380 jbe .L254
1381 movq %rcx, %rsi
1382 movq %rbx, %rdx
1383 movq %rcx, (%rsp)
1384 call __GI_mempcpy@PLT
1385 movq (%rsp), %rcx
1386 movq %rax, 40(%r15)
1387 addq %rbx, %rcx
1388 jmp .L255
1389 .p2align 4,,10
1390 .p2align 3
1391 .L277:
1392 subq %r14, %r13
1393 .L257:
1394 addq $24, %rsp
1395 movq %r13, %rax
1396 popq %rbx
1397 popq %rbp
1398 popq %r12
1399 popq %r13
1400 popq %r14
1401 popq %r15
1403 .p2align 4,,10
1404 .p2align 3
1405 .L270:
1406 xorl %eax, %eax
1408 .p2align 4,,10
1409 .p2align 3
1410 .L275:
1411 xorl %eax, %eax
1412 .p2align 4,,10
1413 .p2align 3
1414 .L256:
1415 movzbl (%rcx,%rax), %edx
1416 movb %dl, (%rdi,%rax)
1417 addq $1, %rax
1418 cmpq %rbx, %rax
1419 jne .L256
1420 addq %rbx, %rdi
1421 addq %rbx, %rcx
1422 movq %rdi, 40(%r15)
1423 jmp .L255
1424 .p2align 4,,10
1425 .p2align 3
1426 .L276:
1427 movq %rcx, 8(%rsp)
1428 movq %rax, (%rsp)
1429 call _IO_vtable_check
1430 movq 8(%rsp), %rcx
1431 movq (%rsp), %rax
1432 jmp .L258
1433 .LFE84:
1434 .size __GI__IO_default_xsputn, .-__GI__IO_default_xsputn
1435 .globl _IO_default_xsputn
1436 .set _IO_default_xsputn,__GI__IO_default_xsputn
1437 .p2align 4,,15
1438 .globl __GI__IO_sgetn
1439 .hidden __GI__IO_sgetn
1440 .type __GI__IO_sgetn, @function
1441 __GI__IO_sgetn:
1442 .LFB85:
1443 pushq %rbx
1444 leaq __start___libc_IO_vtables(%rip), %rcx
1445 leaq __stop___libc_IO_vtables(%rip), %rax
1446 subq $32, %rsp
1447 movq 216(%rdi), %rbx
1448 subq %rcx, %rax
1449 movq %rbx, %r8
1450 subq %rcx, %r8
1451 cmpq %r8, %rax
1452 jbe .L281
1453 movq 64(%rbx), %rax
1454 addq $32, %rsp
1455 popq %rbx
1456 jmp *%rax
1457 .p2align 4,,10
1458 .p2align 3
1459 .L281:
1460 movq %rdx, 24(%rsp)
1461 movq %rsi, 16(%rsp)
1462 movq %rdi, 8(%rsp)
1463 call _IO_vtable_check
1464 movq 64(%rbx), %rax
1465 movq 24(%rsp), %rdx
1466 movq 16(%rsp), %rsi
1467 movq 8(%rsp), %rdi
1468 addq $32, %rsp
1469 popq %rbx
1470 jmp *%rax
1471 .LFE85:
1472 .size __GI__IO_sgetn, .-__GI__IO_sgetn
1473 .globl _IO_sgetn
1474 .set _IO_sgetn,__GI__IO_sgetn
1475 .p2align 4,,15
1476 .globl __GI__IO_default_xsgetn
1477 .hidden __GI__IO_default_xsgetn
1478 .type __GI__IO_default_xsgetn, @function
1479 __GI__IO_default_xsgetn:
1480 .LFB86:
1481 pushq %r14
1482 movq %rdx, %r14
1483 pushq %r13
1484 movq %rdi, %r13
1485 pushq %r12
1486 movq %rdx, %r12
1487 pushq %rbp
1488 movq %rsi, %rbp
1489 pushq %rbx
1490 jmp .L288
1491 .p2align 4,,10
1492 .p2align 3
1493 .L284:
1494 testq %rax, %rax
1495 jne .L298
1496 .L285:
1497 subq %rbx, %r14
1498 .L283:
1499 testq %r14, %r14
1500 je .L287
1501 movq %r13, %rdi
1502 call __GI___underflow
1503 cmpl $-1, %eax
1504 je .L299
1505 .L288:
1506 movq 8(%r13), %rsi
1507 movq 16(%r13), %rax
1508 cmpq %rax, %rsi
1509 jnb .L283
1510 subq %rsi, %rax
1511 cmpq %rax, %r14
1512 cmovbe %r14, %rax
1513 cmpq $20, %rax
1514 movq %rax, %rbx
1515 jbe .L284
1516 movq %rbp, %rdi
1517 movq %rax, %rdx
1518 call __GI_mempcpy@PLT
1519 addq %rbx, 8(%r13)
1520 movq %rax, %rbp
1521 jmp .L285
1522 .p2align 4,,10
1523 .p2align 3
1524 .L299:
1525 subq %r14, %r12
1526 .L287:
1527 popq %rbx
1528 movq %r12, %rax
1529 popq %rbp
1530 popq %r12
1531 popq %r13
1532 popq %r14
1534 .p2align 4,,10
1535 .p2align 3
1536 .L298:
1537 leal -1(%rax), %ecx
1538 xorl %eax, %eax
1539 addq $1, %rcx
1540 .p2align 4,,10
1541 .p2align 3
1542 .L286:
1543 movzbl (%rsi,%rax), %edx
1544 movb %dl, 0(%rbp,%rax)
1545 addq $1, %rax
1546 cmpq %rcx, %rax
1547 jne .L286
1548 addq %rax, %rsi
1549 addq %rax, %rbp
1550 movq %rsi, 8(%r13)
1551 jmp .L285
1552 .LFE86:
1553 .size __GI__IO_default_xsgetn, .-__GI__IO_default_xsgetn
1554 .globl _IO_default_xsgetn
1555 .set _IO_default_xsgetn,__GI__IO_default_xsgetn
1556 .p2align 4,,15
1557 .globl _IO_default_setbuf
1558 .type _IO_default_setbuf, @function
1559 _IO_default_setbuf:
1560 .LFB87:
1561 pushq %r13
1562 pushq %r12
1563 leaq __stop___libc_IO_vtables(%rip), %rax
1564 pushq %rbp
1565 pushq %rbx
1566 movq %rdx, %rbp
1567 leaq __start___libc_IO_vtables(%rip), %rdx
1568 movq %rdi, %rbx
1569 movq %rsi, %r13
1570 subq $8, %rsp
1571 movq 216(%rdi), %r12
1572 subq %rdx, %rax
1573 movq %r12, %rcx
1574 subq %rdx, %rcx
1575 cmpq %rcx, %rax
1576 jbe .L317
1577 .L301:
1578 movq %rbx, %rdi
1579 call *96(%r12)
1580 cmpl $-1, %eax
1581 je .L308
1582 movl (%rbx), %eax
1583 testq %r13, %r13
1584 movq 56(%rbx), %rdi
1585 movl %eax, %edx
1586 je .L309
1587 testq %rbp, %rbp
1588 je .L309
1589 andl $-3, %edx
1590 addq %r13, %rbp
1591 testq %rdi, %rdi
1592 movl %edx, (%rbx)
1593 je .L307
1594 testb $1, %al
1595 je .L318
1596 .L307:
1597 orl $1, %edx
1598 movq %r13, 56(%rbx)
1599 movq %rbp, 64(%rbx)
1600 movl %edx, (%rbx)
1601 .L306:
1602 movq $0, 48(%rbx)
1603 movq $0, 40(%rbx)
1604 movq %rbx, %rax
1605 movq $0, 32(%rbx)
1606 movq $0, 16(%rbx)
1607 movq $0, 8(%rbx)
1608 movq $0, 24(%rbx)
1609 .L300:
1610 addq $8, %rsp
1611 popq %rbx
1612 popq %rbp
1613 popq %r12
1614 popq %r13
1616 .p2align 4,,10
1617 .p2align 3
1618 .L309:
1619 orl $2, %edx
1620 testq %rdi, %rdi
1621 leaq 132(%rbx), %rbp
1622 movl %edx, (%rbx)
1623 leaq 131(%rbx), %r12
1624 je .L305
1625 testb $1, %al
1626 je .L319
1627 .L305:
1628 orl $1, %edx
1629 movq %r12, 56(%rbx)
1630 movq %rbp, 64(%rbx)
1631 movl %edx, (%rbx)
1632 jmp .L306
1633 .p2align 4,,10
1634 .p2align 3
1635 .L318:
1636 call free@PLT
1637 movl (%rbx), %edx
1638 jmp .L307
1639 .p2align 4,,10
1640 .p2align 3
1641 .L319:
1642 call free@PLT
1643 movl (%rbx), %edx
1644 jmp .L305
1645 .p2align 4,,10
1646 .p2align 3
1647 .L317:
1648 call _IO_vtable_check
1649 jmp .L301
1650 .p2align 4,,10
1651 .p2align 3
1652 .L308:
1653 xorl %eax, %eax
1654 jmp .L300
1655 .LFE87:
1656 .size _IO_default_setbuf, .-_IO_default_setbuf
1657 .p2align 4,,15
1658 .globl _IO_default_seekpos
1659 .type _IO_default_seekpos, @function
1660 _IO_default_seekpos:
1661 .LFB88:
1662 pushq %rbx
1663 leaq __start___libc_IO_vtables(%rip), %r8
1664 leaq __stop___libc_IO_vtables(%rip), %rax
1665 subq $32, %rsp
1666 movq 216(%rdi), %rbx
1667 subq %r8, %rax
1668 movq %rbx, %rcx
1669 subq %r8, %rcx
1670 cmpq %rcx, %rax
1671 jbe .L323
1672 movq 72(%rbx), %rax
1673 addq $32, %rsp
1674 movl %edx, %ecx
1675 popq %rbx
1676 xorl %edx, %edx
1677 jmp *%rax
1678 .p2align 4,,10
1679 .p2align 3
1680 .L323:
1681 movl %edx, 28(%rsp)
1682 movq %rsi, 16(%rsp)
1683 movq %rdi, 8(%rsp)
1684 call _IO_vtable_check
1685 movl 28(%rsp), %edx
1686 movq 72(%rbx), %rax
1687 movq 16(%rsp), %rsi
1688 movq 8(%rsp), %rdi
1689 addq $32, %rsp
1690 popq %rbx
1691 movl %edx, %ecx
1692 xorl %edx, %edx
1693 jmp *%rax
1694 .LFE88:
1695 .size _IO_default_seekpos, .-_IO_default_seekpos
1696 .p2align 4,,15
1697 .globl __GI__IO_default_doallocate
1698 .hidden __GI__IO_default_doallocate
1699 .type __GI__IO_default_doallocate, @function
1700 __GI__IO_default_doallocate:
1701 .LFB89:
1702 pushq %r12
1703 pushq %rbp
1704 pushq %rbx
1705 movq %rdi, %rbx
1706 movl $8192, %edi
1707 call malloc@PLT
1708 movq %rax, %rbp
1709 movl $-1, %eax
1710 testq %rbp, %rbp
1711 je .L324
1712 movq 56(%rbx), %rdi
1713 leaq 8192(%rbp), %r12
1714 movl (%rbx), %edx
1715 testq %rdi, %rdi
1716 je .L326
1717 testb $1, %dl
1718 je .L334
1719 .L326:
1720 andl $-2, %edx
1721 movq %rbp, 56(%rbx)
1722 movq %r12, 64(%rbx)
1723 movl %edx, (%rbx)
1724 movl $1, %eax
1725 .L324:
1726 popq %rbx
1727 popq %rbp
1728 popq %r12
1730 .p2align 4,,10
1731 .p2align 3
1732 .L334:
1733 call free@PLT
1734 movl (%rbx), %edx
1735 jmp .L326
1736 .LFE89:
1737 .size __GI__IO_default_doallocate, .-__GI__IO_default_doallocate
1738 .globl _IO_default_doallocate
1739 .set _IO_default_doallocate,__GI__IO_default_doallocate
1740 .p2align 4,,15
1741 .globl __GI__IO_enable_locks
1742 .hidden __GI__IO_enable_locks
1743 .type __GI__IO_enable_locks, @function
1744 __GI__IO_enable_locks:
1745 .LFB92:
1746 movl stdio_needs_locking(%rip), %eax
1747 testl %eax, %eax
1748 jne .L335
1749 movq __GI__IO_list_all(%rip), %rax
1750 movl $1, stdio_needs_locking(%rip)
1751 testq %rax, %rax
1752 je .L335
1753 .p2align 4,,10
1754 .p2align 3
1755 .L337:
1756 orl $128, 116(%rax)
1757 movq 104(%rax), %rax
1758 testq %rax, %rax
1759 jne .L337
1760 .L335:
1761 rep ret
1762 .LFE92:
1763 .size __GI__IO_enable_locks, .-__GI__IO_enable_locks
1764 .globl _IO_enable_locks
1765 .set _IO_enable_locks,__GI__IO_enable_locks
1766 .p2align 4,,15
1767 .globl _IO_old_init
1768 .type _IO_old_init, @function
1769 _IO_old_init:
1770 .LFB93:
1771 movl stdio_needs_locking(%rip), %edx
1772 orl $-72548352, %esi
1773 movl $0, 116(%rdi)
1774 movl %esi, (%rdi)
1775 testl %edx, %edx
1776 je .L343
1777 movl $128, 116(%rdi)
1778 .L343:
1779 xorl %eax, %eax
1780 movq $0, 56(%rdi)
1781 movq $0, 64(%rdi)
1782 movw %ax, 128(%rdi)
1783 movq 136(%rdi), %rax
1784 movq $0, 24(%rdi)
1785 movq $0, 8(%rdi)
1786 movq $0, 16(%rdi)
1787 movq $0, 32(%rdi)
1788 testq %rax, %rax
1789 movq $0, 40(%rdi)
1790 movq $0, 48(%rdi)
1791 movq $0, 104(%rdi)
1792 movq $0, 72(%rdi)
1793 movq $0, 80(%rdi)
1794 movq $0, 88(%rdi)
1795 movq $0, 96(%rdi)
1796 je .L342
1797 movq $0, (%rax)
1798 movq $0, 8(%rax)
1799 .L342:
1800 rep ret
1801 .LFE93:
1802 .size _IO_old_init, .-_IO_old_init
1803 .p2align 4,,15
1804 .globl _IO_no_init
1805 .type _IO_no_init, @function
1806 _IO_no_init:
1807 .LFB94:
1808 pushq %r13
1809 pushq %r12
1810 movl %edx, %r12d
1811 pushq %rbp
1812 pushq %rbx
1813 movq %rdi, %rbp
1814 movq %rcx, %rbx
1815 movq %r8, %r13
1816 subq $8, %rsp
1817 call _IO_old_init@PLT
1818 testl %r12d, %r12d
1819 movl %r12d, 192(%rbp)
1820 js .L349
1821 movq %rbx, 160(%rbp)
1822 movq $0, 48(%rbx)
1823 movq $0, 56(%rbx)
1824 movq $0, 16(%rbx)
1825 movq $0, (%rbx)
1826 movq $0, 8(%rbx)
1827 movq $0, 24(%rbx)
1828 movq $0, 32(%rbx)
1829 movq $0, 40(%rbx)
1830 movq $0, 64(%rbx)
1831 movq $0, 72(%rbx)
1832 movq $0, 80(%rbx)
1833 movq %r13, 224(%rbx)
1834 .L350:
1835 movq $0, 168(%rbp)
1836 addq $8, %rsp
1837 popq %rbx
1838 popq %rbp
1839 popq %r12
1840 popq %r13
1842 .p2align 4,,10
1843 .p2align 3
1844 .L349:
1845 movq $-1, 160(%rbp)
1846 jmp .L350
1847 .LFE94:
1848 .size _IO_no_init, .-_IO_no_init
1849 .p2align 4,,15
1850 .globl _IO_init_internal
1851 .hidden _IO_init_internal
1852 .type _IO_init_internal, @function
1853 _IO_init_internal:
1854 .LFB90:
1855 xorl %r8d, %r8d
1856 xorl %ecx, %ecx
1857 movl $-1, %edx
1858 jmp _IO_no_init@PLT
1859 .LFE90:
1860 .size _IO_init_internal, .-_IO_init_internal
1861 .p2align 4,,15
1862 .globl _IO_init
1863 .type _IO_init, @function
1864 _IO_init:
1865 .LFB91:
1866 leaq _IO_vtable_check(%rip), %rax
1867 xorl %r8d, %r8d
1868 xorl %ecx, %ecx
1869 #APP
1870 # 915 "libioP.h" 1
1871 xor %fs:48, %rax
1872 rol $2*8+1, %rax
1873 # 0 "" 2
1874 #NO_APP
1875 movq %rax, IO_accept_foreign_vtables(%rip)
1876 movl $-1, %edx
1877 jmp _IO_no_init@PLT
1878 .LFE91:
1879 .size _IO_init, .-_IO_init
1880 .p2align 4,,15
1881 .globl _IO_default_sync
1882 .type _IO_default_sync, @function
1883 _IO_default_sync:
1884 .LFB95:
1885 xorl %eax, %eax
1887 .LFE95:
1888 .size _IO_default_sync, .-_IO_default_sync
1889 .p2align 4,,15
1890 .globl __GI__IO_default_finish
1891 .hidden __GI__IO_default_finish
1892 .type __GI__IO_default_finish, @function
1893 __GI__IO_default_finish:
1894 .LFB96:
1895 pushq %rbx
1896 movq %rdi, %rbx
1897 movq 56(%rdi), %rdi
1898 testq %rdi, %rdi
1899 je .L356
1900 testb $1, (%rbx)
1901 je .L372
1902 .L356:
1903 movq 96(%rbx), %rax
1904 testq %rax, %rax
1905 je .L357
1906 .p2align 4,,10
1907 .p2align 3
1908 .L358:
1909 movq $0, 8(%rax)
1910 movq (%rax), %rax
1911 testq %rax, %rax
1912 jne .L358
1913 .L357:
1914 movq 72(%rbx), %rdi
1915 testq %rdi, %rdi
1916 je .L359
1917 call free@PLT
1918 movq $0, 72(%rbx)
1919 .L359:
1920 testb $-128, (%rbx)
1921 jne .L373
1922 popq %rbx
1924 .p2align 4,,10
1925 .p2align 3
1926 .L372:
1927 call free@PLT
1928 movq $0, 64(%rbx)
1929 movq $0, 56(%rbx)
1930 jmp .L356
1931 .p2align 4,,10
1932 .p2align 3
1933 .L373:
1934 movq %rbx, %rdi
1935 popq %rbx
1936 jmp __GI__IO_un_link.part.1
1937 .LFE96:
1938 .size __GI__IO_default_finish, .-__GI__IO_default_finish
1939 .globl _IO_default_finish
1940 .set _IO_default_finish,__GI__IO_default_finish
1941 .p2align 4,,15
1942 .globl _IO_default_seekoff
1943 .type _IO_default_seekoff, @function
1944 _IO_default_seekoff:
1945 .LFB97:
1946 movq $-1, %rax
1948 .LFE97:
1949 .size _IO_default_seekoff, .-_IO_default_seekoff
1950 .p2align 4,,15
1951 .globl __GI__IO_sputbackc
1952 .hidden __GI__IO_sputbackc
1953 .type __GI__IO_sputbackc, @function
1954 __GI__IO_sputbackc:
1955 .LFB98:
1956 pushq %rbp
1957 pushq %rbx
1958 movq %rdi, %rbx
1959 subq $24, %rsp
1960 movq 8(%rdi), %rax
1961 cmpq 24(%rdi), %rax
1962 jbe .L376
1963 cmpb %sil, -1(%rax)
1964 je .L384
1965 .L376:
1966 movq 216(%rbx), %rbp
1967 leaq __start___libc_IO_vtables(%rip), %rdx
1968 leaq __stop___libc_IO_vtables(%rip), %rax
1969 subq %rdx, %rax
1970 movq %rbp, %rcx
1971 subq %rdx, %rcx
1972 cmpq %rcx, %rax
1973 jbe .L385
1974 .L378:
1975 movq %rbx, %rdi
1976 call *48(%rbp)
1977 cmpl $-1, %eax
1978 je .L375
1979 .L377:
1980 andl $-17, (%rbx)
1981 .L375:
1982 addq $24, %rsp
1983 popq %rbx
1984 popq %rbp
1986 .p2align 4,,10
1987 .p2align 3
1988 .L384:
1989 subq $1, %rax
1990 movq %rax, 8(%rdi)
1991 movzbl %sil, %eax
1992 jmp .L377
1993 .p2align 4,,10
1994 .p2align 3
1995 .L385:
1996 movl %esi, 12(%rsp)
1997 call _IO_vtable_check
1998 movl 12(%rsp), %esi
1999 jmp .L378
2000 .LFE98:
2001 .size __GI__IO_sputbackc, .-__GI__IO_sputbackc
2002 .globl _IO_sputbackc
2003 .set _IO_sputbackc,__GI__IO_sputbackc
2004 .p2align 4,,15
2005 .globl _IO_sungetc
2006 .type _IO_sungetc, @function
2007 _IO_sungetc:
2008 .LFB99:
2009 pushq %rbp
2010 pushq %rbx
2011 movq %rdi, %rbx
2012 subq $8, %rsp
2013 movq 8(%rdi), %rax
2014 cmpq 24(%rdi), %rax
2015 jbe .L387
2016 leaq -1(%rax), %rdx
2017 movq %rdx, 8(%rdi)
2018 movzbl -1(%rax), %eax
2019 .L388:
2020 andl $-17, (%rbx)
2021 addq $8, %rsp
2022 popq %rbx
2023 popq %rbp
2025 .p2align 4,,10
2026 .p2align 3
2027 .L387:
2028 movq 216(%rdi), %rbp
2029 leaq __start___libc_IO_vtables(%rip), %rdx
2030 leaq __stop___libc_IO_vtables(%rip), %rax
2031 subq %rdx, %rax
2032 movq %rbp, %rcx
2033 subq %rdx, %rcx
2034 cmpq %rcx, %rax
2035 jbe .L396
2036 .L389:
2037 movl $-1, %esi
2038 movq %rbx, %rdi
2039 call *48(%rbp)
2040 cmpl $-1, %eax
2041 jne .L388
2042 addq $8, %rsp
2043 popq %rbx
2044 popq %rbp
2046 .p2align 4,,10
2047 .p2align 3
2048 .L396:
2049 call _IO_vtable_check
2050 jmp .L389
2051 .LFE99:
2052 .size _IO_sungetc, .-_IO_sungetc
2053 .p2align 4,,15
2054 .globl __GI__IO_adjust_column
2055 .hidden __GI__IO_adjust_column
2056 .type __GI__IO_adjust_column, @function
2057 __GI__IO_adjust_column:
2058 .LFB100:
2059 movslq %edx, %r8
2060 addq %rsi, %r8
2061 cmpq %r8, %rsi
2062 jnb .L398
2063 cmpb $10, -1(%r8)
2064 leaq -1(%r8), %rcx
2065 jne .L400
2066 jmp .L399
2067 .p2align 4,,10
2068 .p2align 3
2069 .L402:
2070 subq $1, %rcx
2071 cmpb $10, (%rcx)
2072 je .L399
2073 .L400:
2074 cmpq %rcx, %rsi
2075 jne .L402
2076 .L398:
2077 leal (%rdx,%rdi), %eax
2079 .p2align 4,,10
2080 .p2align 3
2081 .L399:
2082 subq %rcx, %r8
2083 leal -1(%r8), %eax
2085 .LFE100:
2086 .size __GI__IO_adjust_column, .-__GI__IO_adjust_column
2087 .globl _IO_adjust_column
2088 .set _IO_adjust_column,__GI__IO_adjust_column
2089 .p2align 4,,15
2090 .globl _IO_flush_all_lockp
2091 .type _IO_flush_all_lockp, @function
2092 _IO_flush_all_lockp:
2093 .LFB101:
2094 pushq %r15
2095 pushq %r14
2096 movl %edi, %r15d
2097 pushq %r13
2098 pushq %r12
2099 pushq %rbp
2100 pushq %rbx
2101 subq $56, %rsp
2102 movl __libc_pthread_functions_init(%rip), %r14d
2103 testl %r14d, %r14d
2104 je .L405
2105 movq 184+__libc_pthread_functions(%rip), %rax
2106 leaq 16(%rsp), %rdi
2107 xorl %edx, %edx
2108 #APP
2109 # 691 "genops.c" 1
2110 ror $2*8+1, %rax
2111 xor %fs:48, %rax
2112 # 0 "" 2
2113 #NO_APP
2114 leaq flush_cleanup(%rip), %rsi
2115 call *%rax
2116 .L406:
2117 movq %fs:16, %rbx
2118 cmpq %rbx, 8+list_all_lock(%rip)
2119 je .L407
2120 #APP
2121 # 692 "genops.c" 1
2122 movl %fs:24,%eax
2123 # 0 "" 2
2124 #NO_APP
2125 testl %eax, %eax
2126 jne .L408
2127 movl $1, %edx
2128 #APP
2129 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2130 cmpxchgl %edx, list_all_lock(%rip)
2131 # 0 "" 2
2132 #NO_APP
2133 .L409:
2134 movq %rbx, 8+list_all_lock(%rip)
2135 .L407:
2136 movl 4+list_all_lock(%rip), %eax
2137 movq __GI__IO_list_all(%rip), %rbx
2138 xorl %ebp, %ebp
2139 addl $1, %eax
2140 testq %rbx, %rbx
2141 movl %eax, 4+list_all_lock(%rip)
2142 je .L410
2143 leaq __start___libc_IO_vtables(%rip), %r13
2144 leaq __stop___libc_IO_vtables(%rip), %r12
2145 subq %r13, %r12
2146 jmp .L423
2147 .p2align 4,,10
2148 .p2align 3
2149 .L415:
2150 movq 160(%rbx), %rax
2151 movq 24(%rax), %rcx
2152 cmpq %rcx, 32(%rax)
2153 jbe .L417
2154 .L416:
2155 movq 216(%rbx), %rax
2156 movq %rax, %rdx
2157 subq %r13, %rdx
2158 cmpq %rdx, %r12
2159 jbe .L439
2160 .L418:
2161 movl $-1, %esi
2162 movq %rbx, %rdi
2163 call *24(%rax)
2164 cmpl $-1, %eax
2165 movl $-1, %eax
2166 cmove %eax, %ebp
2167 .L417:
2168 testl %r15d, %r15d
2169 je .L420
2170 testl $32768, (%rbx)
2171 jne .L420
2172 movq 136(%rbx), %rdi
2173 movl 4(%rdi), %eax
2174 subl $1, %eax
2175 testl %eax, %eax
2176 movl %eax, 4(%rdi)
2177 jne .L420
2178 movq $0, 8(%rdi)
2179 #APP
2180 # 710 "genops.c" 1
2181 movl %fs:24,%edx
2182 # 0 "" 2
2183 #NO_APP
2184 testl %edx, %edx
2185 jne .L422
2186 subl $1, (%rdi)
2187 .p2align 4,,10
2188 .p2align 3
2189 .L420:
2190 movq 104(%rbx), %rbx
2191 movq $0, run_fp(%rip)
2192 testq %rbx, %rbx
2193 je .L440
2194 .L423:
2195 testl %r15d, %r15d
2196 movq %rbx, run_fp(%rip)
2197 je .L411
2198 movl (%rbx), %edx
2199 andl $32768, %edx
2200 jne .L411
2201 movq 136(%rbx), %rdi
2202 movq %fs:16, %rcx
2203 cmpq %rcx, 8(%rdi)
2204 je .L412
2205 #APP
2206 # 699 "genops.c" 1
2207 movl %fs:24,%eax
2208 # 0 "" 2
2209 #NO_APP
2210 testl %eax, %eax
2211 jne .L413
2212 movl $1, %esi
2213 #APP
2214 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2215 cmpxchgl %esi, (%rdi)
2216 # 0 "" 2
2217 #NO_APP
2218 .L414:
2219 movq 136(%rbx), %rdi
2220 movq %rcx, 8(%rdi)
2221 .L412:
2222 addl $1, 4(%rdi)
2223 .L411:
2224 movl 192(%rbx), %eax
2225 testl %eax, %eax
2226 jg .L415
2227 movq 32(%rbx), %rax
2228 cmpq %rax, 40(%rbx)
2229 ja .L416
2230 jmp .L417
2231 .p2align 4,,10
2232 .p2align 3
2233 .L440:
2234 movl 4+list_all_lock(%rip), %eax
2235 .L410:
2236 subl $1, %eax
2237 testl %eax, %eax
2238 movl %eax, 4+list_all_lock(%rip)
2239 jne .L425
2240 movq $0, 8+list_all_lock(%rip)
2241 #APP
2242 # 715 "genops.c" 1
2243 movl %fs:24,%edx
2244 # 0 "" 2
2245 #NO_APP
2246 testl %edx, %edx
2247 jne .L426
2248 subl $1, list_all_lock(%rip)
2249 .L425:
2250 testl %r14d, %r14d
2251 je .L404
2252 movq 192+__libc_pthread_functions(%rip), %rax
2253 leaq 16(%rsp), %rdi
2254 xorl %esi, %esi
2255 #APP
2256 # 716 "genops.c" 1
2257 ror $2*8+1, %rax
2258 xor %fs:48, %rax
2259 # 0 "" 2
2260 #NO_APP
2261 call *%rax
2262 .L404:
2263 addq $56, %rsp
2264 movl %ebp, %eax
2265 popq %rbx
2266 popq %rbp
2267 popq %r12
2268 popq %r13
2269 popq %r14
2270 popq %r15
2272 .p2align 4,,10
2273 .p2align 3
2274 .L439:
2275 movq %rax, 8(%rsp)
2276 call _IO_vtable_check
2277 movq 8(%rsp), %rax
2278 jmp .L418
2279 .L426:
2280 #APP
2281 # 715 "genops.c" 1
2282 xchgl %eax, list_all_lock(%rip)
2283 # 0 "" 2
2284 #NO_APP
2285 cmpl $1, %eax
2286 jle .L425
2287 xorl %r10d, %r10d
2288 movl $1, %edx
2289 movl $129, %esi
2290 leaq list_all_lock(%rip), %rdi
2291 movl $202, %eax
2292 #APP
2293 # 715 "genops.c" 1
2294 syscall
2296 # 0 "" 2
2297 #NO_APP
2298 jmp .L425
2299 .p2align 4,,10
2300 .p2align 3
2301 .L405:
2302 leaq flush_cleanup(%rip), %rax
2303 movq $0, 24(%rsp)
2304 movq %rax, 16(%rsp)
2305 jmp .L406
2306 .p2align 4,,10
2307 .p2align 3
2308 .L413:
2309 movl %edx, %eax
2310 movl $1, %esi
2311 lock cmpxchgl %esi, (%rdi)
2312 je .L414
2313 movq %rcx, 8(%rsp)
2314 call __lll_lock_wait_private
2315 movq 8(%rsp), %rcx
2316 jmp .L414
2317 .p2align 4,,10
2318 .p2align 3
2319 .L422:
2320 #APP
2321 # 710 "genops.c" 1
2322 xchgl %eax, (%rdi)
2323 # 0 "" 2
2324 #NO_APP
2325 cmpl $1, %eax
2326 jle .L420
2327 xorl %r10d, %r10d
2328 movl $1, %edx
2329 movl $129, %esi
2330 movl $202, %eax
2331 #APP
2332 # 710 "genops.c" 1
2333 syscall
2335 # 0 "" 2
2336 #NO_APP
2337 jmp .L420
2338 .p2align 4,,10
2339 .p2align 3
2340 .L408:
2341 xorl %eax, %eax
2342 movl $1, %edx
2343 lock cmpxchgl %edx, list_all_lock(%rip)
2344 je .L409
2345 leaq list_all_lock(%rip), %rdi
2346 call __lll_lock_wait_private
2347 jmp .L409
2348 .LFE101:
2349 .size _IO_flush_all_lockp, .-_IO_flush_all_lockp
2350 .p2align 4,,15
2351 .globl _IO_cleanup
2352 .type _IO_cleanup, @function
2353 _IO_cleanup:
2354 .LFB106:
2355 pushq %r15
2356 pushq %r14
2357 xorl %edi, %edi
2358 pushq %r13
2359 pushq %r12
2360 pushq %rbp
2361 pushq %rbx
2362 subq $56, %rsp
2363 call _IO_flush_all_lockp@PLT
2364 movl __libc_pthread_functions_init(%rip), %r12d
2365 movl %eax, %r14d
2366 testl %r12d, %r12d
2367 je .L442
2368 movq 184+__libc_pthread_functions(%rip), %rax
2369 leaq 16(%rsp), %rdi
2370 xorl %edx, %edx
2371 #APP
2372 # 786 "genops.c" 1
2373 ror $2*8+1, %rax
2374 xor %fs:48, %rax
2375 # 0 "" 2
2376 #NO_APP
2377 leaq flush_cleanup(%rip), %rsi
2378 call *%rax
2379 .L443:
2380 movq %fs:16, %rbx
2381 cmpq 8+list_all_lock(%rip), %rbx
2382 je .L444
2383 #APP
2384 # 787 "genops.c" 1
2385 movl %fs:24,%eax
2386 # 0 "" 2
2387 #NO_APP
2388 testl %eax, %eax
2389 jne .L445
2390 movl $1, %edx
2391 #APP
2392 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2393 cmpxchgl %edx, list_all_lock(%rip)
2394 # 0 "" 2
2395 #NO_APP
2396 .L446:
2397 movq %rbx, 8+list_all_lock(%rip)
2398 .L444:
2399 movl 4+list_all_lock(%rip), %eax
2400 movq __GI__IO_list_all(%rip), %rbx
2401 addl $1, %eax
2402 testq %rbx, %rbx
2403 movl %eax, 4+list_all_lock(%rip)
2404 je .L447
2405 leaq __start___libc_IO_vtables(%rip), %r13
2406 leaq __stop___libc_IO_vtables(%rip), %rbp
2407 subq %r13, %rbp
2408 jmp .L461
2409 .p2align 4,,10
2410 .p2align 3
2411 .L449:
2412 movl $-1, 192(%rbx)
2413 movq 104(%rbx), %rbx
2414 testq %rbx, %rbx
2415 je .L485
2416 .L461:
2417 movl (%rbx), %r15d
2418 andl $2, %r15d
2419 jne .L449
2420 movl 192(%rbx), %edx
2421 testl %edx, %edx
2422 je .L449
2423 .L456:
2424 movq 136(%rbx), %rdx
2425 testq %rdx, %rdx
2426 je .L451
2427 movq %fs:16, %rsi
2428 cmpq 8(%rdx), %rsi
2429 je .L452
2430 #APP
2431 # 807 "genops.c" 1
2432 movl %fs:24,%eax
2433 # 0 "" 2
2434 #NO_APP
2435 testl %eax, %eax
2436 movl $1, %ecx
2437 jne .L453
2438 #APP
2439 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2440 cmpxchgl %ecx, (%rdx)
2441 # 0 "" 2
2442 #NO_APP
2443 .L454:
2444 testl %eax, %eax
2445 je .L455
2446 call __GI___sched_yield
2447 cmpl $1, %r15d
2448 jne .L467
2449 movl $2, %r15d
2450 .L451:
2451 cmpb $0, dealloc_buffers(%rip)
2452 je .L486
2453 .L457:
2454 movq 216(%rbx), %rax
2455 movq %rax, %rdx
2456 subq %r13, %rdx
2457 cmpq %rdx, %rbp
2458 jbe .L487
2459 .L458:
2460 xorl %edx, %edx
2461 xorl %esi, %esi
2462 movq %rbx, %rdi
2463 call *88(%rax)
2464 movl 192(%rbx), %eax
2465 testl %eax, %eax
2466 jle .L459
2467 xorl %ecx, %ecx
2468 xorl %edx, %edx
2469 xorl %esi, %esi
2470 movq %rbx, %rdi
2471 call __GI__IO_wsetb
2472 .L459:
2473 cmpl $2, %r15d
2474 je .L449
2475 movq 136(%rbx), %rdi
2476 testq %rdi, %rdi
2477 je .L449
2478 movl 4(%rdi), %eax
2479 subl $1, %eax
2480 testl %eax, %eax
2481 movl %eax, 4(%rdi)
2482 jne .L449
2483 movq $0, 8(%rdi)
2484 #APP
2485 # 831 "genops.c" 1
2486 movl %fs:24,%edx
2487 # 0 "" 2
2488 #NO_APP
2489 testl %edx, %edx
2490 jne .L460
2491 subl $1, (%rdi)
2492 jmp .L449
2493 .p2align 4,,10
2494 .p2align 3
2495 .L485:
2496 movl 4+list_all_lock(%rip), %eax
2497 .L447:
2498 subl $1, %eax
2499 testl %eax, %eax
2500 movl %eax, 4+list_all_lock(%rip)
2501 jne .L463
2502 movq $0, 8+list_all_lock(%rip)
2503 #APP
2504 # 842 "genops.c" 1
2505 movl %fs:24,%edx
2506 # 0 "" 2
2507 #NO_APP
2508 testl %edx, %edx
2509 jne .L464
2510 subl $1, list_all_lock(%rip)
2511 .L463:
2512 testl %r12d, %r12d
2513 je .L441
2514 movq 192+__libc_pthread_functions(%rip), %rax
2515 leaq 16(%rsp), %rdi
2516 xorl %esi, %esi
2517 #APP
2518 # 843 "genops.c" 1
2519 ror $2*8+1, %rax
2520 xor %fs:48, %rax
2521 # 0 "" 2
2522 #NO_APP
2523 call *%rax
2524 .L441:
2525 addq $56, %rsp
2526 movl %r14d, %eax
2527 popq %rbx
2528 popq %rbp
2529 popq %r12
2530 popq %r13
2531 popq %r14
2532 popq %r15
2534 .p2align 4,,10
2535 .p2align 3
2536 .L467:
2537 movl $1, %r15d
2538 jmp .L456
2539 .p2align 4,,10
2540 .p2align 3
2541 .L486:
2542 movl (%rbx), %eax
2543 testb $1, %al
2544 jne .L457
2545 orl $1, %eax
2546 movl %eax, (%rbx)
2547 movq freeres_list(%rip), %rax
2548 movq %rbx, freeres_list(%rip)
2549 movq %rax, 168(%rbx)
2550 movq 56(%rbx), %rax
2551 movq %rax, 176(%rbx)
2552 jmp .L457
2553 .L464:
2554 #APP
2555 # 842 "genops.c" 1
2556 xchgl %eax, list_all_lock(%rip)
2557 # 0 "" 2
2558 #NO_APP
2559 cmpl $1, %eax
2560 jle .L463
2561 xorl %r10d, %r10d
2562 movl $1, %edx
2563 movl $129, %esi
2564 leaq list_all_lock(%rip), %rdi
2565 movl $202, %eax
2566 #APP
2567 # 842 "genops.c" 1
2568 syscall
2570 # 0 "" 2
2571 #NO_APP
2572 jmp .L463
2573 .p2align 4,,10
2574 .p2align 3
2575 .L453:
2576 xorl %eax, %eax
2577 lock cmpxchgl %ecx, (%rdx)
2578 setne %al
2579 movzbl %al, %eax
2580 jmp .L454
2581 .p2align 4,,10
2582 .p2align 3
2583 .L442:
2584 leaq flush_cleanup(%rip), %rax
2585 movq $0, 24(%rsp)
2586 movq %rax, 16(%rsp)
2587 jmp .L443
2588 .p2align 4,,10
2589 .p2align 3
2590 .L487:
2591 movq %rax, 8(%rsp)
2592 call _IO_vtable_check
2593 movq 8(%rsp), %rax
2594 jmp .L458
2595 .p2align 4,,10
2596 .p2align 3
2597 .L445:
2598 xorl %eax, %eax
2599 movl $1, %edx
2600 lock cmpxchgl %edx, list_all_lock(%rip)
2601 je .L446
2602 leaq list_all_lock(%rip), %rdi
2603 call __lll_lock_wait_private
2604 jmp .L446
2605 .p2align 4,,10
2606 .p2align 3
2607 .L452:
2608 addl $1, 4(%rdx)
2609 jmp .L451
2610 .L455:
2611 movq 136(%rbx), %rax
2612 movq %rsi, 8(%rax)
2613 movl $1, 4(%rax)
2614 jmp .L451
2615 .L460:
2616 #APP
2617 # 831 "genops.c" 1
2618 xchgl %eax, (%rdi)
2619 # 0 "" 2
2620 #NO_APP
2621 cmpl $1, %eax
2622 jle .L449
2623 xorl %r10d, %r10d
2624 movl $1, %edx
2625 movl $129, %esi
2626 movl $202, %eax
2627 #APP
2628 # 831 "genops.c" 1
2629 syscall
2631 # 0 "" 2
2632 #NO_APP
2633 jmp .L449
2634 .LFE106:
2635 .size _IO_cleanup, .-_IO_cleanup
2636 .p2align 4,,15
2637 .globl __GI__IO_flush_all
2638 .hidden __GI__IO_flush_all
2639 .type __GI__IO_flush_all, @function
2640 __GI__IO_flush_all:
2641 .LFB102:
2642 movl $1, %edi
2643 jmp _IO_flush_all_lockp@PLT
2644 .LFE102:
2645 .size __GI__IO_flush_all, .-__GI__IO_flush_all
2646 .globl _IO_flush_all
2647 .set _IO_flush_all,__GI__IO_flush_all
2648 .p2align 4,,15
2649 .globl __GI__IO_flush_all_linebuffered
2650 .hidden __GI__IO_flush_all_linebuffered
2651 .type __GI__IO_flush_all_linebuffered, @function
2652 __GI__IO_flush_all_linebuffered:
2653 .LFB103:
2654 pushq %r15
2655 pushq %r14
2656 pushq %r13
2657 pushq %r12
2658 pushq %rbp
2659 pushq %rbx
2660 subq $40, %rsp
2661 movl __libc_pthread_functions_init(%rip), %r13d
2662 testl %r13d, %r13d
2663 je .L490
2664 movq 184+__libc_pthread_functions(%rip), %rax
2665 movq %rsp, %rdi
2666 xorl %edx, %edx
2667 #APP
2668 # 737 "genops.c" 1
2669 ror $2*8+1, %rax
2670 xor %fs:48, %rax
2671 # 0 "" 2
2672 #NO_APP
2673 leaq flush_cleanup(%rip), %rsi
2674 call *%rax
2675 .L491:
2676 movq %fs:16, %rbx
2677 cmpq %rbx, 8+list_all_lock(%rip)
2678 je .L492
2679 #APP
2680 # 738 "genops.c" 1
2681 movl %fs:24,%eax
2682 # 0 "" 2
2683 #NO_APP
2684 testl %eax, %eax
2685 jne .L493
2686 movl $1, %edx
2687 #APP
2688 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2689 cmpxchgl %edx, list_all_lock(%rip)
2690 # 0 "" 2
2691 #NO_APP
2692 .L494:
2693 movq %rbx, 8+list_all_lock(%rip)
2694 .L492:
2695 movl 4+list_all_lock(%rip), %eax
2696 movq __GI__IO_list_all(%rip), %rbx
2697 addl $1, %eax
2698 testq %rbx, %rbx
2699 movl %eax, 4+list_all_lock(%rip)
2700 je .L495
2701 leaq __start___libc_IO_vtables(%rip), %r12
2702 leaq __stop___libc_IO_vtables(%rip), %rbp
2703 movl $202, %r14d
2704 subq %r12, %rbp
2705 jmp .L506
2706 .p2align 4,,10
2707 .p2align 3
2708 .L525:
2709 movq 136(%rbx), %rdi
2710 movq %fs:16, %r15
2711 cmpq %r15, 8(%rdi)
2712 je .L497
2713 #APP
2714 # 744 "genops.c" 1
2715 movl %fs:24,%eax
2716 # 0 "" 2
2717 #NO_APP
2718 testl %eax, %eax
2719 movl $1, %edx
2720 jne .L498
2721 #APP
2722 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2723 cmpxchgl %edx, (%rdi)
2724 # 0 "" 2
2725 #NO_APP
2726 .L499:
2727 movq 136(%rbx), %rdi
2728 movq %r15, 8(%rdi)
2729 .L497:
2730 movl (%rbx), %eax
2731 addl $1, 4(%rdi)
2732 andl $520, %eax
2733 cmpl $512, %eax
2734 je .L512
2735 .L500:
2736 testl $32768, (%rbx)
2737 jne .L503
2738 movq 136(%rbx), %rdi
2739 movl 4(%rdi), %eax
2740 subl $1, %eax
2741 testl %eax, %eax
2742 movl %eax, 4(%rdi)
2743 jne .L503
2744 movq $0, 8(%rdi)
2745 #APP
2746 # 749 "genops.c" 1
2747 movl %fs:24,%edx
2748 # 0 "" 2
2749 #NO_APP
2750 testl %edx, %edx
2751 jne .L505
2752 subl $1, (%rdi)
2753 .L503:
2754 movq 104(%rbx), %rbx
2755 movq $0, run_fp(%rip)
2756 testq %rbx, %rbx
2757 je .L524
2758 .L506:
2759 movl (%rbx), %edx
2760 movq %rbx, run_fp(%rip)
2761 movl %edx, %ecx
2762 andl $32768, %ecx
2763 je .L525
2764 andl $520, %edx
2765 cmpl $512, %edx
2766 jne .L503
2767 .L512:
2768 movq 216(%rbx), %r15
2769 movq %r15, %rax
2770 subq %r12, %rax
2771 cmpq %rax, %rbp
2772 jbe .L526
2773 .L501:
2774 movl $-1, %esi
2775 movq %rbx, %rdi
2776 call *24(%r15)
2777 jmp .L500
2778 .p2align 4,,10
2779 .p2align 3
2780 .L524:
2781 movl 4+list_all_lock(%rip), %eax
2782 .L495:
2783 subl $1, %eax
2784 testl %eax, %eax
2785 movl %eax, 4+list_all_lock(%rip)
2786 jne .L508
2787 movq $0, 8+list_all_lock(%rip)
2788 #APP
2789 # 754 "genops.c" 1
2790 movl %fs:24,%edx
2791 # 0 "" 2
2792 #NO_APP
2793 testl %edx, %edx
2794 jne .L509
2795 subl $1, list_all_lock(%rip)
2796 .L508:
2797 testl %r13d, %r13d
2798 je .L489
2799 movq 192+__libc_pthread_functions(%rip), %rax
2800 movq %rsp, %rdi
2801 xorl %esi, %esi
2802 #APP
2803 # 755 "genops.c" 1
2804 ror $2*8+1, %rax
2805 xor %fs:48, %rax
2806 # 0 "" 2
2807 #NO_APP
2808 call *%rax
2809 .L489:
2810 addq $40, %rsp
2811 popq %rbx
2812 popq %rbp
2813 popq %r12
2814 popq %r13
2815 popq %r14
2816 popq %r15
2818 .L509:
2819 #APP
2820 # 754 "genops.c" 1
2821 xchgl %eax, list_all_lock(%rip)
2822 # 0 "" 2
2823 #NO_APP
2824 cmpl $1, %eax
2825 jle .L508
2826 xorl %r10d, %r10d
2827 movl $1, %edx
2828 movl $129, %esi
2829 leaq list_all_lock(%rip), %rdi
2830 movl $202, %eax
2831 #APP
2832 # 754 "genops.c" 1
2833 syscall
2835 # 0 "" 2
2836 #NO_APP
2837 jmp .L508
2838 .p2align 4,,10
2839 .p2align 3
2840 .L498:
2841 movl %ecx, %eax
2842 lock cmpxchgl %edx, (%rdi)
2843 je .L499
2844 call __lll_lock_wait_private
2845 jmp .L499
2846 .p2align 4,,10
2847 .p2align 3
2848 .L526:
2849 call _IO_vtable_check
2850 jmp .L501
2851 .p2align 4,,10
2852 .p2align 3
2853 .L505:
2854 #APP
2855 # 749 "genops.c" 1
2856 xchgl %eax, (%rdi)
2857 # 0 "" 2
2858 #NO_APP
2859 cmpl $1, %eax
2860 jle .L503
2861 xorl %r10d, %r10d
2862 movl $1, %edx
2863 movl $129, %esi
2864 movl %r14d, %eax
2865 #APP
2866 # 749 "genops.c" 1
2867 syscall
2869 # 0 "" 2
2870 #NO_APP
2871 jmp .L503
2872 .p2align 4,,10
2873 .p2align 3
2874 .L490:
2875 leaq flush_cleanup(%rip), %rax
2876 movq $0, 8(%rsp)
2877 movq %rax, (%rsp)
2878 jmp .L491
2879 .p2align 4,,10
2880 .p2align 3
2881 .L493:
2882 xorl %eax, %eax
2883 movl $1, %edx
2884 lock cmpxchgl %edx, list_all_lock(%rip)
2885 je .L494
2886 leaq list_all_lock(%rip), %rdi
2887 call __lll_lock_wait_private
2888 jmp .L494
2889 .LFE103:
2890 .size __GI__IO_flush_all_linebuffered, .-__GI__IO_flush_all_linebuffered
2891 .globl _IO_flush_all_linebuffered
2892 .set _IO_flush_all_linebuffered,__GI__IO_flush_all_linebuffered
2893 .weak _flushlbf
2894 .set _flushlbf,_IO_flush_all_linebuffered
2895 .p2align 4,,15
2896 .globl _IO_init_marker
2897 .type _IO_init_marker, @function
2898 _IO_init_marker:
2899 .LFB107:
2900 pushq %rbx
2901 movq %rdi, %rbx
2902 subq $16, %rsp
2903 movl (%rsi), %edx
2904 movq %rsi, 8(%rdi)
2905 testb $8, %dh
2906 jne .L535
2907 .L528:
2908 andb $1, %dh
2909 movq 8(%rsi), %rax
2910 jne .L536
2911 subq 24(%rsi), %rax
2912 movl %eax, 16(%rbx)
2913 .L530:
2914 movq 96(%rsi), %rax
2915 movq %rax, (%rbx)
2916 movq %rbx, 96(%rsi)
2917 addq $16, %rsp
2918 popq %rbx
2920 .p2align 4,,10
2921 .p2align 3
2922 .L536:
2923 subq 16(%rsi), %rax
2924 movl %eax, 16(%rbx)
2925 jmp .L530
2926 .p2align 4,,10
2927 .p2align 3
2928 .L535:
2929 movq %rsi, %rdi
2930 movq %rsi, 8(%rsp)
2931 call __GI__IO_switch_to_get_mode
2932 movq 8(%rsp), %rsi
2933 movl (%rsi), %edx
2934 jmp .L528
2935 .LFE107:
2936 .size _IO_init_marker, .-_IO_init_marker
2937 .p2align 4,,15
2938 .globl _IO_remove_marker
2939 .type _IO_remove_marker, @function
2940 _IO_remove_marker:
2941 .LFB108:
2942 movq 8(%rdi), %rax
2943 movq 96(%rax), %rdx
2944 testq %rdx, %rdx
2945 je .L537
2946 cmpq %rdi, %rdx
2947 jne .L540
2948 jmp .L547
2949 .p2align 4,,10
2950 .p2align 3
2951 .L542:
2952 cmpq %rax, %rdi
2953 je .L541
2954 movq %rax, %rdx
2955 .L540:
2956 movq (%rdx), %rax
2957 testq %rax, %rax
2958 jne .L542
2959 .L537:
2960 rep ret
2961 .p2align 4,,10
2962 .p2align 3
2963 .L547:
2964 leaq 96(%rax), %rdx
2965 .L541:
2966 movq (%rdi), %rax
2967 movq %rax, (%rdx)
2969 .LFE108:
2970 .size _IO_remove_marker, .-_IO_remove_marker
2971 .p2align 4,,15
2972 .globl _IO_marker_difference
2973 .type _IO_marker_difference, @function
2974 _IO_marker_difference:
2975 .LFB109:
2976 movl 16(%rdi), %eax
2977 subl 16(%rsi), %eax
2979 .LFE109:
2980 .size _IO_marker_difference, .-_IO_marker_difference
2981 .p2align 4,,15
2982 .globl _IO_marker_delta
2983 .type _IO_marker_delta, @function
2984 _IO_marker_delta:
2985 .LFB110:
2986 movq 8(%rdi), %rax
2987 testq %rax, %rax
2988 je .L553
2989 testl $256, (%rax)
2990 movq 8(%rax), %rdx
2991 jne .L554
2992 subl 24(%rax), %edx
2993 movl 16(%rdi), %eax
2994 subl %edx, %eax
2996 .p2align 4,,10
2997 .p2align 3
2998 .L554:
2999 subl 16(%rax), %edx
3000 movl 16(%rdi), %eax
3001 subl %edx, %eax
3003 .L553:
3004 movl $-1, %eax
3006 .LFE110:
3007 .size _IO_marker_delta, .-_IO_marker_delta
3008 .p2align 4,,15
3009 .globl _IO_seekmark
3010 .type _IO_seekmark, @function
3011 _IO_seekmark:
3012 .LFB111:
3013 pushq %rbp
3014 pushq %rbx
3015 movl $-1, %eax
3016 subq $8, %rsp
3017 movq 8(%rsi), %rbp
3018 cmpq %rdi, %rbp
3019 jne .L555
3020 movslq 16(%rsi), %rax
3021 movl 0(%rbp), %edx
3022 movq %rsi, %rbx
3023 andl $256, %edx
3024 testl %eax, %eax
3025 js .L557
3026 testl %edx, %edx
3027 jne .L565
3028 .L558:
3029 addq 24(%rbp), %rax
3030 movq %rax, 8(%rbp)
3031 xorl %eax, %eax
3032 .L555:
3033 addq $8, %rsp
3034 popq %rbx
3035 popq %rbp
3037 .p2align 4,,10
3038 .p2align 3
3039 .L565:
3040 movq %rbp, %rdi
3041 call _IO_switch_to_main_get_area@PLT
3042 movslq 16(%rbx), %rax
3043 jmp .L558
3044 .p2align 4,,10
3045 .p2align 3
3046 .L557:
3047 testl %edx, %edx
3048 je .L566
3049 .L559:
3050 addq 16(%rbp), %rax
3051 movq %rax, 8(%rbp)
3052 addq $8, %rsp
3053 xorl %eax, %eax
3054 popq %rbx
3055 popq %rbp
3057 .p2align 4,,10
3058 .p2align 3
3059 .L566:
3060 movq %rbp, %rdi
3061 call _IO_switch_to_backup_area@PLT
3062 movslq 16(%rbx), %rax
3063 jmp .L559
3064 .LFE111:
3065 .size _IO_seekmark, .-_IO_seekmark
3066 .p2align 4,,15
3067 .globl __GI__IO_unsave_markers
3068 .hidden __GI__IO_unsave_markers
3069 .type __GI__IO_unsave_markers, @function
3070 __GI__IO_unsave_markers:
3071 .LFB112:
3072 cmpq $0, 96(%rdi)
3073 je .L568
3074 movq $0, 96(%rdi)
3075 .L568:
3076 cmpq $0, 72(%rdi)
3077 je .L567
3078 jmp __GI__IO_free_backup_area
3079 .p2align 4,,10
3080 .p2align 3
3081 .L567:
3082 rep ret
3083 .LFE112:
3084 .size __GI__IO_unsave_markers, .-__GI__IO_unsave_markers
3085 .globl _IO_unsave_markers
3086 .set _IO_unsave_markers,__GI__IO_unsave_markers
3087 .p2align 4,,15
3088 .globl __GI__IO_default_pbackfail
3089 .hidden __GI__IO_default_pbackfail
3090 .type __GI__IO_default_pbackfail, @function
3091 __GI__IO_default_pbackfail:
3092 .LFB113:
3093 pushq %r15
3094 pushq %r14
3095 pushq %r13
3096 pushq %r12
3097 movl %esi, %r12d
3098 pushq %rbp
3099 pushq %rbx
3100 movq %rdi, %rbx
3101 subq $24, %rsp
3102 movq 8(%rdi), %rbp
3103 movq 24(%rdi), %r13
3104 movl (%rdi), %eax
3105 andl $256, %eax
3106 cmpq %r13, %rbp
3107 jbe .L571
3108 testl %eax, %eax
3109 je .L590
3110 .L572:
3111 leaq -1(%rbp), %rax
3112 movq %rax, 8(%rbx)
3113 movb %r12b, -1(%rbp)
3114 .L574:
3115 movzbl %r12b, %eax
3116 .L570:
3117 addq $24, %rsp
3118 popq %rbx
3119 popq %rbp
3120 popq %r12
3121 popq %r13
3122 popq %r14
3123 popq %r15
3125 .p2align 4,,10
3126 .p2align 3
3127 .L571:
3128 testl %eax, %eax
3129 je .L591
3130 movq 16(%rbx), %rdx
3131 subq %r13, %rdx
3132 leaq (%rdx,%rdx), %r15
3133 movq %rdx, 8(%rsp)
3134 movq %r15, %rdi
3135 call malloc@PLT
3136 testq %rax, %rax
3137 movq %rax, %r14
3138 je .L575
3139 movq 8(%rsp), %rdx
3140 movq %r15, %rbp
3141 movq %r13, %rsi
3142 subq %rdx, %rbp
3143 addq %rax, %rbp
3144 movq %rbp, %rdi
3145 call __GI_memcpy@PLT
3146 movq %r13, %rdi
3147 call free@PLT
3148 movq %r14, 24(%rbx)
3149 addq %r15, %r14
3150 movq %rbp, 80(%rbx)
3151 movq %r14, 16(%rbx)
3152 jmp .L572
3153 .p2align 4,,10
3154 .p2align 3
3155 .L590:
3156 movzbl -1(%rbp), %eax
3157 cmpl %esi, %eax
3158 je .L592
3159 cmpq $0, 72(%rdi)
3160 je .L581
3161 movq %rbp, %rsi
3162 movq %rbx, %rdi
3163 call save_for_backup
3164 testl %eax, %eax
3165 jne .L575
3166 movq 8(%rbx), %rbp
3167 jmp .L576
3168 .p2align 4,,10
3169 .p2align 3
3170 .L591:
3171 cmpq $0, 72(%rbx)
3172 je .L581
3173 .L576:
3174 movq %rbp, 24(%rbx)
3175 movq %rbx, %rdi
3176 call _IO_switch_to_backup_area@PLT
3177 movq 8(%rbx), %rbp
3178 jmp .L572
3179 .p2align 4,,10
3180 .p2align 3
3181 .L581:
3182 movl $128, %edi
3183 call malloc@PLT
3184 testq %rax, %rax
3185 je .L575
3186 movq %rax, 72(%rbx)
3187 subq $-128, %rax
3188 movq %rax, 88(%rbx)
3189 movq %rax, 80(%rbx)
3190 jmp .L576
3191 .p2align 4,,10
3192 .p2align 3
3193 .L592:
3194 subq $1, %rbp
3195 movq %rbp, 8(%rdi)
3196 jmp .L574
3197 .L575:
3198 movl $-1, %eax
3199 jmp .L570
3200 .LFE113:
3201 .size __GI__IO_default_pbackfail, .-__GI__IO_default_pbackfail
3202 .globl _IO_default_pbackfail
3203 .set _IO_default_pbackfail,__GI__IO_default_pbackfail
3204 .p2align 4,,15
3205 .globl _IO_default_seek
3206 .type _IO_default_seek, @function
3207 _IO_default_seek:
3208 .LFB114:
3209 movq $-1, %rax
3211 .LFE114:
3212 .size _IO_default_seek, .-_IO_default_seek
3213 .p2align 4,,15
3214 .globl _IO_default_stat
3215 .type _IO_default_stat, @function
3216 _IO_default_stat:
3217 .LFB115:
3218 movl $-1, %eax
3220 .LFE115:
3221 .size _IO_default_stat, .-_IO_default_stat
3222 .p2align 4,,15
3223 .globl _IO_default_read
3224 .type _IO_default_read, @function
3225 _IO_default_read:
3226 .LFB116:
3227 movq $-1, %rax
3229 .LFE116:
3230 .size _IO_default_read, .-_IO_default_read
3231 .p2align 4,,15
3232 .globl _IO_default_write
3233 .type _IO_default_write, @function
3234 _IO_default_write:
3235 .LFB117:
3236 xorl %eax, %eax
3238 .LFE117:
3239 .size _IO_default_write, .-_IO_default_write
3240 .p2align 4,,15
3241 .globl _IO_default_showmanyc
3242 .type _IO_default_showmanyc, @function
3243 _IO_default_showmanyc:
3244 .LFB136:
3245 movl $-1, %eax
3247 .LFE136:
3248 .size _IO_default_showmanyc, .-_IO_default_showmanyc
3249 .p2align 4,,15
3250 .globl _IO_default_imbue
3251 .type _IO_default_imbue, @function
3252 _IO_default_imbue:
3253 .LFB119:
3254 rep ret
3255 .LFE119:
3256 .size _IO_default_imbue, .-_IO_default_imbue
3257 .p2align 4,,15
3258 .globl __GI__IO_iter_begin
3259 .hidden __GI__IO_iter_begin
3260 .type __GI__IO_iter_begin, @function
3261 __GI__IO_iter_begin:
3262 .LFB120:
3263 movq __GI__IO_list_all(%rip), %rax
3265 .LFE120:
3266 .size __GI__IO_iter_begin, .-__GI__IO_iter_begin
3267 .globl _IO_iter_begin
3268 .set _IO_iter_begin,__GI__IO_iter_begin
3269 .p2align 4,,15
3270 .globl __GI__IO_iter_end
3271 .hidden __GI__IO_iter_end
3272 .type __GI__IO_iter_end, @function
3273 __GI__IO_iter_end:
3274 .LFB121:
3275 xorl %eax, %eax
3277 .LFE121:
3278 .size __GI__IO_iter_end, .-__GI__IO_iter_end
3279 .globl _IO_iter_end
3280 .set _IO_iter_end,__GI__IO_iter_end
3281 .p2align 4,,15
3282 .globl __GI__IO_iter_next
3283 .hidden __GI__IO_iter_next
3284 .type __GI__IO_iter_next, @function
3285 __GI__IO_iter_next:
3286 .LFB122:
3287 movq 104(%rdi), %rax
3289 .LFE122:
3290 .size __GI__IO_iter_next, .-__GI__IO_iter_next
3291 .globl _IO_iter_next
3292 .set _IO_iter_next,__GI__IO_iter_next
3293 .p2align 4,,15
3294 .globl __GI__IO_iter_file
3295 .hidden __GI__IO_iter_file
3296 .type __GI__IO_iter_file, @function
3297 __GI__IO_iter_file:
3298 .LFB123:
3299 movq %rdi, %rax
3301 .LFE123:
3302 .size __GI__IO_iter_file, .-__GI__IO_iter_file
3303 .globl _IO_iter_file
3304 .set _IO_iter_file,__GI__IO_iter_file
3305 .p2align 4,,15
3306 .globl __GI__IO_list_lock
3307 .hidden __GI__IO_list_lock
3308 .type __GI__IO_list_lock, @function
3309 __GI__IO_list_lock:
3310 .LFB124:
3311 pushq %rbx
3312 movq %fs:16, %rbx
3313 cmpq %rbx, 8+list_all_lock(%rip)
3314 je .L604
3315 #APP
3316 # 1096 "genops.c" 1
3317 movl %fs:24,%eax
3318 # 0 "" 2
3319 #NO_APP
3320 testl %eax, %eax
3321 jne .L605
3322 movl $1, %edx
3323 #APP
3324 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
3325 cmpxchgl %edx, list_all_lock(%rip)
3326 # 0 "" 2
3327 #NO_APP
3328 .L606:
3329 movq %rbx, 8+list_all_lock(%rip)
3330 .L604:
3331 addl $1, 4+list_all_lock(%rip)
3332 popq %rbx
3334 .p2align 4,,10
3335 .p2align 3
3336 .L605:
3337 xorl %eax, %eax
3338 movl $1, %edx
3339 lock cmpxchgl %edx, list_all_lock(%rip)
3340 je .L606
3341 leaq list_all_lock(%rip), %rdi
3342 call __lll_lock_wait_private
3343 jmp .L606
3344 .LFE124:
3345 .size __GI__IO_list_lock, .-__GI__IO_list_lock
3346 .globl _IO_list_lock
3347 .set _IO_list_lock,__GI__IO_list_lock
3348 .p2align 4,,15
3349 .globl __GI__IO_list_unlock
3350 .hidden __GI__IO_list_unlock
3351 .type __GI__IO_list_unlock, @function
3352 __GI__IO_list_unlock:
3353 .LFB125:
3354 movl 4+list_all_lock(%rip), %eax
3355 subl $1, %eax
3356 testl %eax, %eax
3357 movl %eax, 4+list_all_lock(%rip)
3358 jne .L608
3359 movq $0, 8+list_all_lock(%rip)
3360 #APP
3361 # 1105 "genops.c" 1
3362 movl %fs:24,%edx
3363 # 0 "" 2
3364 #NO_APP
3365 testl %edx, %edx
3366 jne .L611
3367 subl $1, list_all_lock(%rip)
3369 .p2align 4,,10
3370 .p2align 3
3371 .L611:
3372 #APP
3373 # 1105 "genops.c" 1
3374 xchgl %eax, list_all_lock(%rip)
3375 # 0 "" 2
3376 #NO_APP
3377 cmpl $1, %eax
3378 jle .L608
3379 xorl %r10d, %r10d
3380 movl $1, %edx
3381 movl $129, %esi
3382 leaq list_all_lock(%rip), %rdi
3383 movl $202, %eax
3384 #APP
3385 # 1105 "genops.c" 1
3386 syscall
3388 # 0 "" 2
3389 #NO_APP
3390 .L608:
3391 rep ret
3392 .LFE125:
3393 .size __GI__IO_list_unlock, .-__GI__IO_list_unlock
3394 .globl _IO_list_unlock
3395 .set _IO_list_unlock,__GI__IO_list_unlock
3396 .p2align 4,,15
3397 .globl __GI__IO_list_resetlock
3398 .hidden __GI__IO_list_resetlock
3399 .type __GI__IO_list_resetlock, @function
3400 __GI__IO_list_resetlock:
3401 .LFB126:
3402 movq $0, list_all_lock(%rip)
3403 movq $0, 8+list_all_lock(%rip)
3405 .LFE126:
3406 .size __GI__IO_list_resetlock, .-__GI__IO_list_resetlock
3407 .globl _IO_list_resetlock
3408 .set _IO_list_resetlock,__GI__IO_list_resetlock
3409 .section __libc_atexit,"aw",@progbits
3410 .align 8
3411 .type __elf_set___libc_atexit_element__IO_cleanup__, @object
3412 .size __elf_set___libc_atexit_element__IO_cleanup__, 8
3413 __elf_set___libc_atexit_element__IO_cleanup__:
3414 .quad _IO_cleanup
3415 .section __libc_subfreeres,"aw",@progbits
3416 .align 8
3417 .type __elf_set___libc_subfreeres_element_buffer_free__, @object
3418 .size __elf_set___libc_subfreeres_element_buffer_free__, 8
3419 __elf_set___libc_subfreeres_element_buffer_free__:
3420 .quad buffer_free
3421 .local freeres_list
3422 .comm freeres_list,8,8
3423 .local dealloc_buffers
3424 .comm dealloc_buffers,1,1
3425 .local stdio_needs_locking
3426 .comm stdio_needs_locking,4,4
3427 .local run_fp
3428 .comm run_fp,8,8
3429 .local list_all_lock
3430 .comm list_all_lock,16,16
3431 .hidden IO_accept_foreign_vtables
3432 .hidden _IO_vtable_check
3433 .hidden __stop___libc_IO_vtables
3434 .hidden __start___libc_IO_vtables
3435 .hidden __lll_lock_wait_private
3436 .hidden __libc_pthread_functions
3437 .hidden __libc_pthread_functions_init