summaryrefslogtreecommitdiff
path: root/elf/dl-object.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-07 17:19:41 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-07 17:19:41 +0000
commit0906c26cc3ec08b2515c5efa414a5f1d78c674b1 (patch)
treee1a9307e0ab21752ded2f461ff65bfddcc1d7a03 /elf/dl-object.c
parent542ac2393c1ca0d070fa9cce57ca2b2e562f72cc (diff)
* elf/dl-close.c (free_mem): Free _dl_scope_free_list.
* include/link.h: Don't include rtld-lowlevel.h. (struct link_map): Remove l_scope_lock. * sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h. (_dl_scope_free_list): New field (variable) in _rtld_global. (DL_LOOKUP_SCOPE_LOCK): Remove. (_dl_scope_free): New prototype. * elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock. Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x. (_dl_profile_fixup): Likewise. * elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and THREAD_GSCOPE_RESET_FLAG around it. * elf/dl-close.c (_dl_close_worker): Don't use __rtld_mrlock_{change,done}. Call _dl_scope_free on the old scope. Make sure THREAD_GSCOPE_WAIT () happens if any old scopes were queued or if l_scope_mem has been abandoned. * elf/dl-open.c (_dl_scope_free): New function. (dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}. * elf/dl-support.c (_dl_scope_free_list): New variable. * elf/dl-lookup.c (add_dependency): Remove flags argument. Remove DL_LOOKUP_SCOPE_LOCK handling. (_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK handling. * elf/dl-object.c (_dl_new_object): Don't use __rtld_mrlock_initialize.
Diffstat (limited to 'elf/dl-object.c')
-rw-r--r--elf/dl-object.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/elf/dl-object.c b/elf/dl-object.c
index 33ee860e59..f8e1ba1e9c 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -85,11 +85,6 @@ _dl_new_object (char *realname, const char *libname, int type,
new->l_scope = new->l_scope_mem;
new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]);
- /* No need to initialize the scope lock if the initializer is zero. */
-#if _RTLD_MRLOCK_INITIALIZER != 0
- __rtld_mrlock_initialize (new->l_scope_lock);
-#endif
-
/* Counter for the scopes we have to handle. */
idx = 0;