2 .section __libc_freeres_fn,"ax",@progbits
4 .type free_mem, @function
8 # 145 "register-atfork.c" 1
16 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
17 cmpxchgl
%edx
, atfork_lock
(%rip
)
21 movq
16+fork_handlers
(%rip
), %rdi
22 leaq
24+fork_handlers
(%rip
), %rbx
27 movq $
0, fork_handlers
(%rip
)
28 movq $
48, 8+fork_handlers
(%rip
)
29 movq
%rbx
, 16+fork_handlers
(%rip
)
31 # 149 "register-atfork.c" 1
37 subl $
1, atfork_lock
(%rip
)
46 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
48 leaq atfork_lock
(%rip
), %rdi
49 call __lll_lock_wait_private
56 # 149 "register-atfork.c" 1
57 xchgl
%eax
, atfork_lock
(%rip
)
65 leaq atfork_lock
(%rip
), %rdi
68 # 149 "register-atfork.c" 1
75 .size free_mem, .-free_mem
78 .globl __register_atfork
79 .hidden __register_atfork
80 .type __register_atfork, @function
90 # 40 "register-atfork.c" 1
98 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
99 cmpxchgl
%edx
, atfork_lock
(%rip
)
103 cmpb $
0, fork_handler_init
(%rip
)
105 leaq
24+fork_handlers
(%rip
), %rax
106 movq $
48, 8+fork_handlers
(%rip
)
107 movb $
1, fork_handler_init
(%rip
)
108 movq
%rax
, 16+fork_handlers
(%rip
)
114 addq
16+fork_handlers
(%rip
), %r8
115 movq
%rax
, fork_handlers
(%rip
)
124 # 58 "register-atfork.c" 1
130 subl $
1, atfork_lock
(%rip
)
143 movq
8+fork_handlers
(%rip
), %rdx
146 movq fork_handlers
(%rip
), %rax
149 leaq
24+fork_handlers
(%rip
), %rsi
153 call __libc_dynarray_emplace_enlarge
157 movq fork_handlers
(%rip
), %rax
164 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
166 leaq atfork_lock
(%rip
), %rdi
168 call __lll_lock_wait_private
176 # 58 "register-atfork.c" 1
177 xchgl
%eax
, atfork_lock
(%rip
)
185 leaq atfork_lock
(%rip
), %rdi
188 # 58 "register-atfork.c" 1
200 movq
16+fork_handlers
(%rip
), %rdi
201 leaq
24+fork_handlers
(%rip
), %rbx
206 movq
%rbx
, 16+fork_handlers
(%rip
)
207 movq $
0, fork_handlers
(%rip
)
209 movq $
-1, 8+fork_handlers
(%rip
)
211 .size __register_atfork, .-__register_atfork
213 .globl __unregister_atfork
214 .hidden __unregister_atfork
215 .type __unregister_atfork, @function
220 # 80 "register-atfork.c" 1
228 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
229 cmpxchgl
%edx
, atfork_lock
(%rip
)
233 movq fork_handlers
(%rip
), %rcx
236 movq
16+fork_handlers
(%rip
), %rsi
255 # 106 "register-atfork.c" 1
261 subl $
1, atfork_lock
(%rip
)
287 movups
%xmm0
, -32(%rdx
)
288 movdqu
16(%rax
), %xmm0
289 movups
%xmm0
, -16(%rdx
)
297 leaq
32(%rdi
,%rsi
), %rdi
318 movq
%rcx
, fork_handlers
(%rip
)
334 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
336 leaq atfork_lock
(%rip
), %rdi
337 call __lll_lock_wait_private
344 # 106 "register-atfork.c" 1
345 xchgl
%eax
, atfork_lock
(%rip
)
353 leaq atfork_lock
(%rip
), %rdi
356 # 106 "register-atfork.c" 1
363 .size __unregister_atfork, .-__unregister_atfork
365 .globl __run_fork_handlers
366 .hidden __run_fork_handlers
367 .type __run_fork_handlers, @function
381 # 117 "register-atfork.c" 1
389 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
390 cmpxchgl
%edx
, atfork_lock
(%rip
)
394 movq fork_handlers
(%rip
), %rbx
403 movq
16+fork_handlers
(%rip
), %rax
404 movq
(%rax
,%rbx
), %rax
411 movq fork_handlers
(%rip
), %rdi
417 call __libc_dynarray_at_failure
421 movq fork_handlers
(%rip
), %r13
431 # 138 "register-atfork.c" 1
437 subl $
1, atfork_lock
(%rip
)
454 movq fork_handlers
(%rip
), %rdi
460 addq
16+fork_handlers
(%rip
), %rdx
480 call __libc_dynarray_at_failure
485 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
487 leaq atfork_lock
(%rip
), %rdi
488 call __lll_lock_wait_private
493 # 138 "register-atfork.c" 1
494 xchgl
%eax
, atfork_lock
(%rip
)
502 leaq atfork_lock
(%rip
), %rdi
505 # 138 "register-atfork.c" 1
511 .size __run_fork_handlers, .-__run_fork_handlers
512 .section __libc_subfreeres,"aw",@progbits
514 .type __elf_set___libc_subfreeres_element_free_mem__, @object
515 .size __elf_set___libc_subfreeres_element_free_mem__, 8
516 __elf_set___libc_subfreeres_element_free_mem__
:
519 .comm atfork_lock,4,4
520 .local fork_handler_init
521 .comm fork_handler_init,1,1
523 .comm fork_handlers,1560,32
524 .hidden __libc_dynarray_at_failure
525 .hidden __libc_dynarray_emplace_enlarge
526 .hidden __lll_lock_wait_private