aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-close.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9d8543c..672409e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;