3 .globl _IO_new_proc_close
4 .type _IO_new_proc_close, @function
13 movq _pthread_cleanup_push_defer@GOTPCREL
(%rip
), %rbp
17 leaq unlock
(%rip
), %rsi
19 call _pthread_cleanup_push_defer@PLT
22 cmpq
%r12, 8+proc_file_chain_lock
(%rip
)
33 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
34 cmpxchgl
%edx
, proc_file_chain_lock
(%rip
)
38 movq
%r12, 8+proc_file_chain_lock
(%rip
)
40 movl
4+proc_file_chain_lock
(%rip
), %ecx
41 movq proc_file_chain
(%rip
), %rdx
45 movl
%eax
, 4+proc_file_chain_lock
(%rip
)
63 movl
%ecx
, 4+proc_file_chain_lock
(%rip
)
65 movq $
0, 8+proc_file_chain_lock
(%rip
)
73 subl $
1, proc_file_chain_lock
(%rip
)
79 call _pthread_cleanup_pop_restore@PLT
87 movq __pthread_setcancelstate@GOTPCREL
(%rip
), %r12
96 call __pthread_setcancelstate@PLT
104 call __pthread_setcancelstate@PLT
108 movq __libc_errno@gottpoff
(%rip
), %rax
144 leaq unlock
(%rip
), %rax
160 xchgl
%ecx
, proc_file_chain_lock
(%rip
)
168 leaq proc_file_chain_lock
(%rip
), %rdi
182 lock cmpxchgl
%edx
, proc_file_chain_lock
(%rip
)
184 leaq proc_file_chain_lock
(%rip
), %rdi
185 call __lll_lock_wait_private
190 leaq proc_file_chain
(%rip
), %rdx
192 .size _IO_new_proc_close, .-_IO_new_proc_close
194 .set _IO_proc_close,_IO_new_proc_close
196 .type unlock, @function
198 movl
4+proc_file_chain_lock
(%rip
), %eax
201 movl
%eax
, 4+proc_file_chain_lock
(%rip
)
203 movq $
0, 8+proc_file_chain_lock
(%rip
)
211 subl $
1, proc_file_chain_lock
(%rip
)
218 xchgl
%eax
, proc_file_chain_lock
(%rip
)
226 leaq proc_file_chain_lock
(%rip
), %rdi
236 .size unlock, .-unlock
237 .section .rodata.str1.1,"aMS",@progbits,1
246 .globl _IO_new_proc_open
247 .type _IO_new_proc_open, @function
274 movq __libc_errno@gottpoff
(%rip
), %rax
315 call __posix_spawn_file_actions_init
317 movl
40(%rsp
,%rax
,4), %esi
324 call __posix_spawn_file_actions_adddup2
327 cmpq $
0, _pthread_cleanup_push_defer@GOTPCREL
(%rip
)
330 leaq unlock
(%rip
), %rsi
332 call _pthread_cleanup_push_defer@PLT
335 cmpq
%r15, 8+proc_file_chain_lock
(%rip
)
346 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
347 cmpxchgl
%esi
, proc_file_chain_lock
(%rip
)
351 movq
%r15, 8+proc_file_chain_lock
(%rip
)
353 movq proc_file_chain
(%rip
), %r15
354 addl $
1, 4+proc_file_chain_lock
(%rip
)
364 call __posix_spawn_file_actions_addclose
372 leaq
.LC0(%rip), %rax
373 movq __environ
(%rip
), %r9
376 leaq
.LC2(%rip), %rsi
379 leaq
.LC1(%rip), %rax
390 movl
4+proc_file_chain_lock
(%rip
), %eax
393 movl
%eax
, 4+proc_file_chain_lock
(%rip
)
395 movq $
0, 8+proc_file_chain_lock
(%rip
)
403 subl $
1, proc_file_chain_lock
(%rip
)
405 cmpq $
0, _pthread_cleanup_push_defer@GOTPCREL
(%rip
)
409 call _pthread_cleanup_pop_restore@PLT
412 call __posix_spawn_file_actions_destroy
447 movl
40(%rsp
,%rax
,4), %edi
448 call __close_nocancel
449 movslq
20(%rsp
), %rax
450 movl
40(%rsp
,%rax
,4), %edi
451 call __close_nocancel
452 movq __libc_errno@gottpoff
(%rip
), %rax
460 leaq unlock
(%rip
), %rax
468 movl
40(%rsp
,%rax
,4), %edi
469 call __close_nocancel
472 movl
%r15d
, 40(%rsp
,%rax
,4)
478 movl
40(%rsp
,%rax
,4), %edi
479 call __close_nocancel
480 movslq
20(%rsp
), %rax
483 leaq
(%rcx
,%rax
,4), %r13
494 movq proc_file_chain
(%rip
), %rax
495 movq
%rbx
, proc_file_chain
(%rip
)
501 lock cmpxchgl
%esi
, proc_file_chain_lock
(%rip
)
503 leaq proc_file_chain_lock
(%rip
), %rdi
504 call __lll_lock_wait_private
509 xchgl
%eax
, proc_file_chain_lock
(%rip
)
517 leaq proc_file_chain_lock
(%rip
), %rdi
526 .size _IO_new_proc_open, .-_IO_new_proc_open
528 .set _IO_proc_open,_IO_new_proc_open
531 .type _IO_new_popen, @function
547 call _IO_init_internal
548 leaq _IO_proc_jumps
(%rip
), %rax
551 call _IO_new_file_init_internal
555 call _IO_new_proc_open
578 .size _IO_new_popen, .-_IO_new_popen
580 .set _IO_popen,_IO_new_popen
582 .set __new_popen,_IO_new_popen
584 .set popen,__new_popen
585 .local proc_file_chain_lock
586 .comm proc_file_chain_lock,16,16
587 .local proc_file_chain
588 .comm proc_file_chain,8,8
589 .section __libc_IO_vtables,"aw",@progbits
591 .type _IO_proc_jumps, @object
592 .size _IO_proc_jumps, 168
596 .quad _IO_new_file_finish
597 .quad _IO_new_file_overflow
598 .quad _IO_new_file_underflow
599 .quad _IO_default_uflow
600 .quad _IO_default_pbackfail
601 .quad _IO_new_file_xsputn
602 .quad _IO_default_xsgetn
603 .quad _IO_new_file_seekoff
604 .quad _IO_default_seekpos
605 .quad _IO_new_file_setbuf
606 .quad _IO_new_file_sync
607 .quad _IO_file_doallocate
609 .quad _IO_new_file_write
611 .quad _IO_new_proc_close
613 .quad _IO_default_showmanyc
614 .quad _IO_default_imbue
615 .weak __pthread_setcancelstate
616 .weak _pthread_cleanup_pop_restore
617 .weak _pthread_cleanup_push_defer
618 .hidden _IO_file_stat
619 .hidden _IO_file_seek
620 .hidden _IO_file_read
621 .hidden _IO_file_doallocate
622 .hidden _IO_default_xsgetn
623 .hidden _IO_default_pbackfail
624 .hidden _IO_default_uflow
626 .hidden _IO_new_file_init_internal
627 .hidden _IO_init_internal
629 .hidden __posix_spawn_file_actions_destroy
630 .hidden __posix_spawn
631 .hidden __posix_spawn_file_actions_addclose
632 .hidden __posix_spawn_file_actions_adddup2
633 .hidden __posix_spawn_file_actions_init
635 .hidden __lll_lock_wait_private
637 .hidden __close_nocancel