clarify the purpose of this project
[nyanglibc.git] / libio / iofputws_u.shared.s
blobdc03d68e07939a446392a44936f3371bd7519d49
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl __GI_fputws_unlocked
9 .hidden __GI_fputws_unlocked
10 .type __GI_fputws_unlocked, @function
11 __GI_fputws_unlocked:
12 pushq %r14
13 pushq %r13
14 pushq %r12
15 pushq %rbp
16 movq %rdi, %r12
17 pushq %rbx
18 movq %rsi, %rbx
19 call __wcslen@PLT
20 movl $1, %esi
21 movq %rbx, %rdi
22 movq %rax, %r13
23 call _IO_fwide@PLT
24 cmpl $1, %eax
25 jne .L5
26 movq 216(%rbx), %r14
27 leaq __start___libc_IO_vtables(%rip), %rdx
28 movl %eax, %ebp
29 leaq __stop___libc_IO_vtables(%rip), %rax
30 movq %r14, %rcx
31 subq %rdx, %rax
32 subq %rdx, %rcx
33 cmpq %rcx, %rax
34 jbe .L8
35 .L4:
36 movq %r13, %rdx
37 movq %r12, %rsi
38 movq %rbx, %rdi
39 call *56(%r14)
40 cmpq %r13, %rax
41 jne .L5
42 .L1:
43 popq %rbx
44 movl %ebp, %eax
45 popq %rbp
46 popq %r12
47 popq %r13
48 popq %r14
49 ret
50 .p2align 4,,10
51 .p2align 3
52 .L8:
53 call _IO_vtable_check
54 jmp .L4
55 .p2align 4,,10
56 .p2align 3
57 .L5:
58 movl $-1, %ebp
59 jmp .L1
60 .size __GI_fputws_unlocked, .-__GI_fputws_unlocked
61 .globl fputws_unlocked
62 .set fputws_unlocked,__GI_fputws_unlocked
63 .hidden _IO_vtable_check
64 .hidden __stop___libc_IO_vtables
65 .hidden __start___libc_IO_vtables