2002-05-28  H.J. Lu  <hjl@gnu.org>

	* elf/dl-deps.c (_dl_map_object_deps): Don't add objects which
	are not dlopened on the dependency list of a dlopened object.
This commit is contained in:
Ulrich Drepper 2002-06-30 08:26:20 +00:00
parent 6d78cd000f
commit 0b5045fe2c
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-05-28 H.J. Lu <hjl@gnu.org>
* elf/dl-deps.c (_dl_map_object_deps): Don't add objects which
are not dlopened on the dependency list of a dlopened object.
2002-06-30 Ulrich Drepper <drepper@redhat.com> 2002-06-30 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (add_dependency): It is not necessary to add * elf/dl-lookup.c (add_dependency): It is not necessary to add

View File

@ -254,6 +254,10 @@ _dl_map_object_deps (struct link_map *map,
else else
dep = args.aux; dep = args.aux;
/* Skip those are not dlopened if we are dlopened. */
if (map->l_type == lt_loaded && dep->l_type != lt_loaded)
continue;
if (! dep->l_reserved) if (! dep->l_reserved)
{ {
/* Allocate new entry. */ /* Allocate new entry. */

View File

@ -158,7 +158,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map)
referenced object and don't record the dependencies. This referenced object and don't record the dependencies. This
means this increment can never be reverted and the object means this increment can never be reverted and the object
will never be unloaded. This is semantically the correct will never be unloaded. This is semantically the correct
behaviour. */ behavior. */
if (__builtin_expect (act < undef_map->l_reldepsmax, 1)) if (__builtin_expect (act < undef_map->l_reldepsmax, 1))
undef_map->l_reldeps[undef_map->l_reldepsact++] = map; undef_map->l_reldeps[undef_map->l_reldepsact++] = map;