clarify the purpose of this project
[nyanglibc.git] / debug / snprintf_chk.shared.s
blob4aa859e3f296eeba652eaa12b250d0445a0010cf
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl ___snprintf_chk
9 .type ___snprintf_chk, @function
10 ___snprintf_chk:
11 subq $216, %rsp
12 testb %al, %al
13 movq %r8, %r10
14 movq %r9, 72(%rsp)
15 je .L6
16 movaps %xmm0, 80(%rsp)
17 movaps %xmm1, 96(%rsp)
18 movaps %xmm2, 112(%rsp)
19 movaps %xmm3, 128(%rsp)
20 movaps %xmm4, 144(%rsp)
21 movaps %xmm5, 160(%rsp)
22 movaps %xmm6, 176(%rsp)
23 movaps %xmm7, 192(%rsp)
24 .L6:
25 cmpq %rsi, %rcx
26 jb .L9
27 leaq 224(%rsp), %rax
28 xorl %r8d, %r8d
29 testl %edx, %edx
30 setg %r8b
31 leaq 8(%rsp), %rcx
32 movq %r10, %rdx
33 movq %rax, 16(%rsp)
34 leaq 32(%rsp), %rax
35 addl %r8d, %r8d
36 movl $40, 8(%rsp)
37 movl $48, 12(%rsp)
38 movq %rax, 24(%rsp)
39 call __vsnprintf_internal
40 addq $216, %rsp
41 ret
42 .p2align 4,,10
43 .p2align 3
44 .L9:
45 call __GI___chk_fail
46 .size ___snprintf_chk, .-___snprintf_chk
47 .globl __snprintf_chk
48 .set __snprintf_chk,___snprintf_chk
49 .hidden __vsnprintf_internal