clarify the purpose of this project
[nyanglibc.git] / libio / obprintf.shared.s
bloba34ee8a09d567513624d961b8709f8baa519efcd
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_obstack_xsputn, @function
9 _IO_obstack_xsputn:
10 pushq %r14
11 pushq %r13
12 movq %rdx, %r13
13 pushq %r12
14 pushq %rbp
15 movq %rdi, %rbp
16 pushq %rbx
17 movq 40(%rdi), %rdi
18 movq %rsi, %r14
19 movq 48(%rbp), %rax
20 addq %rdi, %rdx
21 cmpq %rdx, %rax
22 jnb .L2
23 movq 224(%rbp), %r12
24 subq %rax, %rdi
25 movslq %r13d, %rbx
26 addq 24(%r12), %rdi
27 leaq (%rdi,%rbx), %rax
28 cmpq %rax, 32(%r12)
29 movq %rdi, 24(%r12)
30 jb .L7
31 .L3:
32 movq %rbx, %rdx
33 movq %r14, %rsi
34 call __GI_memcpy@PLT
35 movq 16(%r12), %rax
36 addq 24(%r12), %rbx
37 movq %rax, 32(%rbp)
38 movq 32(%r12), %rax
39 movq %rbx, 40(%rbp)
40 subq %rbx, %rax
41 cltq
42 addq %rax, %rbx
43 movq %r13, %rax
44 movq %rbx, 48(%rbp)
45 movq %rbx, 24(%r12)
46 popq %rbx
47 popq %rbp
48 popq %r12
49 popq %r13
50 popq %r14
51 ret
52 .p2align 4,,10
53 .p2align 3
54 .L7:
55 movq %r12, %rdi
56 movl %r13d, %esi
57 call __GI__obstack_newchunk
58 movq 24(%r12), %rdi
59 jmp .L3
60 .p2align 4,,10
61 .p2align 3
62 .L2:
63 movq %r13, %rdx
64 call __GI_mempcpy@PLT
65 movq %rax, 40(%rbp)
66 movq %r13, %rax
67 popq %rbx
68 popq %rbp
69 popq %r12
70 popq %r13
71 popq %r14
72 ret
73 .size _IO_obstack_xsputn, .-_IO_obstack_xsputn
74 .section .rodata.str1.1,"aMS",@progbits,1
75 .LC0:
76 .string "obprintf.c"
77 .LC1:
78 .string "c != EOF"
79 .text
80 .p2align 4,,15
81 .type _IO_obstack_overflow, @function
82 _IO_obstack_overflow:
83 pushq %rbp
84 pushq %rbx
85 subq $24, %rsp
86 cmpl $-1, %esi
87 movq 224(%rdi), %rbx
88 je .L12
89 movq 24(%rbx), %rdx
90 movq %rdi, %rbp
91 movl %esi, %eax
92 leaq 1(%rdx), %rcx
93 cmpq 32(%rbx), %rcx
94 jbe .L10
95 movl %esi, 12(%rsp)
96 movq %rbx, %rdi
97 movl $1, %esi
98 call __GI__obstack_newchunk
99 movq 24(%rbx), %rdx
100 movl 12(%rsp), %eax
101 leaq 1(%rdx), %rcx
102 .L10:
103 movq %rcx, 24(%rbx)
104 movb %al, (%rdx)
105 movq 16(%rbx), %rdx
106 movq 32(%rbx), %rcx
107 movq %rdx, 32(%rbp)
108 movq 24(%rbx), %rdx
109 subq %rdx, %rcx
110 movq %rdx, 40(%rbp)
111 movslq %ecx, %rcx
112 addq %rcx, %rdx
113 movq %rdx, 48(%rbp)
114 movq %rdx, 24(%rbx)
115 addq $24, %rsp
116 popq %rbx
117 popq %rbp
119 .L12:
120 leaq __PRETTY_FUNCTION__.10884(%rip), %rcx
121 leaq .LC0(%rip), %rsi
122 leaq .LC1(%rip), %rdi
123 movl $47, %edx
124 call __GI___assert_fail
125 .size _IO_obstack_overflow, .-_IO_obstack_overflow
126 .section .rodata.str1.1
127 .LC2:
128 .string "size != 0"
129 .section .rodata.str1.8,"aMS",@progbits,1
130 .align 8
131 .LC3:
132 .string "size == (new_f.ofile.file.file._IO_write_end - new_f.ofile.file.file._IO_write_base)"
133 .align 8
134 .LC4:
135 .string "new_f.ofile.file.file._IO_write_ptr == (new_f.ofile.file.file._IO_write_base + obstack_object_size (obstack))"
136 .text
137 .p2align 4,,15
138 .globl __obstack_vprintf_internal
139 .hidden __obstack_vprintf_internal
140 .type __obstack_vprintf_internal, @function
141 __obstack_vprintf_internal:
142 pushq %r15
143 pushq %r14
144 xorl %r8d, %r8d
145 pushq %r13
146 pushq %r12
147 movq %rdx, %r14
148 pushq %rbp
149 pushq %rbx
150 movl %ecx, %r15d
151 movq %rdi, %rbx
152 xorl %ecx, %ecx
153 movl $-1, %edx
154 subq $264, %rsp
155 leaq 16(%rsp), %r12
156 movq %rsi, 8(%rsp)
157 movl $32768, %esi
158 movq $0, 152(%rsp)
159 movq %r12, %rdi
160 call _IO_no_init@PLT
161 movq 24(%rbx), %rcx
162 leaq _IO_obstack_jumps(%rip), %rax
163 movq 32(%rbx), %rbp
164 movq 16(%rbx), %rsi
165 movq %rax, 232(%rsp)
166 movq %rcx, %rax
167 subq %rcx, %rbp
168 subq %rsi, %rax
169 addl %ebp, %eax
170 jne .L19
171 cmpq $63, %rbp
172 movl %ebp, %edx
173 jle .L21
174 .L15:
175 testl %edx, %edx
176 je .L16
177 movq 16(%rbx), %rsi
178 movl %edx, %ebp
179 .L14:
180 movslq %edx, %r13
181 movq %r12, %rdi
182 movq %r13, %rdx
183 call _IO_str_init_static_internal@PLT
184 movq 48(%rsp), %rdx
185 movq 64(%rsp), %rcx
186 subq %rdx, %rcx
187 cmpq %rcx, %r13
188 jne .L22
189 movq 24(%rbx), %rax
190 movl %eax, %ecx
191 subl 16(%rbx), %ecx
192 addq %rcx, %rdx
193 cmpq %rdx, 56(%rsp)
194 jne .L23
195 movslq %ebp, %rbp
196 movq 8(%rsp), %rsi
197 movq %r14, %rdx
198 addq %rbp, %rax
199 movl %r15d, %ecx
200 movq %r12, %rdi
201 movq %rax, 24(%rbx)
202 movq %rbx, 240(%rsp)
203 call __vfprintf_internal
204 movq 56(%rsp), %rdx
205 subq 64(%rsp), %rdx
206 addq %rdx, 24(%rbx)
207 addq $264, %rsp
208 popq %rbx
209 popq %rbp
210 popq %r12
211 popq %r13
212 popq %r14
213 popq %r15
215 .p2align 4,,10
216 .p2align 3
217 .L21:
218 movl $64, %esi
219 movq %rbx, %rdi
220 call __GI__obstack_newchunk
221 movq 24(%rbx), %rcx
222 movl 32(%rbx), %edx
223 subl %ecx, %edx
224 jmp .L15
225 .p2align 4,,10
226 .p2align 3
227 .L19:
228 movl %eax, %edx
229 jmp .L14
230 .L23:
231 leaq __PRETTY_FUNCTION__.10920(%rip), %rcx
232 leaq .LC0(%rip), %rsi
233 leaq .LC4(%rip), %rdi
234 movl $163, %edx
235 call __GI___assert_fail
236 .L22:
237 leaq __PRETTY_FUNCTION__.10920(%rip), %rcx
238 leaq .LC0(%rip), %rsi
239 leaq .LC3(%rip), %rdi
240 movl $160, %edx
241 call __GI___assert_fail
242 .L16:
243 leaq __PRETTY_FUNCTION__.10920(%rip), %rcx
244 leaq .LC0(%rip), %rsi
245 leaq .LC2(%rip), %rdi
246 movl $152, %edx
247 call __GI___assert_fail
248 .size __obstack_vprintf_internal, .-__obstack_vprintf_internal
249 .p2align 4,,15
250 .globl __obstack_vprintf
251 .type __obstack_vprintf, @function
252 __obstack_vprintf:
253 xorl %ecx, %ecx
254 jmp __obstack_vprintf_internal
255 .size __obstack_vprintf, .-__obstack_vprintf
256 .weak obstack_vprintf
257 .set obstack_vprintf,__obstack_vprintf
258 .p2align 4,,15
259 .globl __obstack_printf
260 .type __obstack_printf, @function
261 __obstack_printf:
262 subq $216, %rsp
263 testb %al, %al
264 movq %rdx, 48(%rsp)
265 movq %rcx, 56(%rsp)
266 movq %r8, 64(%rsp)
267 movq %r9, 72(%rsp)
268 je .L27
269 movaps %xmm0, 80(%rsp)
270 movaps %xmm1, 96(%rsp)
271 movaps %xmm2, 112(%rsp)
272 movaps %xmm3, 128(%rsp)
273 movaps %xmm4, 144(%rsp)
274 movaps %xmm5, 160(%rsp)
275 movaps %xmm6, 176(%rsp)
276 movaps %xmm7, 192(%rsp)
277 .L27:
278 leaq 224(%rsp), %rax
279 leaq 8(%rsp), %rdx
280 xorl %ecx, %ecx
281 movq %rax, 16(%rsp)
282 leaq 32(%rsp), %rax
283 movl $16, 8(%rsp)
284 movl $48, 12(%rsp)
285 movq %rax, 24(%rsp)
286 call __obstack_vprintf_internal
287 addq $216, %rsp
289 .size __obstack_printf, .-__obstack_printf
290 .weak obstack_printf
291 .set obstack_printf,__obstack_printf
292 .section .rodata.str1.16,"aMS",@progbits,1
293 .align 16
294 .type __PRETTY_FUNCTION__.10920, @object
295 .size __PRETTY_FUNCTION__.10920, 27
296 __PRETTY_FUNCTION__.10920:
297 .string "__obstack_vprintf_internal"
298 .align 16
299 .type __PRETTY_FUNCTION__.10884, @object
300 .size __PRETTY_FUNCTION__.10884, 21
301 __PRETTY_FUNCTION__.10884:
302 .string "_IO_obstack_overflow"
303 .hidden _IO_obstack_jumps
304 .globl _IO_obstack_jumps
305 .section __libc_IO_vtables,"aw",@progbits
306 .align 32
307 .type _IO_obstack_jumps, @object
308 .size _IO_obstack_jumps, 168
309 _IO_obstack_jumps:
310 .quad 0
311 .quad 0
312 .quad 0
313 .quad _IO_obstack_overflow
314 .quad 0
315 .quad 0
316 .quad 0
317 .quad _IO_obstack_xsputn
318 .quad 0
319 .quad 0
320 .quad 0
321 .quad 0
322 .quad 0
323 .quad 0
324 .quad 0
325 .quad 0
326 .quad 0
327 .quad 0
328 .quad 0
329 .quad 0
330 .quad 0
331 .hidden __vfprintf_internal