clarify the purpose of this project
[nyanglibc.git] / sunrpc / svc_raw.shared.s
blobe05d5f7fa492c526a6f4471fa49cac219af873d4
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_svcraw_create, svcraw_create@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type svcraw_stat, @function
10 svcraw_stat:
11 movl $2, %eax
12 ret
13 .size svcraw_stat, .-svcraw_stat
14 .p2align 4,,15
15 .type svcraw_destroy, @function
16 svcraw_destroy:
17 rep ret
18 .size svcraw_destroy, .-svcraw_destroy
19 .p2align 4,,15
20 .type svcraw_freeargs, @function
21 svcraw_freeargs:
22 pushq %rbp
23 pushq %rbx
24 movq %rdx, %rbp
25 movq %rsi, %rbx
26 subq $8, %rsp
27 call __rpc_thread_variables
28 movq 240(%rax), %rdi
29 testq %rdi, %rdi
30 je .L5
31 movl $2, 9136(%rdi)
32 addq $8, %rsp
33 movq %rbp, %rsi
34 movq %rbx, %rcx
35 addq $9136, %rdi
36 xorl %eax, %eax
37 popq %rbx
38 popq %rbp
39 jmp *%rcx
40 .p2align 4,,10
41 .p2align 3
42 .L5:
43 addq $8, %rsp
44 xorl %eax, %eax
45 popq %rbx
46 popq %rbp
47 ret
48 .size svcraw_freeargs, .-svcraw_freeargs
49 .p2align 4,,15
50 .type svcraw_getargs, @function
51 svcraw_getargs:
52 pushq %rbp
53 pushq %rbx
54 movq %rdx, %rbp
55 movq %rsi, %rbx
56 subq $8, %rsp
57 call __rpc_thread_variables
58 movq 240(%rax), %rdi
59 testq %rdi, %rdi
60 je .L8
61 addq $8, %rsp
62 movq %rbp, %rsi
63 movq %rbx, %rcx
64 popq %rbx
65 popq %rbp
66 addq $9136, %rdi
67 xorl %eax, %eax
68 jmp *%rcx
69 .p2align 4,,10
70 .p2align 3
71 .L8:
72 addq $8, %rsp
73 xorl %eax, %eax
74 popq %rbx
75 popq %rbp
76 ret
77 .size svcraw_getargs, .-svcraw_getargs
78 .p2align 4,,15
79 .type svcraw_reply, @function
80 svcraw_reply:
81 pushq %r12
82 pushq %rbp
83 movq %rsi, %r12
84 pushq %rbx
85 call __rpc_thread_variables
86 movq 240(%rax), %rbx
87 testq %rbx, %rbx
88 je .L13
89 movq 9144(%rbx), %rax
90 leaq 9136(%rbx), %rbp
91 xorl %esi, %esi
92 movl $0, 9136(%rbx)
93 movq %rbp, %rdi
94 call *40(%rax)
95 movq %r12, %rsi
96 movq %rbp, %rdi
97 call __GI_xdr_replymsg
98 testl %eax, %eax
99 je .L13
100 movq 9144(%rbx), %rax
101 movq %rbp, %rdi
102 call *32(%rax)
103 popq %rbx
104 movl $1, %eax
105 popq %rbp
106 popq %r12
108 .p2align 4,,10
109 .p2align 3
110 .L13:
111 popq %rbx
112 xorl %eax, %eax
113 popq %rbp
114 popq %r12
116 .size svcraw_reply, .-svcraw_reply
117 .p2align 4,,15
118 .type svcraw_recv, @function
119 svcraw_recv:
120 pushq %rbp
121 pushq %rbx
122 movq %rsi, %rbp
123 subq $8, %rsp
124 call __rpc_thread_variables
125 movq 240(%rax), %rax
126 testq %rax, %rax
127 je .L20
128 leaq 9136(%rax), %rbx
129 movl $1, 9136(%rax)
130 movq 9144(%rax), %rax
131 xorl %esi, %esi
132 movq %rbx, %rdi
133 call *40(%rax)
134 movq %rbp, %rsi
135 movq %rbx, %rdi
136 call __GI_xdr_callmsg
137 testl %eax, %eax
138 setne %al
139 movzbl %al, %eax
140 .L18:
141 addq $8, %rsp
142 popq %rbx
143 popq %rbp
145 .p2align 4,,10
146 .p2align 3
147 .L20:
148 xorl %eax, %eax
149 jmp .L18
150 .size svcraw_recv, .-svcraw_recv
151 .p2align 4,,15
152 .globl __GI_svcraw_create
153 .hidden __GI_svcraw_create
154 .type __GI_svcraw_create, @function
155 __GI_svcraw_create:
156 pushq %rbx
157 call __rpc_thread_variables
158 movq 240(%rax), %rbx
159 testq %rbx, %rbx
160 je .L27
161 .L23:
162 xorl %eax, %eax
163 leaq 9136(%rbx), %rdi
164 movl $0, 8800(%rbx)
165 movw %ax, 8804(%rbx)
166 leaq server_ops(%rip), %rax
167 movq %rbx, %rsi
168 movl $2, %ecx
169 movl $8800, %edx
170 movq %rax, 8808(%rbx)
171 leaq 9184(%rbx), %rax
172 movq %rax, 8848(%rbx)
173 call __GI_xdrmem_create
174 leaq 8800(%rbx), %rax
175 popq %rbx
177 .p2align 4,,10
178 .p2align 3
179 .L27:
180 movl $9584, %esi
181 movl $1, %edi
182 call calloc@PLT
183 testq %rax, %rax
184 movq %rax, %rbx
185 jne .L23
186 xorl %eax, %eax
187 popq %rbx
189 .size __GI_svcraw_create, .-__GI_svcraw_create
190 .globl __EI_svcraw_create
191 .set __EI_svcraw_create,__GI_svcraw_create
192 .section .data.rel.ro.local,"aw",@progbits
193 .align 32
194 .type server_ops, @object
195 .size server_ops, 48
196 server_ops:
197 .quad svcraw_recv
198 .quad svcraw_stat
199 .quad svcraw_getargs
200 .quad svcraw_reply
201 .quad svcraw_freeargs
202 .quad svcraw_destroy
203 .hidden __rpc_thread_variables