clarify the purpose of this project
[nyanglibc.git] / debug / strcpy_chk.shared.s
blob461fd23becf22db962f1bdbb51516a9cbf6a0e1e
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 __strcpy_chk
9 .type __strcpy_chk, @function
10 __strcpy_chk:
11 pushq %r12
12 pushq %rbp
13 movq %rdi, %r12
14 pushq %rbx
15 movq %rdx, %rbp
16 movq %rsi, %rdi
17 movq %rsi, %rbx
18 call __GI_strlen
19 cmpq %rbp, %rax
20 jnb .L5
21 movq %rbx, %rsi
22 movq %r12, %rdi
23 leaq 1(%rax), %rdx
24 popq %rbx
25 popq %rbp
26 popq %r12
27 jmp __GI_memcpy@PLT
28 .L5:
29 call __GI___chk_fail
30 .size __strcpy_chk, .-__strcpy_chk