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