From 0b5045fe2ca948f22517c4b8146c11e05f9c144e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 30 Jun 2002 08:26:20 +0000 Subject: Update. 2002-05-28 H.J. Lu * elf/dl-deps.c (_dl_map_object_deps): Don't add objects which are not dlopened on the dependency list of a dlopened object. --- ChangeLog | 5 +++++ elf/dl-deps.c | 4 ++++ elf/dl-lookup.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b8b3a27adb..68527603e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-05-28 H.J. Lu + + * 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 * elf/dl-lookup.c (add_dependency): It is not necessary to add diff --git a/elf/dl-deps.c b/elf/dl-deps.c index 9fd2dd23ef..7842013c92 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -254,6 +254,10 @@ _dl_map_object_deps (struct link_map *map, else 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) { /* Allocate new entry. */ diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 773f73df9b..6f14aaf498 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -158,7 +158,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map) referenced object and don't record the dependencies. This means this increment can never be reverted and the object will never be unloaded. This is semantically the correct - behaviour. */ + behavior. */ if (__builtin_expect (act < undef_map->l_reldepsmax, 1)) undef_map->l_reldeps[undef_map->l_reldepsact++] = map; -- cgit v1.2.3