diff options
Diffstat (limited to 'elf/dl-close.c')
-rw-r--r-- | elf/dl-close.c | 8 |
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; |