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