clarify the purpose of this project
[nyanglibc.git] / libio / vsnprintf.shared.s
blobd3604556f416d0e4c342bf0b0ec38c2afdfede8b
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_strn_overflow, @function
9 _IO_strn_overflow:
10 pushq %r13
11 pushq %r12
12 movl %esi, %r12d
13 pushq %rbp
14 pushq %rbx
15 leaq 240(%rdi), %rbp
16 movq %rdi, %rbx
17 subq $8, %rsp
18 cmpq %rbp, 56(%rdi)
19 je .L2
20 movq 40(%rdi), %rax
21 leaq 304(%rdi), %r13
22 xorl %ecx, %ecx
23 movq %rbp, %rsi
24 movq %r13, %rdx
25 movb $0, (%rax)
26 call __GI__IO_setb
27 movq %rbp, 32(%rbx)
28 movq %rbp, 24(%rbx)
29 movq %rbp, 8(%rbx)
30 movq %r13, 16(%rbx)
31 .L2:
32 movq %rbp, 40(%rbx)
33 movq %rbp, 48(%rbx)
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_strn_overflow, .-_IO_strn_overflow
42 .p2align 4,,15
43 .globl __vsnprintf_internal
44 .hidden __vsnprintf_internal
45 .type __vsnprintf_internal, @function
46 __vsnprintf_internal:
47 pushq %r15
48 pushq %r14
49 movl %r8d, %r14d
50 pushq %r13
51 pushq %r12
52 movq %rcx, %r13
53 pushq %rbp
54 pushq %rbx
55 movq %rdx, %r12
56 subq $312, %rsp
57 testq %rsi, %rsi
58 movq $0, 136(%rsp)
59 je .L8
60 leaq -1(%rsi), %r15
61 movq %rdi, %rbp
62 movq %rsp, %rbx
63 .L6:
64 xorl %r8d, %r8d
65 xorl %ecx, %ecx
66 movq %rbx, %rdi
67 movl $-1, %edx
68 movl $32768, %esi
69 call _IO_no_init@PLT
70 leaq _IO_strn_jumps(%rip), %rax
71 movq %rbx, %rdi
72 movq %rbp, %rcx
73 movq %r15, %rdx
74 movq %rbp, %rsi
75 movq %rax, 216(%rsp)
76 movb $0, 0(%rbp)
77 call _IO_str_init_static_internal@PLT
78 movq %rbx, %rdi
79 movl %r14d, %ecx
80 movq %r13, %rdx
81 movq %r12, %rsi
82 addq $240, %rbx
83 call __vfprintf_internal
84 cmpq %rbx, 56(%rsp)
85 je .L5
86 movq 40(%rsp), %rdx
87 movb $0, (%rdx)
88 .L5:
89 addq $312, %rsp
90 popq %rbx
91 popq %rbp
92 popq %r12
93 popq %r13
94 popq %r14
95 popq %r15
96 ret
97 .p2align 4,,10
98 .p2align 3
99 .L8:
100 movq %rsp, %rbx
101 movl $63, %r15d
102 leaq 240(%rbx), %rbp
103 jmp .L6
104 .size __vsnprintf_internal, .-__vsnprintf_internal
105 .p2align 4,,15
106 .globl ___vsnprintf
107 .type ___vsnprintf, @function
108 ___vsnprintf:
109 xorl %r8d, %r8d
110 jmp __vsnprintf_internal
111 .size ___vsnprintf, .-___vsnprintf
112 .weak vsnprintf
113 .set vsnprintf,___vsnprintf
114 .weak __vsnprintf
115 .set __vsnprintf,___vsnprintf
116 .hidden _IO_strn_jumps
117 .globl _IO_strn_jumps
118 .section __libc_IO_vtables,"aw",@progbits
119 .align 32
120 .type _IO_strn_jumps, @object
121 .size _IO_strn_jumps, 168
122 _IO_strn_jumps:
123 .quad 0
124 .quad 0
125 .quad _IO_str_finish
126 .quad _IO_strn_overflow
127 .quad __GI__IO_str_underflow
128 .quad __GI__IO_default_uflow
129 .quad __GI__IO_str_pbackfail
130 .quad __GI__IO_default_xsputn
131 .quad __GI__IO_default_xsgetn
132 .quad __GI__IO_str_seekoff
133 .quad _IO_default_seekpos
134 .quad _IO_default_setbuf
135 .quad _IO_default_sync
136 .quad __GI__IO_default_doallocate
137 .quad _IO_default_read
138 .quad _IO_default_write
139 .quad _IO_default_seek
140 .quad _IO_default_sync
141 .quad _IO_default_stat
142 .quad _IO_default_showmanyc
143 .quad _IO_default_imbue
144 .hidden __vfprintf_internal