[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r4623 - in glibc-package/branches/eglibc-2.13/debian: . patches/any



Author: aurel32
Date: 2011-05-01 14:58:48 +0000 (Sun, 01 May 2011)
New Revision: 4623

Added:
   glibc-package/branches/eglibc-2.13/debian/patches/any/local-dl-deps.diff
Modified:
   glibc-package/branches/eglibc-2.13/debian/changelog
Log:
  * Add patches/any/local-dl-deps.diff to workaround assert triggered by 
    some binaries.  Closes: #624515.



Modified: glibc-package/branches/eglibc-2.13/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/changelog	2011-05-01 14:41:00 UTC (rev 4622)
+++ glibc-package/branches/eglibc-2.13/debian/changelog	2011-05-01 14:58:48 UTC (rev 4623)
@@ -155,6 +155,8 @@
   * Add patches/any/cvs-fopen.diff to fix fopen() with 7 bytes string.
   * Add patches/amd64/cvs-memset.diff to fix memset() on amd64 for
     misaligned blocks larger than 144 Bytes.
+  * Add patches/any/local-dl-deps.diff to workaround assert triggered by 
+    some binaries.  Closes: #624515.
 
   [ Samuel Thibault ]
   * Add patches/any/cvs-glro_dl_debug_mask.diff to fix build without

Added: glibc-package/branches/eglibc-2.13/debian/patches/any/local-dl-deps.diff
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/patches/any/local-dl-deps.diff	                        (rev 0)
+++ glibc-package/branches/eglibc-2.13/debian/patches/any/local-dl-deps.diff	2011-05-01 14:58:48 UTC (rev 4623)
@@ -0,0 +1,33 @@
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index efb2b58..3991e65 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -231,7 +231,8 @@ _dl_close_worker (struct link_map *map)
+     }
+ 
+   /* Sort the entries.  */
+-  _dl_sort_fini (ns->_ns_loaded, maps, nloaded, used, nsid);
++  if (nloaded > 1)
++    _dl_sort_fini (ns->_ns_loaded, maps, nloaded, used, nsid);
+ 
+   /* Call all termination functions at once.  */
+ #ifdef SHARED
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index d3c27f1..ed27090 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -623,11 +623,11 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ 
+   /* We can skip looking for the binary itself which is at the front
+      of the search list.  */
+-  assert (nlist > 1);
++  assert (nlist > 0);
+   i = 1;
+   bool seen[nlist];
+   memset (seen, false, nlist * sizeof (seen[0]));
+-  while (1)
++  while (nlist > 1)
+     {
+       /* Keep track of which object we looked at this round.  */
+       seen[i] = true;
+


Reply to: