clarify the purpose of this project
[nyanglibc.git] / debug / wcscpy_chk.shared.s
blobe0ec191f62f8790e905cb2cdfd80741982423d41
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 __wcscpy_chk
9 .type __wcscpy_chk, @function
10 __wcscpy_chk:
11 movq %rdi, %r8
12 xorl %ecx, %ecx
13 subq %rsi, %r8
14 sarq $2, %r8
15 leaq -4(%rsi,%r8,4), %r9
16 jmp .L3
17 .p2align 4,,10
18 .p2align 3
19 .L2:
20 movl (%rsi,%rcx,4), %r8d
21 movl %r8d, 4(%r9,%rcx,4)
22 addq $1, %rcx
23 testl %r8d, %r8d
24 je .L9
25 .L3:
26 cmpq %rdx, %rcx
27 jne .L2
28 subq $8, %rsp
29 call __GI___chk_fail
30 .p2align 4,,10
31 .p2align 3
32 .L9:
33 movq %rdi, %rax
34 ret
35 .size __wcscpy_chk, .-__wcscpy_chk