aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-09-29 06:58:31 +0000
committerUlrich Drepper <drepper@redhat.com>2007-09-29 06:58:31 +0000
commit385b4cf4c51a4b332244f741244bf3241c1f1b1f (patch)
treeabf4daf5f6451bca168768287f56294bf7134912 /sysdeps/generic
parent90bf831bda032b2a0ef772741877e922e4c8ed4d (diff)
downloadglibc-385b4cf4c51a4b332244f741244bf3241c1f1b1f.tar
glibc-385b4cf4c51a4b332244f741244bf3241c1f1b1f.tar.gz
glibc-385b4cf4c51a4b332244f741244bf3241c1f1b1f.tar.bz2
glibc-385b4cf4c51a4b332244f741244bf3241c1f1b1f.zip
* sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Storecvs/fedora-glibc-20070929T1859
void * pointers instead of struct link_map **. (_dl_scope_free): Change argument type to void *. * include/link.h (struct link_map): Change type of l_reldeps to struct link_map_reldeps, move l_reldepsact into that struct too. * elf/dl-deps.c: Include atomic.h. (_dl_map_object_deps): Only change l->l_initfini when it is fully populated, use _dl_scope_free for freeing it. Optimize removal of libs from reldeps by using l_reserved flag, when some removal is needed, allocate a new list instead of reallocating and free the old with _dl_scope_free. Adjust for l_reldeps and l_reldepsact changes. * elf/dl-lookup.c (add_dependency): Likewise. Reorganize to allow searching in l_initfini and l_reldeps without holding dl_load_lock. * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and l_reldepsact changes. * elf/dl-close.c (_dl_close_worker): Likewise. * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/ldsodefs.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 147bffb96f..958a099b82 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -491,7 +491,7 @@ struct rtld_global
EXTERN struct dl_scope_free_list
{
size_t count;
- struct r_scope_elem **list[50];
+ void *list[50];
} *_dl_scope_free_list;
#ifdef SHARED
};
@@ -1058,7 +1058,7 @@ extern void *_dl_open (const char *name, int mode, const void *caller,
/* Free or queue for freeing scope OLD. If other threads might be
in the middle of _dl_fixup, _dl_profile_fixup or dl*sym using the
old scope, OLD can't be freed until no thread is using it. */
-extern int _dl_scope_free (struct r_scope_elem **old) attribute_hidden;
+extern int _dl_scope_free (void *) attribute_hidden;
/* Add module to slot information data. */
extern void _dl_add_to_slotinfo (struct link_map *l) attribute_hidden;