clarify the purpose of this project
[nyanglibc.git] / sunrpc / rpc_thread.shared.s
blobd74abf2e212e128c57fbe6e937d64ea03760961d
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI___rpc_thread_svc_fdset, __rpc_thread_svc_fdset@GLIBC_2.2.5
7 .symver __EI___rpc_thread_createerr, __rpc_thread_createerr@GLIBC_2.2.5
8 .symver __EI___rpc_thread_svc_pollfd, __rpc_thread_svc_pollfd@GLIBC_2.2.5
9 .symver __EI___rpc_thread_svc_max_pollfd, __rpc_thread_svc_max_pollfd@GLIBC_2.2.5
10 #NO_APP
11 .p2align 4,,15
12 .type rpc_thread_multi, @function
13 rpc_thread_multi:
14 movq thread_rpc_vars@gottpoff(%rip), %rax
15 leaq __libc_tsd_RPC_VARS_mem(%rip), %rdx
16 movq %rdx, %fs:(%rax)
17 ret
18 .size rpc_thread_multi, .-rpc_thread_multi
19 .p2align 4,,15
20 .globl __rpc_thread_destroy
21 .hidden __rpc_thread_destroy
22 .type __rpc_thread_destroy, @function
23 __rpc_thread_destroy:
24 pushq %rbp
25 pushq %rbx
26 subq $8, %rsp
27 movq thread_rpc_vars@gottpoff(%rip), %rbp
28 movq %fs:0(%rbp), %rbx
29 testq %rbx, %rbx
30 je .L3
31 call __rpc_thread_svc_cleanup
32 call __rpc_thread_clnt_cleanup
33 call __rpc_thread_key_cleanup
34 movq 176(%rbx), %rdi
35 call free@PLT
36 movq 184(%rbx), %rdi
37 call free@PLT
38 movq 240(%rbx), %rdi
39 call free@PLT
40 movq 208(%rbx), %rdi
41 call free@PLT
42 movq 216(%rbx), %rdi
43 call free@PLT
44 movq 224(%rbx), %rdi
45 call free@PLT
46 movq 160(%rbx), %rdi
47 call free@PLT
48 leaq __libc_tsd_RPC_VARS_mem(%rip), %rax
49 cmpq %rax, %rbx
50 je .L5
51 movq %rbx, %rdi
52 call free@PLT
53 .L5:
54 movq $0, %fs:0(%rbp)
55 .L3:
56 addq $8, %rsp
57 popq %rbx
58 popq %rbp
59 ret
60 .size __rpc_thread_destroy, .-__rpc_thread_destroy
61 .p2align 4,,15
62 .globl __rpc_thread_variables
63 .hidden __rpc_thread_variables
64 .type __rpc_thread_variables, @function
65 __rpc_thread_variables:
66 pushq %rbx
67 movq thread_rpc_vars@gottpoff(%rip), %rbx
68 movq %fs:(%rbx), %rax
69 testq %rax, %rax
70 je .L21
71 .L10:
72 popq %rbx
73 ret
74 .p2align 4,,10
75 .p2align 3
76 .L21:
77 movl __libc_pthread_functions_init(%rip), %edx
78 testl %edx, %edx
79 je .L12
80 movq 128+__libc_pthread_functions(%rip), %rax
81 leaq rpc_thread_multi(%rip), %rsi
82 leaq once.9545(%rip), %rdi
83 #APP
84 # 59 "rpc_thread.c" 1
85 ror $2*8+1, %rax
86 xor %fs:48, %rax
87 # 0 "" 2
88 #NO_APP
89 call *%rax
90 movq %fs:(%rbx), %rax
91 testq %rax, %rax
92 jne .L10
93 .L13:
94 movl $264, %esi
95 movl $1, %edi
96 call calloc@PLT
97 testq %rax, %rax
98 je .L10
99 movq %rax, %fs:(%rbx)
100 popq %rbx
102 .p2align 4,,10
103 .p2align 3
104 .L12:
105 movl once.9545(%rip), %eax
106 testl %eax, %eax
107 jne .L13
108 leaq __libc_tsd_RPC_VARS_mem(%rip), %rax
109 movl $2, once.9545(%rip)
110 movq %rax, %fs:(%rbx)
111 popq %rbx
113 .size __rpc_thread_variables, .-__rpc_thread_variables
114 .p2align 4,,15
115 .globl __GI___rpc_thread_svc_fdset
116 .hidden __GI___rpc_thread_svc_fdset
117 .type __GI___rpc_thread_svc_fdset, @function
118 __GI___rpc_thread_svc_fdset:
119 subq $8, %rsp
120 call __rpc_thread_variables
121 leaq __libc_tsd_RPC_VARS_mem(%rip), %rdx
122 cmpq %rdx, %rax
123 je .L26
124 addq $8, %rsp
126 .p2align 4,,10
127 .p2align 3
128 .L26:
129 movq svc_fdset@GOTPCREL(%rip), %rax
130 addq $8, %rsp
132 .size __GI___rpc_thread_svc_fdset, .-__GI___rpc_thread_svc_fdset
133 .globl __EI___rpc_thread_svc_fdset
134 .set __EI___rpc_thread_svc_fdset,__GI___rpc_thread_svc_fdset
135 .p2align 4,,15
136 .globl __GI___rpc_thread_createerr
137 .hidden __GI___rpc_thread_createerr
138 .type __GI___rpc_thread_createerr, @function
139 __GI___rpc_thread_createerr:
140 subq $8, %rsp
141 call __rpc_thread_variables
142 leaq __libc_tsd_RPC_VARS_mem(%rip), %rdx
143 cmpq %rdx, %rax
144 je .L29
145 subq $-128, %rax
146 addq $8, %rsp
148 .p2align 4,,10
149 .p2align 3
150 .L29:
151 movq rpc_createerr@GOTPCREL(%rip), %rax
152 addq $8, %rsp
154 .size __GI___rpc_thread_createerr, .-__GI___rpc_thread_createerr
155 .globl __EI___rpc_thread_createerr
156 .set __EI___rpc_thread_createerr,__GI___rpc_thread_createerr
157 .p2align 4,,15
158 .globl __GI___rpc_thread_svc_pollfd
159 .hidden __GI___rpc_thread_svc_pollfd
160 .type __GI___rpc_thread_svc_pollfd, @function
161 __GI___rpc_thread_svc_pollfd:
162 subq $8, %rsp
163 call __rpc_thread_variables
164 leaq __libc_tsd_RPC_VARS_mem(%rip), %rdx
165 cmpq %rdx, %rax
166 je .L33
167 addq $160, %rax
168 addq $8, %rsp
170 .p2align 4,,10
171 .p2align 3
172 .L33:
173 movq svc_pollfd@GOTPCREL(%rip), %rax
174 addq $8, %rsp
176 .size __GI___rpc_thread_svc_pollfd, .-__GI___rpc_thread_svc_pollfd
177 .globl __EI___rpc_thread_svc_pollfd
178 .set __EI___rpc_thread_svc_pollfd,__GI___rpc_thread_svc_pollfd
179 .p2align 4,,15
180 .globl __GI___rpc_thread_svc_max_pollfd
181 .hidden __GI___rpc_thread_svc_max_pollfd
182 .type __GI___rpc_thread_svc_max_pollfd, @function
183 __GI___rpc_thread_svc_max_pollfd:
184 subq $8, %rsp
185 call __rpc_thread_variables
186 leaq __libc_tsd_RPC_VARS_mem(%rip), %rdx
187 cmpq %rdx, %rax
188 je .L37
189 addq $168, %rax
190 addq $8, %rsp
192 .p2align 4,,10
193 .p2align 3
194 .L37:
195 movq svc_max_pollfd@GOTPCREL(%rip), %rax
196 addq $8, %rsp
198 .size __GI___rpc_thread_svc_max_pollfd, .-__GI___rpc_thread_svc_max_pollfd
199 .globl __EI___rpc_thread_svc_max_pollfd
200 .set __EI___rpc_thread_svc_max_pollfd,__GI___rpc_thread_svc_max_pollfd
201 .local once.9545
202 .comm once.9545,4,4
203 .section __libc_subfreeres,"aw",@progbits
204 .align 8
205 .type __elf_set___libc_subfreeres_element___rpc_thread_destroy__, @object
206 .size __elf_set___libc_subfreeres_element___rpc_thread_destroy__, 8
207 __elf_set___libc_subfreeres_element___rpc_thread_destroy__:
208 .quad __rpc_thread_destroy
209 .section .tbss,"awT",@nobits
210 .align 8
211 .type thread_rpc_vars, @object
212 .size thread_rpc_vars, 8
213 thread_rpc_vars:
214 .zero 8
215 .local __libc_tsd_RPC_VARS_mem
216 .comm __libc_tsd_RPC_VARS_mem,264,32
217 .hidden __libc_pthread_functions
218 .hidden __libc_pthread_functions_init
219 .hidden __rpc_thread_key_cleanup
220 .hidden __rpc_thread_clnt_cleanup
221 .hidden __rpc_thread_svc_cleanup