Some broken software wants to deal with ld.so.cache.
[nyanglibc.git] / nptl / pthread_mutex_timedlock.s
blob64fc486c3eb002d98010d87cbb9e466defb2d40a
1 .text
2 .section .rodata.str1.8,"aMS",@progbits,1
3 .align 8
4 .LC0:
5 .string "The futex facility returned an unexpected error code.\n"
6 .align 8
7 .LC1:
8 .string "../nptl/pthread_mutex_timedlock.c"
9 .align 8
10 .LC2:
11 .string "e != EDEADLK || (kind != PTHREAD_MUTEX_ERRORCHECK_NP && kind != PTHREAD_MUTEX_RECURSIVE_NP)"
12 .section .rodata.str1.1,"aMS",@progbits,1
13 .LC3:
14 .string "e != ESRCH || !robust"
15 .section .rodata.str1.8
16 .align 8
17 .LC4:
18 .string "robust || (oldval & FUTEX_OWNER_DIED) == 0"
19 .section .rodata.str1.1
20 .LC5:
21 .string "mutex->__data.__owner == 0"
22 .text
23 .p2align 4,,15
24 .globl __pthread_mutex_clocklock_common
25 .type __pthread_mutex_clocklock_common, @function
26 __pthread_mutex_clocklock_common:
27 pushq %r15
28 pushq %r14
29 pushq %r13
30 pushq %r12
31 movl %esi, %r12d
32 pushq %rbp
33 pushq %rbx
34 movq %rdx, %rbp
35 movq %rdi, %rbx
36 subq $40, %rsp
37 #APP
38 # 51 "../nptl/pthread_mutex_timedlock.c" 1
39 movl %fs:720,%r15d
40 # 0 "" 2
41 #NO_APP
42 movl 16(%rdi), %eax
43 leaq 16(%rdi), %r13
44 andl $383, %eax
45 cmpl $35, %eax
46 jg .L3
47 cmpl $32, %eax
48 jge .L4
49 cmpl $2, %eax
50 je .L5
51 jle .L139
52 cmpl $3, %eax
53 je .L9
54 subl $16, %eax
55 cmpl $3, %eax
56 ja .L80
57 leaq 32(%rdi), %r14
58 #APP
59 # 142 "../nptl/pthread_mutex_timedlock.c" 1
60 movq %r14,%fs:752
61 # 0 "" 2
62 #NO_APP
63 movl $-2147483648, %r9d
64 movl (%rdi), %edx
65 xorl %edi, %edi
66 .L36:
67 testl %edx, %edx
68 jne .L37
69 movl %r15d, %ecx
70 movl %edx, %eax
71 orl %edi, %ecx
72 lock cmpxchgl %ecx, (%rbx)
73 testl %eax, %eax
74 movl %eax, %edx
75 jne .L37
76 cmpl $2147483646, 8(%rbx)
77 je .L140
78 movl $1, 4(%rbx)
79 #APP
80 # 297 "../nptl/pthread_mutex_timedlock.c" 1
81 movq %fs:736,%rax
82 # 0 "" 2
83 #NO_APP
84 andq $-2, %rax
85 movq %r14, -8(%rax)
86 #APP
87 # 297 "../nptl/pthread_mutex_timedlock.c" 1
88 movq %fs:736,%rax
89 # 0 "" 2
90 #NO_APP
91 movq %rax, 32(%rbx)
92 movq %fs:16, %rax
93 addq $736, %rax
94 movq %rax, 24(%rbx)
95 #APP
96 # 297 "../nptl/pthread_mutex_timedlock.c" 1
97 movq %r14,%fs:736
98 # 0 "" 2
99 # 300 "../nptl/pthread_mutex_timedlock.c" 1
100 movq $0,%fs:752
101 # 0 "" 2
102 .p2align 4,,10
103 .p2align 3
104 #NO_APP
105 .L17:
106 movl %r15d, 8(%rbx)
107 addl $1, 12(%rbx)
108 xorl %ecx, %ecx
109 jmp .L1
110 .p2align 4,,10
111 .p2align 3
112 .L3:
113 cmpl $67, %eax
114 jg .L11
115 cmpl $64, %eax
116 jge .L12
117 subl $48, %eax
118 cmpl $3, %eax
119 ja .L80
120 .L4:
121 testl %r12d, %r12d
122 jne .L80
123 movl 16(%rbx), %r8d
124 movl %r8d, %r13d
125 andl $3, %r13d
126 andl $16, %r8d
127 je .L50
128 leaq 32(%rbx), %rax
129 orq $1, %rax
130 #APP
131 # 335 "../nptl/pthread_mutex_timedlock.c" 1
132 movq %rax,%fs:752
133 # 0 "" 2
134 #NO_APP
135 .L50:
136 movl (%rbx), %eax
137 andl $1073741823, %eax
138 cmpl %r15d, %eax
139 je .L141
140 .L51:
141 xorl %eax, %eax
142 lock cmpxchgl %r15d, (%rbx)
143 testl %eax, %eax
144 je .L53
145 testl %r8d, %r8d
146 movl $6, %esi
147 movl $128, %r12d
148 je .L142
149 .L54:
150 movq %rbp, %r10
151 xorl %edx, %edx
152 movq %rbx, %rdi
153 movl $202, %eax
154 #APP
155 # 257 "../sysdeps/nptl/futex-internal.h" 1
156 syscall
158 # 0 "" 2
159 #NO_APP
160 cmpl $-11, %eax
161 je .L56
162 jg .L57
163 cmpl $-35, %eax
164 je .L56
165 cmpl $-22, %eax
166 je .L56
167 cmpl $-110, %eax
168 je .L58
169 .L55:
170 leaq .LC0(%rip), %rdi
171 call __libc_fatal@PLT
172 .p2align 4,,10
173 .p2align 3
174 .L139:
175 testl %eax, %eax
176 jne .L143
177 movl __pthread_force_elision(%rip), %edx
178 testl %edx, %edx
179 je .L24
180 movl 16(%rdi), %eax
181 testb $3, %ah
182 je .L25
183 testb $1, %ah
184 je .L24
185 jmp .L13
186 .p2align 4,,10
187 .p2align 3
188 .L11:
189 cmpl $256, %eax
190 jne .L144
191 .L13:
192 movl 16(%rbx), %r8d
193 leaq 20(%rbx), %rsi
194 movq %rbp, %rcx
195 movl %r12d, %edx
196 movq %rbx, %rdi
197 andl $128, %r8d
198 call __lll_clocklock_elision@PLT
199 movl %eax, %ecx
200 .L1:
201 addq $40, %rsp
202 movl %ecx, %eax
203 popq %rbx
204 popq %rbp
205 popq %r12
206 popq %r13
207 popq %r14
208 popq %r15
210 .p2align 4,,10
211 .p2align 3
212 .L9:
213 xorl %eax, %eax
214 movl $1, %edx
215 lock cmpxchgl %edx, (%rdi)
216 je .L17
217 movswl 20(%rdi), %eax
218 movswl __mutex_aconf(%rip), %edx
219 movl $1, %ecx
220 leal 10(%rax,%rax), %eax
221 cmpl %edx, %eax
222 cmovle %eax, %edx
223 xorl %r13d, %r13d
224 xorl %esi, %esi
225 .L35:
226 addl $1, %r13d
227 leal -1(%r13), %eax
228 cmpl %eax, %edx
229 jle .L145
230 #APP
231 # 130 "../nptl/pthread_mutex_timedlock.c" 1
232 pause
233 # 0 "" 2
234 #NO_APP
235 movl %esi, %eax
236 lock cmpxchgl %ecx, (%rbx)
237 jne .L35
238 .L34:
239 movswl 20(%rbx), %eax
240 movl %r13d, %ecx
241 subl %eax, %ecx
242 movl %eax, %edx
243 leal 7(%rcx), %eax
244 testl %ecx, %ecx
245 cmovns %ecx, %eax
246 sarl $3, %eax
247 addl %edx, %eax
248 movw %ax, 20(%rbx)
249 jmp .L17
250 .p2align 4,,10
251 .p2align 3
252 .L5:
253 cmpl %r15d, 8(%rdi)
254 je .L86
255 .L24:
256 movl 16(%rbx), %r14d
257 xorl %eax, %eax
258 movl $1, %edx
259 lock cmpxchgl %edx, (%rbx)
260 movl $2, %r13d
261 je .L17
262 .p2align 4,,10
263 .p2align 3
264 .L23:
265 movl %r13d, %eax
266 #APP
267 # 364 "../sysdeps/nptl/futex-internal.h" 1
268 xchgl %eax, (%rbx)
269 # 0 "" 2
270 #NO_APP
271 testl %eax, %eax
272 je .L17
273 movl %r14d, %r8d
274 movq %rbp, %rcx
275 movl %r12d, %edx
276 andl $128, %r8d
277 movl $2, %esi
278 movq %rbx, %rdi
279 call __futex_abstimed_wait64@PLT
280 cmpl $22, %eax
281 movl %eax, %ecx
282 je .L26
283 cmpl $110, %eax
284 je .L26
285 cmpl $75, %eax
286 jne .L23
287 .L27:
288 movl $75, %ecx
289 jmp .L1
290 .p2align 4,,10
291 .p2align 3
292 .L143:
293 cmpl $1, %eax
294 jne .L80
295 .L8:
296 cmpl %r15d, 8(%rbx)
297 jne .L14
298 movl 4(%rbx), %eax
299 cmpl $-1, %eax
300 je .L43
301 .L137:
302 addl $1, %eax
303 xorl %ecx, %ecx
304 movl %eax, 4(%rbx)
305 jmp .L1
306 .p2align 4,,10
307 .p2align 3
308 .L144:
309 cmpl $257, %eax
310 je .L8
311 .p2align 4,,10
312 .p2align 3
313 .L80:
314 movl $22, %ecx
315 jmp .L1
316 .p2align 4,,10
317 .p2align 3
318 .L12:
319 movl 16(%rdi), %eax
320 cmpl %r15d, 8(%rdi)
321 movl $-1, %r14d
322 movl (%rdi), %ecx
323 je .L146
324 .L73:
325 shrl $19, %ecx
326 movl %ecx, 12(%rsp)
327 call __pthread_current_priority@PLT
328 cmpl 12(%rsp), %eax
329 jg .L147
330 movl 12(%rsp), %esi
331 movl %r14d, %edi
332 call __pthread_tpp_change_priority@PLT
333 testl %eax, %eax
334 movl %eax, %ecx
335 jne .L1
336 movl 12(%rsp), %r10d
337 sall $19, %r10d
338 movl %r10d, %eax
339 orl $1, %eax
340 movl %eax, %edi
341 movl %eax, 8(%rsp)
342 movl %r10d, %eax
343 lock cmpxchgl %edi, (%rbx)
344 cmpl %eax, %r10d
345 je .L72
346 movl %r10d, %r14d
347 orl $2, %r14d
348 jmp .L75
349 .p2align 4,,10
350 .p2align 3
351 .L148:
352 movl 0(%r13), %r8d
353 movq %rbp, %rcx
354 movl %r12d, %edx
355 movl %r14d, %esi
356 movq %rbx, %rdi
357 andl $128, %r8d
358 call __futex_abstimed_wait64@PLT
359 cmpl $110, %eax
360 movl %eax, %ecx
361 je .L1
362 cmpl $75, %eax
363 movl 4(%rsp), %r10d
364 je .L1
365 .L77:
366 movl %r10d, %eax
367 lock cmpxchgl %r14d, (%rbx)
368 cmpl %r10d, %eax
369 je .L72
370 .L75:
371 movl 8(%rsp), %eax
372 lock cmpxchgl %r14d, (%rbx)
373 movl %eax, %edx
374 movl %eax, %ecx
375 andl $-524288, %edx
376 cmpl %edx, %r10d
377 jne .L88
378 cmpl %eax, %r10d
379 je .L77
380 cmpq $999999999, 8(%rbp)
381 movl %r10d, 4(%rsp)
382 jbe .L148
383 .L76:
384 movl 12(%rsp), %edi
385 movl $-1, %esi
386 call __pthread_tpp_change_priority@PLT
387 movl $22, %ecx
388 jmp .L1
389 .p2align 4,,10
390 .p2align 3
391 .L14:
392 movl 16(%rbx), %r14d
393 xorl %eax, %eax
394 movl $1, %edx
395 lock cmpxchgl %edx, (%rbx)
396 movl $2, %r13d
397 jne .L16
398 .L20:
399 movl $1, 4(%rbx)
400 jmp .L17
401 .p2align 4,,10
402 .p2align 3
403 .L53:
404 testl %r8d, %r8d
405 je .L20
406 .L79:
407 cmpl $2147483646, 8(%rbx)
408 je .L149
409 movl $1, 4(%rbx)
410 #APP
411 # 460 "../nptl/pthread_mutex_timedlock.c" 1
412 movq %fs:736,%rdx
413 # 0 "" 2
414 #NO_APP
415 leaq 32(%rbx), %rax
416 andq $-2, %rdx
417 movq %rax, -8(%rdx)
418 #APP
419 # 460 "../nptl/pthread_mutex_timedlock.c" 1
420 movq %fs:736,%rdx
421 # 0 "" 2
422 #NO_APP
423 movq %rdx, 32(%rbx)
424 movq %fs:16, %rsi
425 leaq 736(%rsi), %rdx
426 movq %rdx, 24(%rbx)
427 orq $1, %rax
428 #APP
429 # 460 "../nptl/pthread_mutex_timedlock.c" 1
430 movq %rax,%fs:736
431 # 0 "" 2
432 # 463 "../nptl/pthread_mutex_timedlock.c" 1
433 movq $0,%fs:752
434 # 0 "" 2
435 #NO_APP
436 jmp .L17
437 .p2align 4,,10
438 .p2align 3
439 .L19:
440 movl %r14d, %r8d
441 movq %rbp, %rcx
442 movl %r12d, %edx
443 andl $128, %r8d
444 movl $2, %esi
445 movq %rbx, %rdi
446 call __futex_abstimed_wait64@PLT
447 cmpl $22, %eax
448 movl %eax, %ecx
449 je .L18
450 cmpl $110, %eax
451 je .L18
452 cmpl $75, %eax
453 je .L27
454 .L16:
455 movl %r13d, %eax
456 #APP
457 # 364 "../sysdeps/nptl/futex-internal.h" 1
458 xchgl %eax, (%rbx)
459 # 0 "" 2
460 #NO_APP
461 testl %eax, %eax
462 jne .L19
463 jmp .L20
464 .p2align 4,,10
465 .p2align 3
466 .L57:
467 cmpl $-4, %eax
468 jl .L55
469 cmpl $-3, %eax
470 jle .L56
471 testl %eax, %eax
472 jne .L55
473 .L56:
474 cmpl $-110, %eax
475 je .L58
476 movl %eax, %edx
477 andl $-33, %edx
478 cmpl $-35, %edx
479 jne .L60
480 cmpl $-35, %eax
481 je .L150
482 cmpl $-3, %eax
483 jne .L62
484 testl %r8d, %r8d
485 jne .L151
486 .L62:
487 leaq 28(%rsp), %rbx
488 .p2align 4,,10
489 .p2align 3
490 .L63:
491 xorl %edx, %edx
492 xorl %esi, %esi
493 movl %r12d, %r8d
494 movq %rbp, %rcx
495 movq %rbx, %rdi
496 movl $0, 28(%rsp)
497 call __futex_abstimed_wait64@PLT
498 cmpl $110, %eax
499 jne .L63
500 .L58:
501 movl $110, %ecx
502 jmp .L1
503 .p2align 4,,10
504 .p2align 3
505 .L146:
506 andl $3, %eax
507 cmpl $2, %eax
508 je .L86
509 cmpl $1, %eax
510 jne .L73
511 movl 4(%rdi), %eax
512 cmpl %r14d, %eax
513 jne .L137
514 .L43:
515 movl $11, %ecx
516 jmp .L1
517 .p2align 4,,10
518 .p2align 3
519 .L88:
520 movl 12(%rsp), %r14d
521 jmp .L73
522 .p2align 4,,10
523 .p2align 3
524 .L72:
525 movl 8(%rbx), %eax
526 testl %eax, %eax
527 je .L20
528 leaq __PRETTY_FUNCTION__.10035(%rip), %rcx
529 leaq .LC1(%rip), %rsi
530 leaq .LC5(%rip), %rdi
531 movl $563, %edx
532 call __assert_fail@PLT
533 .p2align 4,,10
534 .p2align 3
535 .L37:
536 movl %edx, %ecx
537 andl $1073741824, %ecx
538 jne .L152
539 movl %edx, %eax
540 andl $1073741823, %eax
541 cmpl %r15d, %eax
542 je .L153
543 .L41:
544 cmpq $999999999, 8(%rbp)
545 ja .L80
546 cmpq $0, 0(%rbp)
547 js .L58
548 testl %edx, %edx
549 movl %edx, %esi
550 js .L46
551 orl $-2147483648, %esi
552 movl %edx, %eax
553 lock cmpxchgl %esi, (%rbx)
554 jne .L154
555 .L46:
556 movq %rbp, %rcx
557 movl $128, %r8d
558 movl %r12d, %edx
559 movq %rbx, %rdi
560 movl %r9d, 4(%rsp)
561 call __futex_abstimed_wait64@PLT
562 cmpl $110, %eax
563 movl %eax, %ecx
564 je .L1
565 cmpl $75, %eax
566 je .L1
567 movl 4(%rsp), %r9d
568 movl (%rbx), %edx
569 movl %r9d, %edi
570 jmp .L36
571 .p2align 4,,10
572 .p2align 3
573 .L60:
574 testl %eax, %eax
575 jne .L155
576 movl (%rbx), %eax
577 andl $1073741824, %eax
578 testl %r8d, %r8d
579 jne .L65
580 testl %eax, %eax
581 je .L20
582 leaq __PRETTY_FUNCTION__.10035(%rip), %rcx
583 leaq .LC1(%rip), %rsi
584 leaq .LC4(%rip), %rdi
585 movl $411, %edx
586 call __assert_fail@PLT
587 .p2align 4,,10
588 .p2align 3
589 .L86:
590 movl $35, %ecx
591 jmp .L1
592 .p2align 4,,10
593 .p2align 3
594 .L142:
595 movl 16(%rbx), %r12d
596 andl $128, %r12d
597 movl %r12d, %esi
598 xorb $-122, %sil
599 jmp .L54
600 .p2align 4,,10
601 .p2align 3
602 .L25:
603 orb $1, %ah
604 movl %eax, 16(%rdi)
605 jmp .L13
606 .p2align 4,,10
607 .p2align 3
608 .L140:
609 movl $0, 4(%rbx)
610 #APP
611 # 286 "../nptl/pthread_mutex_timedlock.c" 1
612 xchgl %edx, (%rbx)
613 # 0 "" 2
614 #NO_APP
615 cmpl $1, %edx
616 jg .L156
617 .L67:
618 #APP
619 # 450 "../nptl/pthread_mutex_timedlock.c" 1
620 movq $0,%fs:752
621 # 0 "" 2
622 #NO_APP
623 movl $131, %ecx
624 jmp .L1
625 .L141:
626 cmpl $2, %r13d
627 je .L136
628 cmpl $1, %r13d
629 jne .L51
630 #APP
631 # 360 "../nptl/pthread_mutex_timedlock.c" 1
632 movq $0,%fs:752
633 # 0 "" 2
634 #NO_APP
635 movl 4(%rbx), %eax
636 cmpl $-1, %eax
637 jne .L137
638 jmp .L43
639 .p2align 4,,10
640 .p2align 3
641 .L155:
642 movl %eax, %ecx
643 negl %ecx
644 jmp .L1
645 .L152:
646 movl %edx, %ecx
647 movl %r15d, %eax
648 orl %edi, %eax
649 andl $-2147483648, %ecx
650 orl %eax, %ecx
651 movl %edx, %eax
652 lock cmpxchgl %ecx, (%rbx)
653 cmpl %eax, %edx
654 je .L157
655 movl %eax, %edx
656 jmp .L36
657 .L150:
658 subl $1, %r13d
659 cmpl $1, %r13d
660 ja .L62
661 leaq __PRETTY_FUNCTION__.10035(%rip), %rcx
662 leaq .LC1(%rip), %rsi
663 leaq .LC2(%rip), %rdi
664 movl $393, %edx
665 call __assert_fail@PLT
666 .L158:
667 cmpl $110, %eax
668 je .L32
669 cmpl $75, %eax
670 je .L32
671 .L31:
672 movl $2, %eax
673 #APP
674 # 364 "../sysdeps/nptl/futex-internal.h" 1
675 xchgl %eax, (%rbx)
676 # 0 "" 2
677 #NO_APP
678 testl %eax, %eax
679 je .L34
680 movl %r14d, %r8d
681 movq %rbp, %rcx
682 movl %r12d, %edx
683 andl $128, %r8d
684 movl $2, %esi
685 movq %rbx, %rdi
686 call __futex_abstimed_wait64@PLT
687 cmpl $22, %eax
688 movl %eax, %ecx
689 jne .L158
690 .L32:
691 movswl 20(%rbx), %eax
692 movl $8, %edi
693 subl %eax, %r13d
694 movl %eax, %esi
695 movl %r13d, %eax
696 cltd
697 idivl %edi
698 addl %esi, %eax
699 movw %ax, 20(%rbx)
700 .L26:
701 testl %ecx, %ecx
702 jne .L1
703 jmp .L17
704 .p2align 4,,10
705 .p2align 3
706 .L65:
707 testl %eax, %eax
708 je .L79
709 #APP
710 # 416 "../nptl/pthread_mutex_timedlock.c" 1
711 lock;andl $-1073741825, (%rbx)
712 # 0 "" 2
713 #NO_APP
714 movabsq $9223372032559808513, %rax
715 movq %rax, 4(%rbx)
716 #APP
717 # 426 "../nptl/pthread_mutex_timedlock.c" 1
718 movq %fs:736,%rdx
719 # 0 "" 2
720 #NO_APP
721 leaq 32(%rbx), %rax
722 andq $-2, %rdx
723 movq %rax, -8(%rdx)
724 #APP
725 # 426 "../nptl/pthread_mutex_timedlock.c" 1
726 movq %fs:736,%rdx
727 # 0 "" 2
728 #NO_APP
729 movq %rdx, 32(%rbx)
730 movq %fs:16, %rsi
731 leaq 736(%rsi), %rdx
732 movq %rdx, 24(%rbx)
733 orq $1, %rax
734 #APP
735 # 426 "../nptl/pthread_mutex_timedlock.c" 1
736 movq %rax,%fs:736
737 # 0 "" 2
738 # 429 "../nptl/pthread_mutex_timedlock.c" 1
739 movq $0,%fs:752
740 # 0 "" 2
741 #NO_APP
742 movl $130, %ecx
743 jmp .L1
744 .L147:
745 .L71:
746 cmpl $-1, %r14d
747 je .L80
748 movl %r14d, 12(%rsp)
749 jmp .L76
750 .p2align 4,,10
751 .p2align 3
752 .L149:
753 movl $0, 4(%rbx)
754 xorl %r10d, %r10d
755 xorl %edx, %edx
756 movl $7, %esi
757 movq %rbx, %rdi
758 movl $202, %eax
759 #APP
760 # 307 "../sysdeps/nptl/futex-internal.h" 1
761 syscall
763 # 0 "" 2
764 #NO_APP
765 cmpq $-4096, %rax
766 jbe .L67
767 cmpl $-11, %eax
768 je .L67
769 jg .L68
770 cmpl $-38, %eax
771 je .L67
772 cmpl $-35, %eax
773 je .L67
774 cmpl $-110, %eax
775 jne .L55
776 jmp .L67
777 .p2align 4,,10
778 .p2align 3
779 .L157:
780 movabsq $9223372032559808513, %rax
781 movq %rax, 4(%rbx)
782 #APP
783 # 190 "../nptl/pthread_mutex_timedlock.c" 1
784 movq %fs:736,%rax
785 # 0 "" 2
786 #NO_APP
787 andq $-2, %rax
788 movq %r14, -8(%rax)
789 #APP
790 # 190 "../nptl/pthread_mutex_timedlock.c" 1
791 movq %fs:736,%rax
792 # 0 "" 2
793 #NO_APP
794 movq %rax, 32(%rbx)
795 movq %fs:16, %rax
796 addq $736, %rax
797 movq %rax, 24(%rbx)
798 #APP
799 # 190 "../nptl/pthread_mutex_timedlock.c" 1
800 movq %r14,%fs:736
801 # 0 "" 2
802 # 193 "../nptl/pthread_mutex_timedlock.c" 1
803 movq $0,%fs:752
804 # 0 "" 2
805 #NO_APP
806 movl $130, %ecx
807 jmp .L1
808 .L136:
809 #APP
810 # 352 "../nptl/pthread_mutex_timedlock.c" 1
811 movq $0,%fs:752
812 # 0 "" 2
813 #NO_APP
814 movl $35, %ecx
815 jmp .L1
816 .L18:
817 testl %ecx, %ecx
818 je .L20
819 jmp .L1
820 .L153:
821 movl 0(%r13), %eax
822 andl $127, %eax
823 cmpl $18, %eax
824 je .L136
825 cmpl $17, %eax
826 jne .L41
827 #APP
828 # 219 "../nptl/pthread_mutex_timedlock.c" 1
829 movq $0,%fs:752
830 # 0 "" 2
831 #NO_APP
832 movl 4(%rbx), %eax
833 cmpl $-1, %eax
834 je .L43
835 addl $1, %eax
836 movl %eax, 4(%rbx)
837 jmp .L1
838 .p2align 4,,10
839 .p2align 3
840 .L156:
841 xorl %r10d, %r10d
842 movl $1, %edx
843 movl $1, %esi
844 movq %rbx, %rdi
845 movl $202, %eax
846 #APP
847 # 286 "../nptl/pthread_mutex_timedlock.c" 1
848 syscall
850 # 0 "" 2
851 #NO_APP
852 jmp .L67
853 .L145:
854 movl 16(%rbx), %r14d
855 xorl %eax, %eax
856 movl $1, %edx
857 lock cmpxchgl %edx, (%rbx)
858 jne .L31
859 movswl 20(%rbx), %eax
860 movl $8, %esi
861 subl %eax, %r13d
862 movl %eax, %ecx
863 movl %r13d, %eax
864 cltd
865 idivl %esi
866 addl %eax, %ecx
867 movw %cx, 20(%rbx)
868 jmp .L17
869 .L68:
870 cmpl $-4, %eax
871 jl .L55
872 cmpl $-3, %eax
873 jle .L67
874 addl $1, %eax
875 je .L67
876 jmp .L55
877 .L154:
878 movl (%rbx), %edx
879 jmp .L36
880 .L151:
881 leaq __PRETTY_FUNCTION__.10035(%rip), %rcx
882 leaq .LC1(%rip), %rsi
883 leaq .LC3(%rip), %rdi
884 movl $396, %edx
885 call __assert_fail@PLT
886 .size __pthread_mutex_clocklock_common, .-__pthread_mutex_clocklock_common
887 .p2align 4,,15
888 .globl __pthread_mutex_clocklock
889 .type __pthread_mutex_clocklock, @function
890 __pthread_mutex_clocklock:
891 cmpl $1, %esi
892 ja .L160
893 jmp __pthread_mutex_clocklock_common
894 .p2align 4,,10
895 .p2align 3
896 .L160:
897 movl $22, %eax
899 .size __pthread_mutex_clocklock, .-__pthread_mutex_clocklock
900 .weak pthread_mutex_clocklock
901 .set pthread_mutex_clocklock,__pthread_mutex_clocklock
902 .p2align 4,,15
903 .globl __pthread_mutex_timedlock
904 .type __pthread_mutex_timedlock, @function
905 __pthread_mutex_timedlock:
906 movq %rsi, %rdx
907 xorl %esi, %esi
908 jmp __pthread_mutex_clocklock_common
909 .size __pthread_mutex_timedlock, .-__pthread_mutex_timedlock
910 .weak pthread_mutex_timedlock
911 .set pthread_mutex_timedlock,__pthread_mutex_timedlock
912 .section .rodata.str1.32,"aMS",@progbits,1
913 .align 32
914 .type __PRETTY_FUNCTION__.10035, @object
915 .size __PRETTY_FUNCTION__.10035, 33
916 __PRETTY_FUNCTION__.10035:
917 .string "__pthread_mutex_clocklock_common"