clarify the purpose of this project
[nyanglibc.git] / debug / sprintf_chk.s
blobd66e82f3a5f731030f587e8ca8c9544f31270aa1
1 .text
2 .p2align 4,,15
3 .globl ___sprintf_chk
4 .type ___sprintf_chk, @function
5 ___sprintf_chk:
6 subq $216, %rsp
7 testb %al, %al
8 movq %rdx, %r10
9 movq %r8, 64(%rsp)
10 movq %rcx, %rdx
11 movq %r9, 72(%rsp)
12 je .L6
13 movaps %xmm0, 80(%rsp)
14 movaps %xmm1, 96(%rsp)
15 movaps %xmm2, 112(%rsp)
16 movaps %xmm3, 128(%rsp)
17 movaps %xmm4, 144(%rsp)
18 movaps %xmm5, 160(%rsp)
19 movaps %xmm6, 176(%rsp)
20 movaps %xmm7, 192(%rsp)
21 .L6:
22 xorl %r8d, %r8d
23 testl %esi, %esi
24 setg %r8b
25 testq %r10, %r10
26 leal 4(%r8,%r8), %r8d
27 je .L9
28 leaq 224(%rsp), %rax
29 leaq 8(%rsp), %rcx
30 movq %r10, %rsi
31 movl $32, 8(%rsp)
32 movl $48, 12(%rsp)
33 movq %rax, 16(%rsp)
34 leaq 32(%rsp), %rax
35 movq %rax, 24(%rsp)
36 call __vsprintf_internal
37 addq $216, %rsp
38 ret
39 .L9:
40 call __chk_fail
41 .size ___sprintf_chk, .-___sprintf_chk
42 .globl __sprintf_chk
43 .set __sprintf_chk,___sprintf_chk
44 .hidden __chk_fail
45 .hidden __vsprintf_internal