clarify the purpose of this project
[nyanglibc.git] / libio / vswprintf.shared.s
blobf9e142a5692f1a481bba691585ff3086dfeed466
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .type _IO_wstrn_overflow, @function
9 _IO_wstrn_overflow:
10 pushq %r13
11 pushq %r12
12 movl %esi, %r12d
13 pushq %rbp
14 pushq %rbx
15 leaq 240(%rdi), %rbx
16 subq $8, %rsp
17 movq 160(%rdi), %rdx
18 cmpq %rbx, 48(%rdx)
19 je .L2
20 leaq 496(%rdi), %r13
21 movq %rdi, %rbp
22 xorl %ecx, %ecx
23 movq %rbx, %rsi
24 movq %r13, %rdx
25 call __GI__IO_wsetb
26 movq 160(%rbp), %rdx
27 movq %rbx, 24(%rdx)
28 movq %rbx, 16(%rdx)
29 movq %rbx, (%rdx)
30 movq %r13, 8(%rdx)
31 .L2:
32 movq %rbx, 32(%rdx)
33 movq %rbx, 40(%rdx)
34 addq $8, %rsp
35 popq %rbx
36 movl %r12d, %eax
37 popq %rbp
38 popq %r12
39 popq %r13
40 ret
41 .size _IO_wstrn_overflow, .-_IO_wstrn_overflow
42 .p2align 4,,15
43 .globl __vswprintf_internal
44 .hidden __vswprintf_internal
45 .type __vswprintf_internal, @function
46 __vswprintf_internal:
47 pushq %r15
48 pushq %r14
49 pushq %r13
50 pushq %r12
51 pushq %rbp
52 pushq %rbx
53 subq $744, %rsp
54 testq %rsi, %rsi
55 movq $0, 376(%rsp)
56 je .L8
57 leaq 240(%rsp), %rbx
58 movl %r8d, %r15d
59 leaq _IO_wstrn_jumps(%rip), %r8
60 movq %rdi, %r12
61 movq %rcx, %r14
62 movq %rdx, %r13
63 movq %rsp, %rcx
64 xorl %edx, %edx
65 movq %rbx, %rdi
66 movq %rsi, %rbp
67 movl $32768, %esi
68 call _IO_no_init@PLT
69 movq %rbx, %rdi
70 movl $1, %esi
71 call _IO_fwide@PLT
72 leaq -1(%rbp), %rdx
73 movq %rbx, %rdi
74 movq %r12, %rcx
75 movq %r12, %rsi
76 movl $0, (%r12)
77 call _IO_wstr_init_static@PLT
78 movq %r14, %rdx
79 movq %rbx, %rdi
80 movl %r15d, %ecx
81 movq %r13, %rsi
82 addq $240, %rbx
83 call __vfwprintf_internal
84 movq 400(%rsp), %rdx
85 cmpq %rbx, 48(%rdx)
86 je .L8
87 movq 32(%rdx), %rdx
88 movl $0, (%rdx)
89 .L5:
90 addq $744, %rsp
91 popq %rbx
92 popq %rbp
93 popq %r12
94 popq %r13
95 popq %r14
96 popq %r15
97 ret
98 .p2align 4,,10
99 .p2align 3
100 .L8:
101 movl $-1, %eax
102 jmp .L5
103 .size __vswprintf_internal, .-__vswprintf_internal
104 .p2align 4,,15
105 .globl __vswprintf
106 .type __vswprintf, @function
107 __vswprintf:
108 xorl %r8d, %r8d
109 jmp __vswprintf_internal
110 .size __vswprintf, .-__vswprintf
111 .weak vswprintf
112 .set vswprintf,__vswprintf
113 .hidden _IO_wstrn_jumps
114 .globl _IO_wstrn_jumps
115 .section __libc_IO_vtables,"aw",@progbits
116 .align 32
117 .type _IO_wstrn_jumps, @object
118 .size _IO_wstrn_jumps, 168
119 _IO_wstrn_jumps:
120 .quad 0
121 .quad 0
122 .quad _IO_wstr_finish
123 .quad _IO_wstrn_overflow
124 .quad _IO_wstr_underflow
125 .quad __GI__IO_wdefault_uflow
126 .quad _IO_wstr_pbackfail
127 .quad __GI__IO_wdefault_xsputn
128 .quad __GI__IO_wdefault_xsgetn
129 .quad _IO_wstr_seekoff
130 .quad _IO_default_seekpos
131 .quad _IO_default_setbuf
132 .quad _IO_default_sync
133 .quad __GI__IO_wdefault_doallocate
134 .quad _IO_default_read
135 .quad _IO_default_write
136 .quad _IO_default_seek
137 .quad _IO_default_sync
138 .quad _IO_default_stat
139 .quad _IO_default_showmanyc
140 .quad _IO_default_imbue
141 .hidden __vfwprintf_internal