clarify the purpose of this project
[nyanglibc.git] / nptl / rtld-forward.shared.s
bloba8a29f6eb3ee21b7d96a9523e6238b15cdf9f0c4
1 .text
2 #APP
3 .symver __pthread_cond_broadcast,pthread_cond_broadcast@@GLIBC_2.3.2
4 .symver __pthread_cond_signal,pthread_cond_signal@@GLIBC_2.3.2
5 .symver __pthread_cond_wait,pthread_cond_wait@@GLIBC_2.3.2
6 .symver __pthread_cond_timedwait,pthread_cond_timedwait@@GLIBC_2.3.2
7 #NO_APP
8 .p2align 4,,15
9 .globl __pthread_cond_broadcast
10 .type __pthread_cond_broadcast, @function
11 __pthread_cond_broadcast:
12 movl __libc_pthread_functions_init(%rip), %eax
13 testl %eax, %eax
14 je .L1
15 movq __libc_pthread_functions(%rip), %rax
16 #APP
17 # 65 "forward.c" 1
18 ror $2*8+1, %rax
19 xor __pointer_chk_guard_local(%rip), %rax
20 # 0 "" 2
21 #NO_APP
22 jmp *%rax
23 .p2align 4,,10
24 .p2align 3
25 .L1:
26 xorl %eax, %eax
27 ret
28 .size __pthread_cond_broadcast, .-__pthread_cond_broadcast
29 .p2align 4,,15
30 .globl __pthread_cond_signal
31 .type __pthread_cond_signal, @function
32 __pthread_cond_signal:
33 movl __libc_pthread_functions_init(%rip), %eax
34 testl %eax, %eax
35 je .L4
36 movq 8+__libc_pthread_functions(%rip), %rax
37 #APP
38 # 75 "forward.c" 1
39 ror $2*8+1, %rax
40 xor __pointer_chk_guard_local(%rip), %rax
41 # 0 "" 2
42 #NO_APP
43 jmp *%rax
44 .p2align 4,,10
45 .p2align 3
46 .L4:
47 xorl %eax, %eax
48 ret
49 .size __pthread_cond_signal, .-__pthread_cond_signal
50 .p2align 4,,15
51 .globl __pthread_cond_wait
52 .type __pthread_cond_wait, @function
53 __pthread_cond_wait:
54 movl __libc_pthread_functions_init(%rip), %eax
55 testl %eax, %eax
56 je .L6
57 movq 16+__libc_pthread_functions(%rip), %rax
58 #APP
59 # 86 "forward.c" 1
60 ror $2*8+1, %rax
61 xor __pointer_chk_guard_local(%rip), %rax
62 # 0 "" 2
63 #NO_APP
64 jmp *%rax
65 .p2align 4,,10
66 .p2align 3
67 .L6:
68 xorl %eax, %eax
69 ret
70 .size __pthread_cond_wait, .-__pthread_cond_wait
71 .p2align 4,,15
72 .globl __pthread_cond_timedwait
73 .type __pthread_cond_timedwait, @function
74 __pthread_cond_timedwait:
75 movl __libc_pthread_functions_init(%rip), %eax
76 testl %eax, %eax
77 je .L8
78 movq 24+__libc_pthread_functions(%rip), %rax
79 #APP
80 # 99 "forward.c" 1
81 ror $2*8+1, %rax
82 xor __pointer_chk_guard_local(%rip), %rax
83 # 0 "" 2
84 #NO_APP
85 jmp *%rax
86 .p2align 4,,10
87 .p2align 3
88 .L8:
89 xorl %eax, %eax
90 ret
91 .size __pthread_cond_timedwait, .-__pthread_cond_timedwait
92 .p2align 4,,15
93 .globl __pthread_exit
94 .type __pthread_exit, @function
95 __pthread_exit:
96 subq $8, %rsp
97 movl __libc_pthread_functions_init(%rip), %eax
98 testl %eax, %eax
99 je .L13
100 movq 64+__libc_pthread_functions(%rip), %rax
101 #APP
102 # 106 "forward.c" 1
103 ror $2*8+1, %rax
104 xor __pointer_chk_guard_local(%rip), %rax
105 # 0 "" 2
106 #NO_APP
107 call *%rax
108 .L13:
109 xorl %edi, %edi
110 call exit@PLT
111 .size __pthread_exit, .-__pthread_exit
112 .globl pthread_exit
113 .set pthread_exit,__pthread_exit
114 .p2align 4,,15
115 .globl pthread_mutex_destroy
116 .type pthread_mutex_destroy, @function
117 pthread_mutex_destroy:
118 movl __libc_pthread_functions_init(%rip), %eax
119 testl %eax, %eax
120 je .L14
121 movq 72+__libc_pthread_functions(%rip), %rax
122 #APP
123 # 111 "forward.c" 1
124 ror $2*8+1, %rax
125 xor __pointer_chk_guard_local(%rip), %rax
126 # 0 "" 2
127 #NO_APP
128 jmp *%rax
129 .p2align 4,,10
130 .p2align 3
131 .L14:
132 xorl %eax, %eax
134 .size pthread_mutex_destroy, .-pthread_mutex_destroy
135 .p2align 4,,15
136 .globl pthread_mutex_init
137 .type pthread_mutex_init, @function
138 pthread_mutex_init:
139 movl __libc_pthread_functions_init(%rip), %eax
140 testl %eax, %eax
141 je .L16
142 movq 80+__libc_pthread_functions(%rip), %rax
143 #APP
144 # 113 "forward.c" 1
145 ror $2*8+1, %rax
146 xor __pointer_chk_guard_local(%rip), %rax
147 # 0 "" 2
148 #NO_APP
149 jmp *%rax
150 .p2align 4,,10
151 .p2align 3
152 .L16:
153 xorl %eax, %eax
155 .size pthread_mutex_init, .-pthread_mutex_init
156 .p2align 4,,15
157 .globl pthread_mutex_lock
158 .type pthread_mutex_lock, @function
159 pthread_mutex_lock:
160 movl __libc_pthread_functions_init(%rip), %eax
161 testl %eax, %eax
162 je .L18
163 movq 88+__libc_pthread_functions(%rip), %rax
164 #APP
165 # 117 "forward.c" 1
166 ror $2*8+1, %rax
167 xor __pointer_chk_guard_local(%rip), %rax
168 # 0 "" 2
169 #NO_APP
170 jmp *%rax
171 .p2align 4,,10
172 .p2align 3
173 .L18:
174 xorl %eax, %eax
176 .size pthread_mutex_lock, .-pthread_mutex_lock
177 .p2align 4,,15
178 .globl pthread_mutex_unlock
179 .type pthread_mutex_unlock, @function
180 pthread_mutex_unlock:
181 movl __libc_pthread_functions_init(%rip), %eax
182 testl %eax, %eax
183 je .L20
184 movq 96+__libc_pthread_functions(%rip), %rax
185 #APP
186 # 119 "forward.c" 1
187 ror $2*8+1, %rax
188 xor __pointer_chk_guard_local(%rip), %rax
189 # 0 "" 2
190 #NO_APP
191 jmp *%rax
192 .p2align 4,,10
193 .p2align 3
194 .L20:
195 xorl %eax, %eax
197 .size pthread_mutex_unlock, .-pthread_mutex_unlock
198 .p2align 4,,15
199 .weak __pthread_setcancelstate
200 .type __pthread_setcancelstate, @function
201 __pthread_setcancelstate:
202 movl __libc_pthread_functions_init(%rip), %eax
203 testl %eax, %eax
204 je .L22
205 movq 104+__libc_pthread_functions(%rip), %rax
206 #APP
207 # 121 "forward.c" 1
208 ror $2*8+1, %rax
209 xor __pointer_chk_guard_local(%rip), %rax
210 # 0 "" 2
211 #NO_APP
212 jmp *%rax
213 .p2align 4,,10
214 .p2align 3
215 .L22:
216 xorl %eax, %eax
218 .size __pthread_setcancelstate, .-__pthread_setcancelstate
219 .globl pthread_setcancelstate
220 .set pthread_setcancelstate,__pthread_setcancelstate
221 .p2align 4,,15
222 .globl pthread_setcanceltype
223 .type pthread_setcanceltype, @function
224 pthread_setcanceltype:
225 movl __libc_pthread_functions_init(%rip), %eax
226 testl %eax, %eax
227 je .L24
228 movq 112+__libc_pthread_functions(%rip), %rax
229 #APP
230 # 125 "forward.c" 1
231 ror $2*8+1, %rax
232 xor __pointer_chk_guard_local(%rip), %rax
233 # 0 "" 2
234 #NO_APP
235 jmp *%rax
236 .p2align 4,,10
237 .p2align 3
238 .L24:
239 xorl %eax, %eax
241 .size pthread_setcanceltype, .-pthread_setcanceltype
242 .section .text.compat,"ax",@progbits
243 .p2align 4,,15
244 .globl __pthread_unwind
245 .hidden __pthread_unwind
246 .type __pthread_unwind, @function
247 __pthread_unwind:
248 subq $8, %rsp
249 movl __libc_pthread_functions_init(%rip), %eax
250 movq %rdi, %rdx
251 testl %eax, %eax
252 jne .L27
253 movl $39, %eax
254 #APP
255 # 28 "../sysdeps/unix/sysv/linux/safe-fatal.h" 1
256 syscall
258 # 0 "" 2
259 #NO_APP
260 movl $9, %esi
261 movl %eax, %edi
262 movl $62, %eax
263 #APP
264 # 29 "../sysdeps/unix/sysv/linux/safe-fatal.h" 1
265 syscall
267 # 0 "" 2
268 #NO_APP
269 .L27:
270 movq 208+__libc_pthread_functions(%rip), %rax
271 movq %rdx, %rdi
272 #APP
273 # 127 "forward.c" 1
274 ror $2*8+1, %rax
275 xor __pointer_chk_guard_local(%rip), %rax
276 # 0 "" 2
277 #NO_APP
278 call *%rax
279 .size __pthread_unwind, .-__pthread_unwind
280 .hidden __libc_pthread_functions_init
281 .comm __libc_pthread_functions_init,4,4
282 .hidden __libc_pthread_functions
283 .comm __libc_pthread_functions,240,32