clarify the purpose of this project
[nyanglibc.git] / libio / __fpurge.s
blob8148a1bfb0fa5a1f7d59d46aa43cd154957d5771
1 .text
2 .p2align 4,,15
3 .globl __fpurge
4 .type __fpurge, @function
5 __fpurge:
6 movl (%rdi), %eax
7 movl 192(%rdi), %edx
8 pushq %rbx
9 movq %rdi, %rbx
10 andl $256, %eax
11 testl %edx, %edx
12 jle .L2
13 testl %eax, %eax
14 jne .L14
15 .L3:
16 movq 160(%rbx), %rax
17 movq (%rax), %rdx
18 movq %rdx, 8(%rax)
19 movq 24(%rax), %rdx
20 movq %rdx, 32(%rax)
21 popq %rbx
22 ret
23 .p2align 4,,10
24 .p2align 3
25 .L14:
26 call _IO_free_wbackup_area
27 jmp .L3
28 .p2align 4,,10
29 .p2align 3
30 .L2:
31 testl %eax, %eax
32 jne .L15
33 .L5:
34 movq 8(%rbx), %rax
35 movq %rax, 16(%rbx)
36 movq 32(%rbx), %rax
37 movq %rax, 40(%rbx)
38 popq %rbx
39 ret
40 .p2align 4,,10
41 .p2align 3
42 .L15:
43 call _IO_free_backup_area
44 jmp .L5
45 .size __fpurge, .-__fpurge
46 .hidden _IO_free_backup_area
47 .hidden _IO_free_wbackup_area