Lines Matching refs:lockstate
101 int lo_flags, int mode, RtldLockState *lockstate);
149 Obj_Entry *rtldobj, int flags, RtldLockState *lockstate);
151 int flags, RtldLockState *lockstate);
175 static void unload_object(Obj_Entry *, RtldLockState *lockstate);
493 RtldLockState lockstate; in _rtld() local
955 wlock_acquire(rtld_bind_lock, &lockstate); in _rtld()
959 *ld_bind_now != '\0', SYMLOOK_EARLY, &lockstate) == -1) in _rtld()
965 objlist_call_init(&initlist, &lockstate); in _rtld()
973 load_filtees(obj, 0, &lockstate); in _rtld()
980 lock_release(rtld_bind_lock, &lockstate); in _rtld()
1009 RtldLockState lockstate; in _rtld_bind() local
1011 rlock_acquire(rtld_bind_lock, &lockstate); in _rtld_bind()
1012 if (sigsetjmp(lockstate.env, 0) != 0) in _rtld_bind()
1013 lock_upgrade(rtld_bind_lock, &lockstate); in _rtld_bind()
1021 NULL, &lockstate); in _rtld_bind()
1043 lock_release(rtld_bind_lock, &lockstate); in _rtld_bind()
1951 RtldLockState *lockstate) in find_symdef() argument
1994 req.lockstate = lockstate; in find_symdef()
2566 free_needed_filtees(Needed_Entry *n, RtldLockState *lockstate) in free_needed_filtees() argument
2572 dlclose_locked(needed->obj, lockstate); in free_needed_filtees()
2583 unload_filtees(Obj_Entry *obj, RtldLockState *lockstate) in unload_filtees() argument
2586 free_needed_filtees(obj->needed_filtees, lockstate); in unload_filtees()
2588 free_needed_filtees(obj->needed_aux_filtees, lockstate); in unload_filtees()
2595 RtldLockState *lockstate) in load_filtee1() argument
2601 RTLD_LOCAL, lockstate); in load_filtee1()
2606 load_filtees(Obj_Entry *obj, int flags, RtldLockState *lockstate) in load_filtees() argument
2610 lock_restart_for_upgrade(lockstate); in load_filtees()
2612 load_filtee1(obj, obj->needed_filtees, flags, lockstate); in load_filtees()
2613 load_filtee1(obj, obj->needed_aux_filtees, flags, lockstate); in load_filtees()
2985 objlist_call_fini(Objlist *list, Obj_Entry *root, RtldLockState *lockstate) in objlist_call_fini() argument
3013 lock_release(rtld_bind_lock, lockstate); in objlist_call_fini()
3038 wlock_acquire(rtld_bind_lock, lockstate); in objlist_call_fini()
3060 objlist_call_init(Objlist *list, RtldLockState *lockstate) in objlist_call_init() argument
3098 "__libc_atexit", lockstate); in objlist_call_init()
3100 lock_release(rtld_bind_lock, lockstate); in objlist_call_init()
3129 wlock_acquire(rtld_bind_lock, lockstate); in objlist_call_init()
3219 int flags, RtldLockState *lockstate) in relocate_object_dag() argument
3227 lockstate); in relocate_object_dag()
3298 int flags, RtldLockState *lockstate) in relocate_object() argument
3316 if (reloc_non_plt(obj, rtldobj, flags, lockstate)) in relocate_object()
3328 if (reloc_plt(obj, flags, lockstate) == -1) in relocate_object()
3332 lockstate) == -1) in relocate_object()
3357 int flags, RtldLockState *lockstate) in relocate_objects() argument
3367 lockstate); in relocate_objects()
3387 RtldLockState *lockstate) in resolve_object_ifunc() argument
3398 (obj->irelative && reloc_iresolve(obj, lockstate) == -1) || in resolve_object_ifunc()
3400 lockstate) == -1) || in resolve_object_ifunc()
3402 reloc_gnu_ifunc(obj, flags, lockstate) == -1) || in resolve_object_ifunc()
3404 flags | SYMLOOK_IFUNC, lockstate) == -1) || in resolve_object_ifunc()
3412 RtldLockState *lockstate) in initlist_objects_ifunc() argument
3422 lockstate) == -1) in initlist_objects_ifunc()
3435 RtldLockState lockstate; in rtld_exit() local
3437 wlock_acquire(rtld_bind_lock, &lockstate); in rtld_exit()
3439 objlist_call_fini(&list_fini, NULL, &lockstate); in rtld_exit()
3443 lock_release(rtld_bind_lock, &lockstate); in rtld_exit()
3620 RtldLockState lockstate; in dlclose() local
3623 wlock_acquire(rtld_bind_lock, &lockstate); in dlclose()
3624 error = dlclose_locked(handle, &lockstate); in dlclose()
3625 lock_release(rtld_bind_lock, &lockstate); in dlclose()
3630 dlclose_locked(void *handle, RtldLockState *lockstate) in dlclose_locked() argument
3648 objlist_call_fini(&list_fini, root, lockstate); in dlclose_locked()
3654 unload_object(root, lockstate); in dlclose_locked()
3711 RtldLockState lockstate; in rtld_dlopen() local
3717 rlock_acquire(rtld_bind_lock, &lockstate); in rtld_dlopen()
3718 if (sigsetjmp(lockstate.env, 0) != 0) in rtld_dlopen()
3719 lock_upgrade(rtld_bind_lock, &lockstate); in rtld_dlopen()
3720 environ = __DECONST(char **, *get_program_var_addr("environ", &lockstate)); in rtld_dlopen()
3721 lock_release(rtld_bind_lock, &lockstate); in rtld_dlopen()
3738 dlopen_cleanup(Obj_Entry *obj, RtldLockState *lockstate) in dlopen_cleanup() argument
3744 unload_object(obj, lockstate); in dlopen_cleanup()
3749 int mode, RtldLockState *lockstate) in dlopen_object() argument
3761 if (lockstate == NULL && !(lo_flags & RTLD_LO_EARLY)) { in dlopen_object()
3763 lockstate = &mlockstate; in dlopen_object()
3803 lockstate) == -1) { in dlopen_object()
3804 dlopen_cleanup(obj, lockstate); in dlopen_object()
3854 map_stacks_exec(lockstate); in dlopen_object()
3856 distribute_static_tls(&initlist, lockstate); in dlopen_object()
3861 lockstate) == -1) { in dlopen_object()
3863 dlopen_cleanup(obj, lockstate); in dlopen_object()
3864 if (lockstate == &mlockstate) in dlopen_object()
3865 lock_release(rtld_bind_lock, lockstate); in dlopen_object()
3871 objlist_call_init(&initlist, lockstate); in dlopen_object()
3874 if (lockstate == &mlockstate) in dlopen_object()
3875 lock_release(rtld_bind_lock, lockstate); in dlopen_object()
3879 if (lockstate == &mlockstate) in dlopen_object()
3880 lock_release(rtld_bind_lock, lockstate); in dlopen_object()
3892 RtldLockState lockstate; in do_dlsym() local
3902 req.lockstate = &lockstate; in do_dlsym()
3905 rlock_acquire(rtld_bind_lock, &lockstate); in do_dlsym()
3906 if (sigsetjmp(lockstate.env, 0) != 0) in do_dlsym()
3907 lock_upgrade(rtld_bind_lock, &lockstate); in do_dlsym()
3913 lock_release(rtld_bind_lock, &lockstate); in do_dlsym()
3966 lock_release(rtld_bind_lock, &lockstate); in do_dlsym()
4003 lock_release(rtld_bind_lock, &lockstate); in do_dlsym()
4026 lock_release(rtld_bind_lock, &lockstate); in do_dlsym()
4068 RtldLockState lockstate; in _rtld_addr_phdr() local
4070 rlock_acquire(rtld_bind_lock, &lockstate); in _rtld_addr_phdr()
4074 lock_release(rtld_bind_lock, &lockstate); in _rtld_addr_phdr()
4078 lock_release(rtld_bind_lock, &lockstate); in _rtld_addr_phdr()
4089 RtldLockState lockstate; in dladdr() local
4091 rlock_acquire(rtld_bind_lock, &lockstate); in dladdr()
4095 lock_release(rtld_bind_lock, &lockstate); in dladdr()
4134 lock_release(rtld_bind_lock, &lockstate); in dladdr()
4142 RtldLockState lockstate; in dlinfo() local
4145 rlock_acquire(rtld_bind_lock, &lockstate); in dlinfo()
4157 lock_release(rtld_bind_lock, &lockstate); in dlinfo()
4180 lock_release(rtld_bind_lock, &lockstate); in dlinfo()
4500 get_program_var_addr(const char *name, RtldLockState *lockstate) in get_program_var_addr() argument
4506 req.lockstate = lockstate; in get_program_var_addr()
4726 load_filtees(__DECONST(Obj_Entry *, obj), flags, req->lockstate); in symlook_obj_load_filtees()
5112 unload_object(Obj_Entry *root, RtldLockState *lockstate) in unload_object() argument
5144 unload_filtees(obj, lockstate); in unload_object()
5148 unload_filtees(obj, lockstate); in unload_object()
5199 RtldLockState lockstate; in tls_get_addr_slow() local
5206 wlock_acquire(rtld_bind_lock, &lockstate); in tls_get_addr_slow()
5216 lock_release(rtld_bind_lock, &lockstate); in tls_get_addr_slow()
5224 wlock_acquire(rtld_bind_lock, &lockstate); in tls_get_addr_slow()
5228 lock_release(rtld_bind_lock, &lockstate); in tls_get_addr_slow()
5598 RtldLockState lockstate; in _rtld_allocate_tls() local
5600 wlock_acquire(rtld_bind_lock, &lockstate); in _rtld_allocate_tls()
5603 lock_release(rtld_bind_lock, &lockstate); in _rtld_allocate_tls()
5610 RtldLockState lockstate; in _rtld_free_tls() local
5612 wlock_acquire(rtld_bind_lock, &lockstate); in _rtld_free_tls()
5614 lock_release(rtld_bind_lock, &lockstate); in _rtld_free_tls()
5873 RtldLockState lockstate; in _rtld_is_dlopened() local
5876 rlock_acquire(rtld_bind_lock, &lockstate); in _rtld_is_dlopened()
5882 lock_release(rtld_bind_lock, &lockstate); in _rtld_is_dlopened()
5886 lock_release(rtld_bind_lock, &lockstate); in _rtld_is_dlopened()
5918 map_stacks_exec(RtldLockState *lockstate) in map_stacks_exec() argument
5925 get_program_var_addr("__pthread_map_stacks_exec", lockstate); in map_stacks_exec()
5933 distribute_static_tls(Objlist *list, RtldLockState *lockstate) in distribute_static_tls() argument
5940 get_program_var_addr("__pthread_distribute_static_tls", lockstate); in distribute_static_tls()
5947 lock_release(rtld_bind_lock, lockstate); in distribute_static_tls()
5950 wlock_acquire(rtld_bind_lock, lockstate); in distribute_static_tls()
5976 dst->lockstate = src->lockstate; in symlook_init_from_req()