clarify the purpose of this project
[nyanglibc.git] / string / strncpy.shared.s
blob1cb8d2d7260eb6457320f4569e7200dc28fd02c0
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 __GI_strncpy
9 .hidden __GI_strncpy
10 .type __GI_strncpy, @function
11 __GI_strncpy:
12 pushq %r13
13 pushq %r12
14 movq %rsi, %r12
15 pushq %rbp
16 pushq %rbx
17 movq %rdi, %r13
18 movq %rdx, %rbx
19 movq %rdx, %rsi
20 movq %r12, %rdi
21 subq $8, %rsp
22 call __GI___strnlen
23 cmpq %rax, %rbx
24 movq %rax, %rbp
25 je .L2
26 subq %rax, %rbx
27 leaq 0(%r13,%rax), %rdi
28 xorl %esi, %esi
29 movq %rbx, %rdx
30 call __GI_memset@PLT
31 .L2:
32 addq $8, %rsp
33 movq %rbp, %rdx
34 movq %r12, %rsi
35 popq %rbx
36 movq %r13, %rdi
37 popq %rbp
38 popq %r12
39 popq %r13
40 jmp __GI_memcpy@PLT
41 .size __GI_strncpy, .-__GI_strncpy
42 .globl strncpy
43 .set strncpy,__GI_strncpy