diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-close.c | 8 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,8 @@ 2012-08-17 Roland McGrath <roland@hack.frob.com> + * elf/dl-close.c (_dl_close_worker): Add a cast and a comment to the + last change. + * libio/genops.c (_IO_unbuffer_write): Conditionalize locking code on [_IO_MTSAFE_IO]. * libio/libioP.h [!_IO_MTSAFE_IO && !NOT_IN_libc] diff --git a/elf/dl-close.c b/elf/dl-close.c index 216bd81..e6ff7e7 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; |