clarify the purpose of this project
[nyanglibc.git] / debug / stpcpy_chk.shared.s
blob2638b62cfdd55c251f4f0a28ea26e3962a46cd2f
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 __stpcpy_chk
9 .type __stpcpy_chk, @function
10 __stpcpy_chk:
11 pushq %r13
12 pushq %r12
13 movq %rdi, %r13
14 pushq %rbp
15 pushq %rbx
16 movq %rdx, %r12
17 movq %rsi, %rdi
18 movq %rsi, %rbp
19 subq $8, %rsp
20 call __GI_strlen
21 cmpq %r12, %rax
22 jnb .L5
23 leaq 1(%rax), %rdx
24 movq %rbp, %rsi
25 movq %r13, %rdi
26 movq %rax, %rbx
27 call __GI_memcpy@PLT
28 addq $8, %rsp
29 addq %rbx, %rax
30 popq %rbx
31 popq %rbp
32 popq %r12
33 popq %r13
34 ret
35 .L5:
36 call __GI___chk_fail
37 .size __stpcpy_chk, .-__stpcpy_chk