about summary refs log tree commit diff
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 9d8543c885..672409ef0b 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 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;