clarify the purpose of this project
[nyanglibc.git] / string / strtok_r.shared.s
blob96191e5b13e80bb4d78a659324cb0034077c5d07
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___strtok_r
9 .hidden __GI___strtok_r
10 .type __GI___strtok_r, @function
11 __GI___strtok_r:
12 testq %rdi, %rdi
13 pushq %r12
14 movq %rsi, %r12
15 pushq %rbp
16 movq %rdx, %rbp
17 pushq %rbx
18 movq %rdi, %rbx
19 je .L12
20 .L2:
21 cmpb $0, (%rbx)
22 je .L9
23 movq %rbx, %rdi
24 movq %r12, %rsi
25 call __GI_strspn
26 addq %rax, %rbx
27 cmpb $0, (%rbx)
28 je .L9
29 movq %r12, %rsi
30 movq %rbx, %rdi
31 call __GI_strcspn
32 addq %rbx, %rax
33 cmpb $0, (%rax)
34 je .L10
35 movb $0, (%rax)
36 addq $1, %rax
37 .L10:
38 movq %rax, 0(%rbp)
39 movq %rbx, %rax
40 popq %rbx
41 popq %rbp
42 popq %r12
43 ret
44 .p2align 4,,10
45 .p2align 3
46 .L12:
47 movq (%rdx), %rbx
48 jmp .L2
49 .p2align 4,,10
50 .p2align 3
51 .L9:
52 movq %rbx, 0(%rbp)
53 xorl %ebx, %ebx
54 movq %rbx, %rax
55 popq %rbx
56 popq %rbp
57 popq %r12
58 ret
59 .size __GI___strtok_r, .-__GI___strtok_r
60 .globl __strtok_r
61 .set __strtok_r,__GI___strtok_r
62 .weak strtok_r
63 .set strtok_r,__strtok_r