3 .globl __pthread_mutex_lock
4 .globl __pthread_mutex_trylock
5 .globl __pthread_mutex_unlock
7 .globl __pthread_cancel
8 .globl __pthread_key_create
9 .globl __pthread_key_delete
10 .globl __pthread_setspecific
11 .globl __pthread_getspecific
14 .type free_stacks, @function
18 leaq stack_cache
(%rip
), %r12
23 movq
8+stack_cache
(%rip
), %rbx
40 movq
%rbx
, in_flight_stack
(%rip
)
49 movq $
0, in_flight_stack
(%rip
)
50 subq
%rax
, stack_cache_actsize
(%rip
)
51 call _dl_deallocate_tls@PLT
57 cmpq
%r13, stack_cache_actsize
(%rip
)
68 .size free_stacks, .-free_stacks
70 .type change_stack_perm, @function
82 movq errno@gottpoff
(%rip
), %rax
87 .size change_stack_perm, .-change_stack_perm
88 .section .rodata.str1.8,"aMS",@progbits,1
91 .string "../sysdeps/unix/sysv/linux/createthread.c"
92 .section .rodata.str1.1,"aMS",@progbits,1
94 .string "*stopped_start"
97 .type create_thread, @function
127 leaq
1560(%rbx
), %rdi
130 lock cmpxchgl
%edx
, (%rdi
)
133 call __lll_lock_wait_private@PLT
150 leaq start_thread
(%rip
), %rdi
174 # 122 "../sysdeps/unix/sysv/linux/createthread.c" 1
186 movl
1596(%rbx
), %esi
188 leaq
1592(%rbx
), %rdx
191 # 144 "../sysdeps/unix/sysv/linux/createthread.c" 1
219 # 133 "../sysdeps/unix/sysv/linux/createthread.c" 1
230 movq errno@gottpoff
(%rip
), %rax
231 movl
%fs:(%rax
), %eax
245 leaq __PRETTY_FUNCTION__.13456
(%rip
), %rcx
246 leaq
.LC0(%rip), %rsi
247 leaq
.LC1(%rip), %rdi
249 call __assert_fail@PLT
251 leaq __PRETTY_FUNCTION__.13456
(%rip
), %rcx
252 leaq
.LC0(%rip), %rsi
253 leaq
.LC1(%rip), %rdi
255 call __assert_fail@PLT
256 .size create_thread, .-create_thread
257 .section .rodata.str1.8
260 .string "The futex facility returned an unexpected error code.\n"
263 .type setxid_mark_thread.isra.0, @function
264 setxid_mark_thread.isra.0
:
279 lock cmpxchgl
%edx
, 776(%r8)
289 leaq
1564(%rdi
), %rbx
292 lock cmpxchgl
%r9d
, (%rbx
)
309 # 146 "../sysdeps/nptl/futex-internal.h" 1
336 # 209 "../sysdeps/nptl/futex-internal.h" 1
348 leaq
.LC2(%rip), %rdi
349 call __libc_fatal@PLT
350 .size setxid_mark_thread.isra.0, .-setxid_mark_thread.isra.0
352 .type setxid_unmark_thread.isra.2, @function
353 setxid_unmark_thread.isra.2
:
360 lock cmpxchgl
%edx
, 776(%rdi
)
369 # 209 "../sysdeps/nptl/futex-internal.h" 1
385 leaq
.LC2(%rip), %rdi
387 call __libc_fatal@PLT
388 .size setxid_unmark_thread.isra.2, .-setxid_unmark_thread.isra.2
390 .type setxid_signal_thread.part.4, @function
391 setxid_signal_thread.part.4
:
403 # 1031 "allocatestack.c" 1
412 # 1036 "allocatestack.c" 1
423 .size setxid_signal_thread.part.4, .-setxid_signal_thread.part.4
425 .type __nptl_deallocate_tsd.part.5, @function
426 __nptl_deallocate_tsd.part.5
:
431 leaq __pthread_keys
(%rip
), %r13
438 # 269 "pthread_create.c" 1
448 # 275 "pthread_create.c" 1
449 movq
%fs:1296(,%rbp
,8),%rbx
460 leaq
(%rax
,%r13), %r14
494 # 311 "pthread_create.c" 1
509 leal
1296(%rax
), %ecx
519 # 328 "pthread_create.c" 1
520 movq
%fs:1296(,%rbx
,8),%rdi
527 # 334 "pthread_create.c" 1
528 movq $
0,%fs:1296(,%rbx
,8)
536 # 338 "pthread_create.c" 1
548 .size __nptl_deallocate_tsd.part.5, .-__nptl_deallocate_tsd.part.5
550 .globl __nptl_stacks_freeres
551 .type __nptl_stacks_freeres, @function
552 __nptl_stacks_freeres
:
555 .size __nptl_stacks_freeres, .-__nptl_stacks_freeres
557 .globl __deallocate_stack
558 .type __deallocate_stack, @function
564 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
568 movq
%rax
, in_flight_stack
(%rip
)
575 movq $
0, in_flight_stack
(%rip
)
579 movq
%rdx
, in_flight_stack
(%rip
)
580 movq stack_cache
(%rip
), %rdx
581 leaq stack_cache
(%rip
), %rsi
585 movq
%rax
, stack_cache
(%rip
)
586 movq stack_cache_actsize
(%rip
), %rax
587 addq
1688(%rbx
), %rax
588 movq $
0, in_flight_stack
(%rip
)
590 movq
%rax
, stack_cache_actsize
(%rip
)
595 # 806 "allocatestack.c" 1
596 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
609 leaq _dl_stack_cache_lock
(%rip
), %rdi
612 # 806 "allocatestack.c" 1
622 leaq _dl_stack_cache_lock
(%rip
), %rdi
623 call __lll_lock_wait_private@PLT
630 call _dl_deallocate_tls@PLT
638 .size __deallocate_stack, .-__deallocate_stack
640 .globl __make_stacks_executable
641 .type __make_stacks_executable, @function
642 __make_stacks_executable
:
646 call _dl_make_stack_executable@PLT
660 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
663 movq _dl_stack_used
(%rip
), %rbx
664 leaq _dl_stack_used
(%rip
), %r12
675 leaq
-704(%rbx
), %rdi
676 call change_stack_perm
684 # 851 "allocatestack.c" 1
685 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
693 leaq _dl_stack_cache_lock
(%rip
), %rdi
696 # 851 "allocatestack.c" 1
705 movq stack_cache
(%rip
), %rbx
706 leaq stack_cache
(%rip
), %r12
717 leaq
-704(%rbx
), %rdi
718 call change_stack_perm
725 leaq _dl_stack_cache_lock
(%rip
), %rdi
726 call __lll_lock_wait_private@PLT
728 .size __make_stacks_executable, .-__make_stacks_executable
729 .section .rodata.str1.1
731 .string "allocatestack.c"
733 .string "l->next->prev == elem"
736 .globl __reclaim_stacks
737 .type __reclaim_stacks, @function
739 movq in_flight_stack
(%rip
), %rax
747 movq _dl_stack_used
(%rip
), %rsi
748 leaq _dl_stack_used
(%rip
), %r9
759 movq _dl_stack_used
(%rip
), %rsi
770 movq _dl_stack_used
(%rip
), %rsi
771 leaq _dl_stack_used
(%rip
), %r9
779 leaq
-704(%rsi
), %rdx
783 addq
%rdx
, stack_cache_actsize
(%rip
)
794 leaq stack_cache
(%rip
), %rsi
795 movq stack_cache
(%rip
), %rdx
799 movq stack_cache
(%rip
), %rdx
802 movq
%rax
, stack_cache
(%rip
)
805 movq
%rdx
, in_flight_stack
(%rip
)
811 leaq _dl_stack_user
(%rip
), %rcx
812 movq $
0, in_flight_stack
(%rip
)
813 movq
%r9, 8+_dl_stack_used
(%rip
)
814 movq
%r9, _dl_stack_used
(%rip
)
816 movq
%rcx
, 8+_dl_stack_user
(%rip
)
817 movq
%rcx
, _dl_stack_user
(%rip
)
819 # 950 "allocatestack.c" 1
827 movq
%rdx
, 8+_dl_stack_used
(%rip
)
828 movq
%rdx
, _dl_stack_used
(%rip
)
830 movl $
1, __nptl_nthreads
(%rip
)
831 movq $
0, in_flight_stack
(%rip
)
832 movl $
0, _dl_stack_cache_lock
(%rip
)
833 movl $
0, __default_pthread_attr_lock
(%rip
)
871 movq stack_cache
(%rip
), %rdi
872 leaq stack_cache
(%rip
), %rax
881 movq
%rdx
, 8+_dl_stack_user
(%rip
)
882 movq
%rdx
, _dl_stack_user
(%rip
)
885 leaq __PRETTY_FUNCTION__.13263
(%rip
), %rcx
886 leaq
.LC3(%rip), %rsi
887 leaq
.LC4(%rip), %rdi
890 call __assert_fail@PLT
891 .size __reclaim_stacks, .-__reclaim_stacks
893 .globl __nptl_setxid_error
894 .type __nptl_setxid_error, @function
902 lock cmpxchgl
%esi
, 36(%rdi
)
910 .size __nptl_setxid_error, .-__nptl_setxid_error
913 .type __nptl_setxid, @function
925 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
928 movq _dl_stack_used
(%rip
), %rbp
929 leaq _dl_stack_used
(%rip
), %r14
931 movq
%rbx
, __xidcmd
(%rip
)
939 leaq
-704(%rbp
), %rdi
942 call setxid_mark_thread.isra.0
948 movq _dl_stack_user
(%rip
), %rbp
949 leaq _dl_stack_user
(%rip
), %r13
955 leaq
-704(%rbp
), %rdi
958 call setxid_mark_thread.isra.0
981 leaq
-704(%rdx
), %rsi
989 call setxid_signal_thread.part.4
1008 leaq
-704(%rdx
), %rsi
1016 call setxid_signal_thread.part.4
1035 # 146 "../sysdeps/nptl/futex-internal.h" 1
1050 leaq
.LC2(%rip), %rdi
1051 call __libc_fatal@PLT
1057 movq _dl_stack_used
(%rip
), %rbp
1063 leaq
-704(%rbp
), %rdi
1066 call setxid_unmark_thread.isra.2
1072 movq _dl_stack_user
(%rip
), %rbp
1077 leaq
-704(%rbp
), %rdi
1080 call setxid_unmark_thread.isra.2
1092 # 1160 "allocatestack.c" 1
1103 call __nptl_setxid_error
1106 # 1171 "allocatestack.c" 1
1107 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
1132 leaq _dl_stack_cache_lock
(%rip
), %rdi
1133 call __lll_lock_wait_private@PLT
1137 movq errno@gottpoff
(%rip
), %rax
1140 movl
%esi
, %fs:(%rax
)
1146 leaq _dl_stack_cache_lock
(%rip
), %rdi
1149 # 1171 "allocatestack.c" 1
1155 .size __nptl_setxid, .-__nptl_setxid
1157 .globl __pthread_init_static_tls
1158 .type __pthread_init_static_tls, @function
1159 __pthread_init_static_tls
:
1168 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
1171 movq _dl_stack_used
(%rip
), %rbp
1172 leaq _dl_stack_used
(%rip
), %r13
1180 subq
1112(%rbx
), %rdi
1181 movq
1080(%rbx
), %rdx
1182 movq
1088(%rbx
), %r12
1183 movq
1072(%rbx
), %rsi
1195 movq _dl_stack_user
(%rip
), %rbp
1196 leaq _dl_stack_user
(%rip
), %r13
1204 subq
1112(%rbx
), %rdi
1205 movq
1080(%rbx
), %rdx
1206 movq
1088(%rbx
), %r12
1207 movq
1072(%rbx
), %rsi
1221 # 1206 "allocatestack.c" 1
1222 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
1236 leaq _dl_stack_cache_lock
(%rip
), %rdi
1237 call __lll_lock_wait_private@PLT
1245 leaq _dl_stack_cache_lock
(%rip
), %rdi
1248 # 1206 "allocatestack.c" 1
1259 .size __pthread_init_static_tls, .-__pthread_init_static_tls
1261 .globl __find_in_stack_list
1262 .type __find_in_stack_list, @function
1263 __find_in_stack_list
:
1268 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
1271 movq _dl_stack_used
(%rip
), %rax
1272 leaq _dl_stack_used
(%rip
), %rcx
1283 leaq
-704(%rax
), %rdx
1291 # 243 "pthread_create.c" 1
1292 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
1303 movq _dl_stack_user
(%rip
), %rax
1304 leaq _dl_stack_user
(%rip
), %rcx
1310 leaq
-704(%rax
), %rdx
1325 leaq _dl_stack_cache_lock
(%rip
), %rdi
1328 # 243 "pthread_create.c" 1
1339 leaq _dl_stack_cache_lock
(%rip
), %rdi
1340 call __lll_lock_wait_private@PLT
1342 .size __find_in_stack_list, .-__find_in_stack_list
1344 .globl __nptl_deallocate_tsd
1345 .type __nptl_deallocate_tsd, @function
1346 __nptl_deallocate_tsd
:
1349 # 258 "pthread_create.c" 1
1355 jmp __nptl_deallocate_tsd.part.5
1360 .size __nptl_deallocate_tsd, .-__nptl_deallocate_tsd
1363 .type __free_tcb, @function
1366 # 349 "pthread_create.c" 1
1367 lock;btsl $
5, 776(%rdi
); setc
%al
1374 movq
1712(%rdi
), %rdi
1380 jmp __deallocate_stack
1391 .size __free_tcb, .-__free_tcb
1392 .section .rodata.str1.1
1394 .string "freesize < size"
1397 .type start_thread, @function
1401 leaq
1720(%rdi
), %rdx
1405 movq __resp@gottpoff
(%rip
), %rax
1406 movq
%rdx
, %fs:(%rax
)
1407 call __ctype_init@PLT
1409 leaq
736(%rbx
), %rdi
1413 # 395 "pthread_create.c" 1
1428 leaq
2288(%r8), %rsi
1430 # 105 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
1434 # 432 "pthread_create.c" 1
1435 xchgl
%edx
, 1564(%r8)
1445 # 438 "pthread_create.c" 1
1455 movq
1600(%rcx
), %rax
1456 movq
1608(%rcx
), %rdi
1461 # 474 "pthread_create.c" 1
1466 cmpq $
0, __call_tls_dtors@GOTPCREL
(%rip
)
1468 call __call_tls_dtors@PLT
1472 # 258 "pthread_create.c" 1
1479 call __libc_thread_freeres@PLT
1481 # 492 "pthread_create.c" 1
1482 lock;decl __nptl_nthreads
(%rip
); sete
%al
1493 # 528 "pthread_create.c" 1
1494 lock;orl $
16, 776(%rax
)
1500 call __getpagesize@PLT
1503 movq
1680(%rbp
), %rbx
1507 cmpq
%rax
, 1688(%rbp
)
1511 leaq
-16384(%rax
), %rsi
1517 testb $
64, 776(%rax
)
1521 cmpq
%rax
, 1576(%rax
)
1531 # 35 "../sysdeps/unix/sysv/linux/exit-thread.h" 1
1542 call __pthread_enable_asynccancel@PLT
1546 leaq
1560(%rax
), %rbp
1548 lock cmpxchgl
%edx
, 0(%rbp
)
1554 # 454 "pthread_create.c" 1
1555 xchgl
%eax
, 1560(%rcx
)
1566 # 454 "pthread_create.c" 1
1573 call __pthread_disable_asynccancel@PLT
1580 leaq
1564(%rax
), %rdi
1583 # 209 "../sysdeps/nptl/futex-internal.h" 1
1595 leaq
.LC2(%rip), %rdi
1596 call __libc_fatal@PLT
1598 call __nptl_deallocate_tsd.part.5
1604 leaq __PRETTY_FUNCTION__.13112
(%rip
), %rcx
1605 leaq
.LC3(%rip), %rsi
1606 leaq
.LC5(%rip), %rdi
1608 call __assert_fail@PLT
1611 call __lll_lock_wait_private@PLT
1615 movl __nptl_threads_events
(%rip
), %eax
1616 orl
1616(%rcx
), %eax
1622 call __nptl_death_event@PLT
1629 leaq
1564(%rax
), %rbx
1635 testb $
64, 776(%rax
)
1644 # 146 "../sysdeps/nptl/futex-internal.h" 1
1664 movq
%rcx
, 1632(%rax
)
1666 movq __nptl_last_event
(%rip
), %rax
1668 movq
%rax
, 1640(%rcx
)
1669 lock cmpxchgq
%rcx
, __nptl_last_event
(%rip
)
1675 .size start_thread, .-start_thread
1676 .section .rodata.str1.1
1678 .string "powerof2 (pagesize_m1 + 1)"
1680 .string "size > adj + TLS_TCB_SIZE"
1682 .string "errno == ENOMEM"
1686 .string "mem != NULL"
1688 .string "pthread_create.c"
1690 .string "stopped_start"
1692 .string "pd->stopped_start"
1695 .globl __pthread_create_2_1
1696 .type __pthread_create_2_1, @function
1697 __pthread_create_2_1
:
1706 cmpb $
0, __libc_single_threaded
(%rip
)
1711 movb $
0, __libc_single_threaded
(%rip
)
1718 call __pthread_getattr_default_np@PLT
1730 call __getpagesize@PLT
1744 movq __static_tls_align_m1
(%rip
), %rax
1751 leaq
(%r9,%rdx
), %r12
1762 call __pthread_attr_destroy@PLT
1779 movq __static_tls_size
(%rip
), %rdx
1780 leaq
2048(%r9,%rdx
), %rdx
1785 movl _dl_stack_flags
(%rip
), %r15d
1788 lock cmpxchgl
%ecx
, _dl_stack_cache_lock
(%rip
)
1791 leal
0(,%r15,4), %eax
1792 leaq stack_cache
(%rip
), %rdx
1797 movq stack_cache
(%rip
), %rax
1812 movq
984(%rax
), %rcx
1816 leaq
-704(%rax
), %rsi
1820 cmpq
1688(%r15), %rcx
1830 leaq
0(,%rbx
,4), %rax
1831 cmpq
%rax
, 1688(%r15)
1833 leaq
704(%r15), %rsi
1834 movl $
-1, 1564(%r15)
1836 movq
%rsi
, in_flight_stack
(%rip
)
1837 movq
712(%r15), %rdx
1838 movq
704(%r15), %rax
1840 movq
712(%r15), %rdx
1844 movq
%rax
, in_flight_stack
(%rip
)
1845 movq _dl_stack_used
(%rip
), %rax
1846 leaq _dl_stack_used
(%rip
), %rdi
1847 movq
%rdi
, 712(%r15)
1848 movq
%rax
, 704(%r15)
1850 movq
%rsi
, _dl_stack_used
(%rip
)
1851 movq $
0, in_flight_stack
(%rip
)
1852 movq
1688(%r15), %rdx
1854 subq
%rdx
, stack_cache_actsize
(%rip
)
1856 # 215 "allocatestack.c" 1
1857 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
1865 movq
1680(%r15), %rax
1872 movups
%xmm0
, 2424(%r15)
1882 movq
8(%rbx
,%rax
), %rdi
1884 movq
-16(%rbx
), %rax
1896 call _dl_allocate_tls_init@PLT
1898 movq
1696(%r15), %rsi
1907 movq
%r12, 1704(%r15)
1909 leaq
736(%r15), %rax
1911 movq $
-32, 744(%r15)
1914 movq
%rax
, 728(%r15)
1915 movq
%rax
, 736(%r15)
1917 subq __static_tls_size
(%rip
), %rax
1922 leaq
2496(%rax
), %rbx
1926 movq
%rax
, 1600(%r15)
1928 movq
%rax
, 1608(%r15)
1930 movl
780(%rdx
), %eax
1931 movdqa
1616(%rdx
), %xmm0
1937 movl
%eax
, 780(%r15)
1938 movq
%rcx
, 1576(%r15)
1939 movaps
%xmm0
, 1616(%r15)
1940 movq
1632(%rdx
), %rcx
1941 movq
%rcx
, 1632(%r15)
1942 movl
1596(%rdx
), %ecx
1943 movl
1592(%rdx
), %edx
1944 movl
%ecx
, 1596(%r15)
1945 movl
%edx
, 1592(%r15)
1947 # 697 "pthread_create.c" 1
1953 # 702 "pthread_create.c" 1
1959 # 22 "../sysdeps/x86/nptl/tls-setup.h" 1
1967 cmpl $
1, __nptl_nthreads
(%rip
)
1973 # 751 "pthread_create.c" 1
1974 lock;incl __nptl_nthreads
(%rip
)
1977 leaq
144(%rsp
), %r12
1981 leaq sigall_set
(%rip
), %rsi
1986 # 71 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
1996 movdqu
16(%rax
), %xmm0
1997 movaps
%xmm0
, 2288(%r15)
1998 movdqu
32(%rax
), %xmm0
1999 movaps
%xmm0
, 2304(%r15)
2000 movdqu
48(%rax
), %xmm0
2001 movaps
%xmm0
, 2320(%r15)
2002 movdqu
64(%rax
), %xmm0
2003 movaps
%xmm0
, 2336(%r15)
2004 movdqu
80(%rax
), %xmm0
2005 movaps
%xmm0
, 2352(%r15)
2006 movdqu
96(%rax
), %xmm0
2007 movaps
%xmm0
, 2368(%r15)
2008 movdqu
112(%rax
), %xmm0
2009 movaps
%xmm0
, 2384(%r15)
2010 movdqu
128(%rax
), %xmm0
2011 movaps
%xmm0
, 2400(%r15)
2015 # 606 "pthread_create.c" 1
2036 # 105 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
2046 leaq
1560(%r15), %rdi
2049 # 870 "pthread_create.c" 1
2050 xchgl
%eax
, 1560(%r15)
2057 # 875 "pthread_create.c" 1
2068 lock cmpxchgl
%edx
, __default_pthread_attr_lock
(%rip
)
2071 movq
32+__default_pthread_attr
(%rip
), %rbx
2074 # 419 "allocatestack.c" 1
2075 xchgl
%eax
, __default_pthread_attr_lock
(%rip
)
2088 movq __static_tls_align_m1
(%rip
), %rax
2089 leaq
-2496(%rdx
), %r9
2091 leaq
2496(%rax
), %rcx
2108 movq
%rdx
, 1680(%r9)
2109 movq
%rbx
, 1688(%r9)
2113 movq
%rax
, 1296(%r9)
2114 movq __libc_multiple_threads_ptr
(%rip
), %rax
2117 movl $
1, __pthread_multiple_threads
(%rip
)
2118 call _dl_allocate_tls@PLT
2123 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
2126 movq _dl_stack_user
(%rip
), %rdx
2127 leaq
704(%r15), %rax
2128 leaq _dl_stack_user
(%rip
), %rbx
2129 movq
%rbx
, 712(%r15)
2130 movq
%rdx
, 704(%r15)
2132 movq
%rax
, _dl_stack_user
(%rip
)
2135 # 506 "allocatestack.c" 1
2136 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
2144 leaq _dl_stack_cache_lock
(%rip
), %rdi
2147 # 506 "allocatestack.c" 1
2156 movdqa
144(%rsp
), %xmm0
2157 movabsq $
-2147483649, %rax
2158 movaps
%xmm0
, 2288(%r15)
2159 andq
%rax
, 2288(%r15)
2160 movdqa
160(%rsp
), %xmm0
2161 movaps
%xmm0
, 2304(%r15)
2162 movdqa
176(%rsp
), %xmm0
2163 movaps
%xmm0
, 2320(%r15)
2164 movdqa
192(%rsp
), %xmm0
2165 movaps
%xmm0
, 2336(%r15)
2166 movdqa
208(%rsp
), %xmm0
2167 movaps
%xmm0
, 2352(%r15)
2168 movdqa
224(%rsp
), %xmm0
2169 movaps
%xmm0
, 2368(%r15)
2170 movdqa
240(%rsp
), %xmm0
2171 movaps
%xmm0
, 2384(%r15)
2172 movdqa
256(%rsp
), %xmm0
2173 movaps
%xmm0
, 2400(%r15)
2183 call _IO_enable_locks@PLT
2191 # 844 "pthread_create.c" 1
2192 lock;decl __nptl_nthreads
(%rip
)
2197 # 848 "pthread_create.c" 1
2198 xchgl
%eax
, 1564(%r15)
2206 call __deallocate_stack
2217 movl __nptl_threads_events
(%rip
), %eax
2218 orl
1616(%r15), %eax
2236 movq
%r15, 1632(%r15)
2238 movq __nptl_last_event
(%rip
), %rax
2239 movq
%rax
, 1640(%r15)
2240 lock cmpxchgq
%r15, __nptl_last_event
(%rip
)
2242 call __nptl_create_event@PLT
2249 # 105 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
2264 movl
%eax
, 780(%r15)
2265 movl
%edx
, 1596(%r15)
2271 movl
%eax
, 780(%r15)
2272 movl
%edx
, 1592(%r15)
2283 # 31 "../sysdeps/unix/sysv/linux/default-sched.h" 1
2288 movl
%eax
, 1596(%r15)
2289 movl
780(%r15), %eax
2291 movl
%eax
, 780(%r15)
2295 leaq
1592(%r15), %rsi
2299 # 37 "../sysdeps/unix/sysv/linux/default-sched.h" 1
2312 movq __static_tls_size
(%rip
), %rdi
2313 leaq
2048(%rdi
), %rcx
2322 leaq __PRETTY_FUNCTION__.13628
(%rip
), %rcx
2323 leaq
.LC11(%rip), %rsi
2324 leaq
.LC12(%rip), %rdi
2326 call __assert_fail@PLT
2330 leaq _dl_stack_cache_lock
(%rip
), %rdi
2332 call __lll_lock_wait_private@PLT
2340 # 197 "allocatestack.c" 1
2341 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
2347 leaq
(%r8,%rbx
), %r15
2355 cmove
44(%rsp
), %edx
2367 movq __static_tls_align_m1
(%rip
), %rax
2368 leaq
-2496(%rcx
,%rdi
), %r9
2377 leaq
(%rcx
,%r12), %rdi
2381 movq errno@gottpoff
(%rip
), %r14
2382 movl
%fs:(%r14), %edx
2387 movq
%r12, 1696(%r15)
2390 movq
%rax
, 1680(%r15)
2392 movq
%rax
, 1688(%r15)
2393 leaq
784(%r15), %rax
2394 movq
%rax
, 1296(%r15)
2395 movq __libc_multiple_threads_ptr
(%rip
), %rax
2397 movl $
-1, 1564(%r15)
2398 movl $
1, __pthread_multiple_threads
(%rip
)
2399 call _dl_allocate_tls@PLT
2404 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
2407 leaq
704(%r15), %rdi
2411 movq
%rax
, in_flight_stack
(%rip
)
2412 movq _dl_stack_used
(%rip
), %rax
2413 leaq _dl_stack_used
(%rip
), %rsi
2414 movq
%rsi
, 712(%r15)
2415 movq
%rax
, 704(%r15)
2417 movq
%rdi
, _dl_stack_used
(%rip
)
2418 movq $
0, in_flight_stack
(%rip
)
2421 # 640 "allocatestack.c" 1
2422 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
2428 testb $
1, _dl_stack_flags
(%rip
)
2434 call change_stack_perm
2451 # 870 "pthread_create.c" 1
2460 movq errno@gottpoff
(%rip
), %rax
2461 cmpl $
12, %fs:(%rax
)
2463 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2464 leaq
.LC3(%rip), %rsi
2465 leaq
.LC8(%rip), %rdi
2467 call __assert_fail@PLT
2476 leaq __default_pthread_attr_lock
(%rip
), %rdi
2479 call __lll_lock_wait_private@PLT
2489 leaq __default_pthread_attr_lock
(%rip
), %rdi
2492 # 419 "allocatestack.c" 1
2513 lock cmpxchgl
%edx
, _dl_stack_cache_lock
(%rip
)
2517 movq
%rax
, in_flight_stack
(%rip
)
2518 movq
712(%r15), %rdx
2519 movq
704(%r15), %rax
2521 movq
712(%r15), %rdx
2523 movq $
0, in_flight_stack
(%rip
)
2526 # 686 "allocatestack.c" 1
2527 xchgl
%eax
, _dl_stack_cache_lock
(%rip
)
2535 call _dl_deallocate_tls@PLT
2540 movq errno@gottpoff
(%rip
), %rax
2541 movl
%fs:(%rax
), %r8d
2550 movq errno@gottpoff
(%rip
), %rbx
2551 cmpl $
12, %fs:(%rbx
)
2556 movl
%fs:(%rbx
), %r8d
2562 leaq _dl_stack_cache_lock
(%rip
), %rdi
2565 # 215 "allocatestack.c" 1
2570 movq
1688(%r15), %rdx
2575 leaq
(%rax
,%r12), %rdi
2580 movq
%r12, 1696(%r15)
2586 movl
%fs:(%r14), %r8d
2589 leaq _dl_stack_cache_lock
(%rip
), %rdi
2590 call __lll_lock_wait_private@PLT
2596 leaq _dl_stack_cache_lock
(%rip
), %rdi
2599 # 197 "allocatestack.c" 1
2606 leaq
1564(%r15), %rdi
2612 # 209 "../sysdeps/nptl/futex-internal.h" 1
2623 leaq
.LC2(%rip), %rdi
2624 call __libc_fatal@PLT
2631 leaq _dl_stack_cache_lock
(%rip
), %rdi
2634 # 640 "allocatestack.c" 1
2641 leaq _dl_stack_cache_lock
(%rip
), %rdi
2642 call __lll_lock_wait_private@PLT
2645 leaq _dl_stack_cache_lock
(%rip
), %rdi
2646 call __lll_lock_wait_private@PLT
2652 leaq _dl_stack_cache_lock
(%rip
), %rdi
2655 # 686 "allocatestack.c" 1
2662 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2663 leaq
.LC3(%rip), %rsi
2664 leaq
.LC9(%rip), %rdi
2666 call __assert_fail@PLT
2668 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2669 leaq
.LC3(%rip), %rsi
2670 leaq
.LC6(%rip), %rdi
2672 call __assert_fail@PLT
2674 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2675 leaq
.LC3(%rip), %rsi
2676 leaq
.LC7(%rip), %rdi
2678 call __assert_fail@PLT
2680 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2681 leaq
.LC3(%rip), %rsi
2682 leaq
.LC10(%rip), %rdi
2684 call __assert_fail@PLT
2686 leaq __PRETTY_FUNCTION__.13121
(%rip
), %rcx
2687 leaq
.LC3(%rip), %rsi
2688 leaq
.LC8(%rip), %rdi
2690 call __assert_fail@PLT
2692 leaq __PRETTY_FUNCTION__.13628
(%rip
), %rcx
2693 leaq
.LC11(%rip), %rsi
2694 leaq
.LC13(%rip), %rdi
2696 call __assert_fail@PLT
2698 leaq __PRETTY_FUNCTION__.13628
(%rip
), %rcx
2699 leaq
.LC11(%rip), %rsi
2700 leaq
.LC12(%rip), %rdi
2702 call __assert_fail@PLT
2703 .size __pthread_create_2_1, .-__pthread_create_2_1
2704 .weak pthread_create
2705 .set pthread_create,__pthread_create_2_1
2706 .section .rodata.str1.16,"aMS",@progbits,1
2708 .type __PRETTY_FUNCTION__.13112, @object
2709 .size __PRETTY_FUNCTION__.13112, 19
2710 __PRETTY_FUNCTION__.13112
:
2711 .string "advise_stack_range"
2712 .section .rodata.str1.8
2714 .type __PRETTY_FUNCTION__.13456, @object
2715 .size __PRETTY_FUNCTION__.13456, 14
2716 __PRETTY_FUNCTION__.13456
:
2717 .string "create_thread"
2719 .type __PRETTY_FUNCTION__.13121, @object
2720 .size __PRETTY_FUNCTION__.13121, 15
2721 __PRETTY_FUNCTION__.13121
:
2722 .string "allocate_stack"
2723 .section .rodata.str1.16
2725 .type __PRETTY_FUNCTION__.13628, @object
2726 .size __PRETTY_FUNCTION__.13628, 21
2727 __PRETTY_FUNCTION__.13628
:
2728 .string "__pthread_create_2_1"
2730 .type __PRETTY_FUNCTION__.13263, @object
2731 .size __PRETTY_FUNCTION__.13263, 17
2732 __PRETTY_FUNCTION__.13263
:
2733 .string "__reclaim_stacks"
2734 .globl _thread_db_const_thread_area
2735 .section .rodata.cst4,"aM",@progbits,4
2737 .type _thread_db_const_thread_area, @object
2738 .size _thread_db_const_thread_area, 4
2739 _thread_db_const_thread_area
:
2741 .globl _thread_db_dtv_slotinfo_list_slotinfo
2744 .type _thread_db_dtv_slotinfo_list_slotinfo, @object
2745 .size _thread_db_dtv_slotinfo_list_slotinfo, 12
2746 _thread_db_dtv_slotinfo_list_slotinfo
:
2750 .globl _thread_db__dl_stack_user
2752 .type _thread_db__dl_stack_user, @object
2753 .size _thread_db__dl_stack_user, 12
2754 _thread_db__dl_stack_user
:
2758 .globl _thread_db__dl_stack_used
2759 .set _thread_db__dl_stack_used,_thread_db__dl_stack_user
2760 .globl _thread_db_dtv_dtv
2762 .type _thread_db_dtv_dtv, @object
2763 .size _thread_db_dtv_dtv, 12
2768 .globl _thread_db_link_map_l_tls_offset
2770 .type _thread_db_link_map_l_tls_offset, @object
2771 .size _thread_db_link_map_l_tls_offset, 12
2772 _thread_db_link_map_l_tls_offset
:
2776 .globl _thread_db_link_map_l_tls_modid
2778 .type _thread_db_link_map_l_tls_modid, @object
2779 .size _thread_db_link_map_l_tls_modid, 12
2780 _thread_db_link_map_l_tls_modid
:
2784 .globl _thread_db_pthread_key_data_level2_data
2786 .type _thread_db_pthread_key_data_level2_data, @object
2787 .size _thread_db_pthread_key_data_level2_data, 12
2788 _thread_db_pthread_key_data_level2_data
:
2792 .globl _thread_db_sizeof_pthread_key_data_level2
2793 .section .rodata.cst4
2795 .type _thread_db_sizeof_pthread_key_data_level2, @object
2796 .size _thread_db_sizeof_pthread_key_data_level2, 4
2797 _thread_db_sizeof_pthread_key_data_level2
:
2799 .globl _thread_db___pthread_keys
2802 .type _thread_db___pthread_keys, @object
2803 .size _thread_db___pthread_keys, 12
2804 _thread_db___pthread_keys
:
2808 .globl _thread_db___nptl_initial_report_events
2810 .type _thread_db___nptl_initial_report_events, @object
2811 .size _thread_db___nptl_initial_report_events, 12
2812 _thread_db___nptl_initial_report_events
:
2816 .globl _thread_db___nptl_nthreads
2818 .type _thread_db___nptl_nthreads, @object
2819 .size _thread_db___nptl_nthreads, 12
2820 _thread_db___nptl_nthreads
:
2824 .globl _thread_db_td_eventbuf_t_eventdata
2826 .type _thread_db_td_eventbuf_t_eventdata, @object
2827 .size _thread_db_td_eventbuf_t_eventdata, 12
2828 _thread_db_td_eventbuf_t_eventdata
:
2832 .globl _thread_db_td_eventbuf_t_eventnum
2834 .type _thread_db_td_eventbuf_t_eventnum, @object
2835 .size _thread_db_td_eventbuf_t_eventnum, 12
2836 _thread_db_td_eventbuf_t_eventnum
:
2840 .globl _thread_db_sizeof_td_eventbuf_t
2841 .section .rodata.cst4
2843 .type _thread_db_sizeof_td_eventbuf_t, @object
2844 .size _thread_db_sizeof_td_eventbuf_t, 4
2845 _thread_db_sizeof_td_eventbuf_t
:
2847 .globl _thread_db_td_thr_events_t_event_bits
2850 .type _thread_db_td_thr_events_t_event_bits, @object
2851 .size _thread_db_td_thr_events_t_event_bits, 12
2852 _thread_db_td_thr_events_t_event_bits
:
2856 .globl _thread_db_sizeof_td_thr_events_t
2857 .section .rodata.cst4
2859 .type _thread_db_sizeof_td_thr_events_t, @object
2860 .size _thread_db_sizeof_td_thr_events_t, 4
2861 _thread_db_sizeof_td_thr_events_t
:
2863 .globl _thread_db_list_t_prev
2866 .type _thread_db_list_t_prev, @object
2867 .size _thread_db_list_t_prev, 12
2868 _thread_db_list_t_prev
:
2872 .globl _thread_db_dtv_slotinfo_map
2873 .set _thread_db_dtv_slotinfo_map,_thread_db_list_t_prev
2874 .globl _thread_db_dtv_slotinfo_list_next
2875 .set _thread_db_dtv_slotinfo_list_next,_thread_db_list_t_prev
2876 .globl _thread_db_pthread_dtvp
2877 .set _thread_db_pthread_dtvp,_thread_db_list_t_prev
2878 .globl _thread_db_pthread_key_data_data
2879 .set _thread_db_pthread_key_data_data,_thread_db_list_t_prev
2880 .globl _thread_db_pthread_key_struct_destr
2881 .set _thread_db_pthread_key_struct_destr,_thread_db_list_t_prev
2882 .globl _thread_db_list_t_next
2884 .type _thread_db_list_t_next, @object
2885 .size _thread_db_list_t_next, 12
2886 _thread_db_list_t_next
:
2890 .globl _thread_db_dtv_slotinfo_gen
2891 .set _thread_db_dtv_slotinfo_gen,_thread_db_list_t_next
2892 .globl _thread_db_dtv_slotinfo_list_len
2893 .set _thread_db_dtv_slotinfo_list_len,_thread_db_list_t_next
2894 .globl _thread_db__dl_tls_dtv_slotinfo_list
2895 .set _thread_db__dl_tls_dtv_slotinfo_list,_thread_db_list_t_next
2896 .globl _thread_db_dtv_t_counter
2897 .set _thread_db_dtv_t_counter,_thread_db_list_t_next
2898 .globl _thread_db_dtv_t_pointer_val
2899 .set _thread_db_dtv_t_pointer_val,_thread_db_list_t_next
2900 .globl _thread_db_pthread_key_data_seq
2901 .set _thread_db_pthread_key_data_seq,_thread_db_list_t_next
2902 .globl _thread_db_pthread_key_struct_seq
2903 .set _thread_db_pthread_key_struct_seq,_thread_db_list_t_next
2904 .globl _thread_db___nptl_last_event
2905 .set _thread_db___nptl_last_event,_thread_db_list_t_next
2906 .globl _thread_db_sizeof_list_t
2907 .section .rodata.cst4
2909 .type _thread_db_sizeof_list_t, @object
2910 .size _thread_db_sizeof_list_t, 4
2911 _thread_db_sizeof_list_t
:
2913 .globl _thread_db_sizeof_dtv_slotinfo
2914 .set _thread_db_sizeof_dtv_slotinfo,_thread_db_sizeof_list_t
2915 .globl _thread_db_sizeof_dtv_slotinfo_list
2916 .set _thread_db_sizeof_dtv_slotinfo_list,_thread_db_sizeof_list_t
2917 .globl _thread_db_sizeof_pthread_key_data
2918 .set _thread_db_sizeof_pthread_key_data,_thread_db_sizeof_list_t
2919 .globl _thread_db_sizeof_pthread_key_struct
2920 .set _thread_db_sizeof_pthread_key_struct,_thread_db_sizeof_list_t
2921 .globl _thread_db_pthread_nextevent
2924 .type _thread_db_pthread_nextevent, @object
2925 .size _thread_db_pthread_nextevent, 12
2926 _thread_db_pthread_nextevent
:
2930 .globl _thread_db_pthread_eventbuf_eventmask_event_bits
2932 .type _thread_db_pthread_eventbuf_eventmask_event_bits, @object
2933 .size _thread_db_pthread_eventbuf_eventmask_event_bits, 12
2934 _thread_db_pthread_eventbuf_eventmask_event_bits
:
2938 .globl _thread_db_pthread_eventbuf_eventmask
2940 .type _thread_db_pthread_eventbuf_eventmask, @object
2941 .size _thread_db_pthread_eventbuf_eventmask, 12
2942 _thread_db_pthread_eventbuf_eventmask
:
2946 .globl _thread_db_pthread_eventbuf
2948 .type _thread_db_pthread_eventbuf, @object
2949 .size _thread_db_pthread_eventbuf, 12
2950 _thread_db_pthread_eventbuf
:
2954 .globl _thread_db_pthread_specific
2956 .type _thread_db_pthread_specific, @object
2957 .size _thread_db_pthread_specific, 12
2958 _thread_db_pthread_specific
:
2962 .globl _thread_db_pthread_schedparam_sched_priority
2964 .type _thread_db_pthread_schedparam_sched_priority, @object
2965 .size _thread_db_pthread_schedparam_sched_priority, 12
2966 _thread_db_pthread_schedparam_sched_priority
:
2970 .globl _thread_db_pthread_schedpolicy
2972 .type _thread_db_pthread_schedpolicy, @object
2973 .size _thread_db_pthread_schedpolicy, 12
2974 _thread_db_pthread_schedpolicy
:
2978 .globl _thread_db_pthread_cancelhandling
2980 .type _thread_db_pthread_cancelhandling, @object
2981 .size _thread_db_pthread_cancelhandling, 12
2982 _thread_db_pthread_cancelhandling
:
2986 .globl _thread_db_pthread_start_routine
2988 .type _thread_db_pthread_start_routine, @object
2989 .size _thread_db_pthread_start_routine, 12
2990 _thread_db_pthread_start_routine
:
2994 .globl _thread_db_pthread_tid
2996 .type _thread_db_pthread_tid, @object
2997 .size _thread_db_pthread_tid, 12
2998 _thread_db_pthread_tid
:
3002 .globl _thread_db_pthread_report_events
3004 .type _thread_db_pthread_report_events, @object
3005 .size _thread_db_pthread_report_events, 12
3006 _thread_db_pthread_report_events
:
3010 .globl _thread_db_pthread_list
3012 .type _thread_db_pthread_list, @object
3013 .size _thread_db_pthread_list, 12
3014 _thread_db_pthread_list
:
3018 .globl _thread_db_sizeof_pthread
3019 .section .rodata.cst4
3021 .type _thread_db_sizeof_pthread, @object
3022 .size _thread_db_sizeof_pthread, 4
3023 _thread_db_sizeof_pthread
:
3025 .local in_flight_stack
3026 .comm in_flight_stack,8,8
3027 .section .data.rel.local,"aw",@progbits
3029 .type stack_cache, @object
3030 .size stack_cache, 16
3034 .local stack_cache_actsize
3035 .comm stack_cache_actsize,8,8
3036 .globl __nptl_nthreads
3039 .type __nptl_nthreads, @object
3040 .size __nptl_nthreads, 4
3043 .local __nptl_last_event
3044 .comm __nptl_last_event,8,8
3045 .local __nptl_threads_events
3046 .comm __nptl_threads_events,8,8
3047 .comm __pthread_debug,4,4
3050 .type sigall_set, @object
3051 .size sigall_set, 128
3069 .weak __call_tls_dtors