7 .section __libc_freeres_fn,"ax",@progbits
9 .type free_mem, @function
13 # 145 "register-atfork.c" 1
21 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
22 cmpxchgl
%edx
, atfork_lock
(%rip
)
26 movq
16+fork_handlers
(%rip
), %rdi
27 leaq
24+fork_handlers
(%rip
), %rbx
32 movq $
0, fork_handlers
(%rip
)
33 movq $
48, 8+fork_handlers
(%rip
)
34 movq
%rbx
, 16+fork_handlers
(%rip
)
36 # 149 "register-atfork.c" 1
42 subl $
1, atfork_lock
(%rip
)
51 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
53 leaq atfork_lock
(%rip
), %rdi
54 call __lll_lock_wait_private
61 # 149 "register-atfork.c" 1
62 xchgl
%eax
, atfork_lock
(%rip
)
70 leaq atfork_lock
(%rip
), %rdi
73 # 149 "register-atfork.c" 1
80 .size free_mem, .-free_mem
83 .globl __GI___register_atfork
84 .hidden __GI___register_atfork
85 .type __GI___register_atfork, @function
86 __GI___register_atfork
:
95 # 40 "register-atfork.c" 1
103 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
104 cmpxchgl
%edx
, atfork_lock
(%rip
)
108 cmpb $
0, fork_handler_init
(%rip
)
110 leaq
24+fork_handlers
(%rip
), %rax
111 movq $
48, 8+fork_handlers
(%rip
)
112 movb $
1, fork_handler_init
(%rip
)
113 movq
%rax
, 16+fork_handlers
(%rip
)
119 addq
16+fork_handlers
(%rip
), %r8
120 movq
%rax
, fork_handlers
(%rip
)
129 # 58 "register-atfork.c" 1
135 subl $
1, atfork_lock
(%rip
)
148 movq
8+fork_handlers
(%rip
), %rdx
151 movq fork_handlers
(%rip
), %rax
154 leaq
24+fork_handlers
(%rip
), %rsi
158 call __GI___libc_dynarray_emplace_enlarge
162 movq fork_handlers
(%rip
), %rax
169 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
171 leaq atfork_lock
(%rip
), %rdi
173 call __lll_lock_wait_private
181 # 58 "register-atfork.c" 1
182 xchgl
%eax
, atfork_lock
(%rip
)
190 leaq atfork_lock
(%rip
), %rdi
193 # 58 "register-atfork.c" 1
205 movq
16+fork_handlers
(%rip
), %rdi
206 leaq
24+fork_handlers
(%rip
), %rbx
211 movq
%rbx
, 16+fork_handlers
(%rip
)
212 movq $
0, fork_handlers
(%rip
)
214 movq $
-1, 8+fork_handlers
(%rip
)
216 .size __GI___register_atfork, .-__GI___register_atfork
217 .globl __register_atfork
218 .set __register_atfork,__GI___register_atfork
220 .globl __unregister_atfork
221 .hidden __unregister_atfork
222 .type __unregister_atfork, @function
227 # 80 "register-atfork.c" 1
235 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
236 cmpxchgl
%edx
, atfork_lock
(%rip
)
240 movq fork_handlers
(%rip
), %rcx
243 movq
16+fork_handlers
(%rip
), %rsi
262 # 106 "register-atfork.c" 1
268 subl $
1, atfork_lock
(%rip
)
294 movups
%xmm0
, -32(%rdx
)
295 movdqu
16(%rax
), %xmm0
296 movups
%xmm0
, -16(%rdx
)
304 leaq
32(%rdi
,%rsi
), %rdi
325 movq
%rcx
, fork_handlers
(%rip
)
341 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
343 leaq atfork_lock
(%rip
), %rdi
344 call __lll_lock_wait_private
351 # 106 "register-atfork.c" 1
352 xchgl
%eax
, atfork_lock
(%rip
)
360 leaq atfork_lock
(%rip
), %rdi
363 # 106 "register-atfork.c" 1
370 .size __unregister_atfork, .-__unregister_atfork
372 .globl __run_fork_handlers
373 .hidden __run_fork_handlers
374 .type __run_fork_handlers, @function
388 # 117 "register-atfork.c" 1
396 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
397 cmpxchgl
%edx
, atfork_lock
(%rip
)
401 movq fork_handlers
(%rip
), %rbx
410 movq
16+fork_handlers
(%rip
), %rax
411 movq
(%rax
,%rbx
), %rax
418 movq fork_handlers
(%rip
), %rdi
424 call __GI___libc_dynarray_at_failure
428 movq fork_handlers
(%rip
), %r13
438 # 138 "register-atfork.c" 1
444 subl $
1, atfork_lock
(%rip
)
461 movq fork_handlers
(%rip
), %rdi
467 addq
16+fork_handlers
(%rip
), %rdx
487 call __GI___libc_dynarray_at_failure
492 lock cmpxchgl
%edx
, atfork_lock
(%rip
)
494 leaq atfork_lock
(%rip
), %rdi
495 call __lll_lock_wait_private
500 # 138 "register-atfork.c" 1
501 xchgl
%eax
, atfork_lock
(%rip
)
509 leaq atfork_lock
(%rip
), %rdi
512 # 138 "register-atfork.c" 1
518 .size __run_fork_handlers, .-__run_fork_handlers
519 .section __libc_subfreeres,"aw",@progbits
521 .type __elf_set___libc_subfreeres_element_free_mem__, @object
522 .size __elf_set___libc_subfreeres_element_free_mem__, 8
523 __elf_set___libc_subfreeres_element_free_mem__
:
526 .comm atfork_lock,4,4
527 .local fork_handler_init
528 .comm fork_handler_init,1,1
530 .comm fork_handlers,1560,32
531 .hidden __lll_lock_wait_private