This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-917-g1fe2988


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  1fe2988f523ddbad93ca7abc98fea982f2ae0505 (commit)
      from  a8fc7a03a82959a69ca262c850be23a4932142ce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1fe2988f523ddbad93ca7abc98fea982f2ae0505

commit 1fe2988f523ddbad93ca7abc98fea982f2ae0505
Author: Chris Metcalf <cmetcalf@tilera.com>
Date:   Mon Jul 22 11:46:44 2013 -0400

    tile BZ #15759: Fix bug in _dl_unmap
    
    We returned without calling __munmap if not in the simulator.
    Now we call a separate sim_dlclose() function to make the
    control flow work correctly.

diff --git a/NEWS b/NEWS
index 4b2d5ca..a67e40b 100644
--- a/NEWS
+++ b/NEWS
@@ -21,7 +21,8 @@ Version 2.18
   15395, 15405, 15406, 15409, 15416, 15418, 15419, 15423, 15424, 15426,
   15429, 15431, 15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488,
   15490, 15492, 15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583,
-  15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755.
+  15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755,
+  15759.
 
 * CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal
   has been fixed by disabling the use of pt_chown (Bugzilla #15755).
diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile
index dd3d4f4..a2ec5e1 100644
--- a/ports/ChangeLog.tile
+++ b/ports/ChangeLog.tile
@@ -1,3 +1,9 @@
+2013-07-22  Chris Metcalf  <cmetcalf@tilera.com>
+
+	[BZ #15759]
+	* sysdeps/tile/dl-runtime.c (sim_dlclose): New function.
+	(_dl_unmap): Call sim_dlclose().
+
 2013-07-19  Chris Metcalf  <cmetcalf@tilera.com>
 
 	* sysdeps/unix/sysv/linux/tile/sys/ptrace.h
diff --git a/ports/sysdeps/tile/dl-runtime.c b/ports/sysdeps/tile/dl-runtime.c
index 84b5a5a..42f0ab3 100644
--- a/ports/sysdeps/tile/dl-runtime.c
+++ b/ports/sysdeps/tile/dl-runtime.c
@@ -127,8 +127,8 @@ _dl_after_load (struct link_map *l)
 }
 
 /* Support notifying the simulator about removed objects prior to munmap().  */
-void internal_function
-_dl_unmap (struct link_map *l)
+static void
+sim_dlclose (ElfW(Addr) map_start)
 {
   int shift;
 
@@ -144,9 +144,15 @@ _dl_unmap (struct link_map *l)
   DLPUTC ('0');
   DLPUTC ('x');
   for (shift = (int) sizeof (unsigned long) * 8 - 4; shift >= 0; shift -= 4)
-    DLPUTC ("0123456789abcdef"[(l->l_map_start >> shift) & 0xF]);
+    DLPUTC ("0123456789abcdef"[(map_start >> shift) & 0xF]);
   DLPUTC ('\0');
+
 #undef DLPUTC
+}
 
+void internal_function
+_dl_unmap (struct link_map *l)
+{
+  sim_dlclose (l->l_map_start);
   __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start);
 }

-----------------------------------------------------------------------

Summary of changes:
 NEWS                            |    3 ++-
 ports/ChangeLog.tile            |    6 ++++++
 ports/sysdeps/tile/dl-runtime.c |   12 +++++++++---
 3 files changed, 17 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]