summaryrefslogtreecommitdiff
path: root/elf/dl-close.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-close.c')
-rw-r--r--elf/dl-close.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c
index 216bd81b62..e6ff7e75d0 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -486,7 +486,7 @@ _dl_close_worker (struct link_map *map)
/* Speed up removing most recently added objects. */
j = cnt;
else
- for (i = 0; i < cnt; i++)
+ for (i = 0; i < cnt; i++)
if (ns_msl->r_list[i]->l_removed == 0)
{
if (i != j)
@@ -641,7 +641,11 @@ _dl_close_worker (struct link_map *map)
#ifdef SHARED
assert (nsid != LM_ID_BASE);
#endif
- r->r_map = ns->_ns_loaded = imap->l_next;
+ ns->_ns_loaded = imap->l_next;
+
+ /* Update the pointer to the head of the list
+ we leave for debuggers to examine. */
+ r->r_map = (void *) ns->_ns_loaded;
}
--ns->_ns_nloaded;