From ad9570d73331610132729ae4c6b89e779fab4877 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 20 Feb 1999 23:57:48 +0000 Subject: Update. * elf/dl-deps.c (_dl_map_object_deps): Don't add dummy objects created for tracing to the scope lists. * elf/do-lookup.h: Remove test for l_opencount == 0 after above change. DT_SYMTAB is always available according to ELF spec. --- elf/dl-deps.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'elf/dl-deps.c') diff --git a/elf/dl-deps.c b/elf/dl-deps.c index ca0d9322ba..7291cde787 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -385,7 +385,11 @@ _dl_map_object_deps (struct link_map *map, for (nlist = 0, runp = known; runp; runp = runp->unique) { - map->l_searchlist.r_list[nlist++] = runp->map; + if (trace_mode && runp->map->l_opencount == 0) + /* This can happen when we trace the loading. */ + --map->l_searchlist.r_nlist; + else + map->l_searchlist.r_list[nlist++] = runp->map; /* Now clear all the mark bits we set in the objects on the search list to avoid duplicates, so the next call starts fresh. */ @@ -406,7 +410,11 @@ _dl_map_object_deps (struct link_map *map, "cannot allocate symbol search list"); for (cnt = 0, runp = known; runp; runp = runp->dup) - map->l_searchlist.r_duplist[cnt++] = runp->map; + if (trace_mode && runp->map->l_opencount == 0) + /* This can happen when we trace the loading. */ + --map->l_searchlist.r_nduplist; + else + map->l_searchlist.r_duplist[cnt++] = runp->map; } /* Now that all this succeeded put the objects in the global scope if -- cgit v1.2.3