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