5 cmpq $
0, __pthread_key_create@GOTPCREL
(%rip
)
7 leaq free_key_mem
(%rip
), %rsi
10 call __pthread_key_create@PLT
13 leaq last_result
(%rip
), %rax
14 movq
%rax
, static_buf
(%rip
)
21 leaq last_result
(%rip
), %rax
22 movq
%rax
, static_buf
(%rip
)
25 .section .rodata.str1.1,"aMS",@progbits,1
31 .string "out of memory"
40 .type __dlerror, @function
45 cmpq $
0, __pthread_once@GOTPCREL
(%rip
)
50 call __pthread_once@PLT
51 movq static_buf
(%rip
), %rbx
88 leaq _libc_intl_domainname
(%rip
), %rdi
107 leaq
.LC2(%rip), %rdi
124 movl once
(%rip
), %eax
125 movq static_buf
(%rip
), %rbx
128 cmpq $
0, __pthread_key_create@GOTPCREL
(%rip
)
130 leaq free_key_mem
(%rip
), %rsi
132 call __pthread_key_create@PLT
135 movq static_buf
(%rip
), %rbx
136 movl once
(%rip
), %eax
140 movl
%eax
, once
(%rip
)
143 cmpq $
0, __pthread_getspecific@GOTPCREL
(%rip
)
146 call __pthread_getspecific@PLT
151 leaq last_result
(%rip
), %rbx
156 leaq _libc_intl_domainname
(%rip
), %rdi
162 leaq
.LC1(%rip), %rcx
163 leaq
.LC0(%rip), %rax
165 leaq
.LC3(%rip), %rsi
178 movl once
(%rip
), %eax
180 leaq last_result
(%rip
), %rbx
181 movq
%rbx
, static_buf
(%rip
)
189 .size __dlerror, .-__dlerror
191 .type check_free.isra.0, @function
198 leaq
.LC2(%rip), %rdi
217 .size check_free.isra.0, .-check_free.isra.0
219 .type free_key_mem, @function
224 call check_free.isra.0
227 cmpq $
0, __pthread_setspecific@GOTPCREL
(%rip
)
232 jmp __pthread_setspecific@PLT
238 .size free_key_mem, .-free_key_mem
242 .type _dlerror_run, @function
244 cmpq $
0, __pthread_once@GOTPCREL
(%rip
)
251 leaq init
(%rip
), %rsi
252 leaq once
(%rip
), %rdi
253 call __pthread_once@PLT
254 movq static_buf
(%rip
), %rbx
293 movl once
(%rip
), %eax
294 movq static_buf
(%rip
), %rbx
297 cmpq $
0, __pthread_key_create@GOTPCREL
(%rip
)
299 leaq free_key_mem
(%rip
), %rsi
301 call __pthread_key_create@PLT
304 movq static_buf
(%rip
), %rbx
305 movl once
(%rip
), %eax
309 movl
%eax
, once
(%rip
)
312 cmpq $
0, __pthread_getspecific@GOTPCREL
(%rip
)
315 call __pthread_getspecific@PLT
326 cmpq $
0, __pthread_setspecific@GOTPCREL
(%rip
)
330 call __pthread_setspecific@PLT
335 movl once
(%rip
), %eax
337 leaq last_result
(%rip
), %rbx
338 movq
%rbx
, static_buf
(%rip
)
343 leaq last_result
(%rip
), %rbx
345 .size _dlerror_run, .-_dlerror_run
346 .section .text.exit,"ax",@progbits
348 .type fini, @function
350 leaq
24+last_result
(%rip
), %rdi
351 jmp check_free.isra.0
353 .section .dtors,"aw",@progbits
356 .section .rodata.str1.1
358 .string "_dlfcn_hook"
361 .globl __libc_register_dlfcn_hook
362 .hidden __libc_register_dlfcn_hook
363 .type __libc_register_dlfcn_hook, @function
364 __libc_register_dlfcn_hook
:
365 leaq
.LC5(%rip), %rsi
367 call __libc_dlsym_private
370 leaq _dlfcn_hooks
(%rip
), %rdx
375 .size __libc_register_dlfcn_hook, .-__libc_register_dlfcn_hook
376 .section .data.rel.local,"aw",@progbits
378 .type _dlfcn_hooks, @object
379 .size _dlfcn_hooks, 104
398 .comm last_result,32,32
399 .weak __pthread_setspecific
400 .weak __pthread_getspecific
402 .weak __pthread_key_create
411 .hidden __libc_dlsym_private
412 .hidden _dl_catch_error
415 .hidden _libc_intl_domainname