clarify the purpose of this project
[nyanglibc.git] / sunrpc / clnt_simp.shared.s
blobdb6127faaaac0d457b646db2382748af3a216f4b
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_callrpc, callrpc@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .globl __GI_callrpc
10 .hidden __GI_callrpc
11 .type __GI_callrpc, @function
12 __GI_callrpc:
13 pushq %r15
14 pushq %r14
15 movq %r9, %r15
16 pushq %r13
17 pushq %r12
18 movq %rdx, %r12
19 pushq %rbp
20 pushq %rbx
21 movq %rsi, %rbp
22 movq %rdi, %rbx
23 subq $40, %rsp
24 movq %rcx, (%rsp)
25 movq %r8, 8(%rsp)
26 call __rpc_thread_variables
27 movq 192(%rax), %r13
28 testq %r13, %r13
29 je .L29
30 cmpq $0, 40(%r13)
31 je .L30
32 .L4:
33 cmpq $0, 32(%r13)
34 je .L5
35 cmpq %rbp, 16(%r13)
36 je .L31
37 .L5:
38 movl 8(%r13), %edi
39 movq $0, 32(%r13)
40 cmpl $-1, %edi
41 jne .L32
42 .L7:
43 movq 0(%r13), %rdi
44 testq %rdi, %rdi
45 je .L8
46 movq 8(%rdi), %rax
47 call *32(%rax)
48 movq $0, 0(%r13)
49 .L8:
50 leaq 16(%rsp), %r14
51 movq %rbx, %rdi
52 movq %r14, %rsi
53 call __libc_rpc_gethostbyname
54 testl %eax, %eax
55 je .L9
56 .L27:
57 call __GI___rpc_thread_createerr
58 movl (%rax), %eax
59 .L1:
60 addq $40, %rsp
61 popq %rbx
62 popq %rbp
63 popq %r12
64 popq %r13
65 popq %r14
66 popq %r15
67 ret
68 .p2align 4,,10
69 .p2align 3
70 .L32:
71 call __GI___close
72 movl $-1, 8(%r13)
73 jmp .L7
74 .p2align 4,,10
75 .p2align 3
76 .L9:
77 leaq 8(%r13), %r9
78 xorl %r8d, %r8d
79 movl $5, %ecx
80 movq %r12, %rdx
81 movq %rbp, %rsi
82 movq %r14, %rdi
83 call __GI_clntudp_create
84 testq %rax, %rax
85 movq %rax, 0(%r13)
86 je .L27
87 movq 40(%r13), %rdi
88 movq $1, 32(%r13)
89 movl $255, %edx
90 movq %rbp, 16(%r13)
91 movq %r12, 24(%r13)
92 movq %rbx, %rsi
93 call __GI_strncpy
94 movq 40(%r13), %rax
95 movb $0, 255(%rax)
96 .L6:
97 movq 0(%r13), %rdi
98 movq %r15, %rcx
99 movq 8(%rdi), %rax
100 pushq $0
101 pushq $25
102 movq 120(%rsp), %r9
103 movq 112(%rsp), %r8
104 movq 24(%rsp), %rdx
105 movq 16(%rsp), %rsi
106 call *(%rax)
107 testl %eax, %eax
108 popq %rdx
109 popq %rcx
110 je .L1
111 movq $0, 32(%r13)
112 addq $40, %rsp
113 popq %rbx
114 popq %rbp
115 popq %r12
116 popq %r13
117 popq %r14
118 popq %r15
120 .p2align 4,,10
121 .p2align 3
122 .L31:
123 cmpq %r12, 24(%r13)
124 jne .L5
125 movq 40(%r13), %rdi
126 movq %rbx, %rsi
127 call __GI_strcmp
128 testl %eax, %eax
129 je .L6
130 jmp .L5
131 .p2align 4,,10
132 .p2align 3
133 .L29:
134 movl $48, %esi
135 movl $1, %edi
136 movq %rax, %r14
137 call calloc@PLT
138 movq %rax, %r13
139 xorl %eax, %eax
140 testq %r13, %r13
141 je .L1
142 cmpq $0, 40(%r13)
143 movq %r13, 192(%r14)
144 jne .L4
145 .p2align 4,,10
146 .p2align 3
147 .L30:
148 movl $256, %edi
149 call malloc@PLT
150 movq %rax, 40(%r13)
151 movb $0, (%rax)
152 movl $-1, 8(%r13)
153 jmp .L4
154 .size __GI_callrpc, .-__GI_callrpc
155 .globl __EI_callrpc
156 .set __EI_callrpc,__GI_callrpc
157 .p2align 4,,15
158 .globl __rpc_thread_clnt_cleanup
159 .hidden __rpc_thread_clnt_cleanup
160 .type __rpc_thread_clnt_cleanup, @function
161 __rpc_thread_clnt_cleanup:
162 pushq %rbx
163 call __rpc_thread_variables
164 movq 192(%rax), %rbx
165 testq %rbx, %rbx
166 je .L33
167 movq (%rbx), %rdi
168 testq %rdi, %rdi
169 je .L35
170 movq 8(%rdi), %rax
171 call *32(%rax)
172 .L35:
173 movq %rbx, %rdi
174 popq %rbx
175 jmp free@PLT
176 .p2align 4,,10
177 .p2align 3
178 .L33:
179 popq %rbx
181 .size __rpc_thread_clnt_cleanup, .-__rpc_thread_clnt_cleanup
182 .hidden __libc_rpc_gethostbyname
183 .hidden __rpc_thread_variables