SOURCES (AC-branch): glibc-dl-tls.patch (NEW) - fix for: Inconsi...
qboosh
qboosh at pld-linux.org
Tue Oct 17 19:59:34 CEST 2006
Author: qboosh Date: Tue Oct 17 17:59:34 2006 GMT
Module: SOURCES Tag: AC-branch
---- Log message:
- fix for:
Inconsistency detected by ld.so: ../sysdeps/generic/dl-tls.c: 75: _dl_next_tls_modid: Assertion `result <= _rtld_local._dl_tls_max_dtv_idx' failed!
(backport from glibc 2.4)
---- Files affected:
SOURCES:
glibc-dl-tls.patch (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/glibc-dl-tls.patch
diff -u /dev/null SOURCES/glibc-dl-tls.patch:1.1.2.1
--- /dev/null Tue Oct 17 19:59:34 2006
+++ SOURCES/glibc-dl-tls.patch Tue Oct 17 19:59:28 2006
@@ -0,0 +1,52 @@
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/generic/Attic/dl-tls.c,v
+retrieving revision 1.42.2.5
+retrieving revision 1.42.2.6
+diff -u -r1.42.2.5 -r1.42.2.6
+--- libc/sysdeps/generic/dl-tls.c 2005/03/03 13:34:19 1.42.2.5
++++ libc/sysdeps/generic/dl-tls.c 2005/03/24 08:19:17 1.42.2.6
+@@ -71,26 +71,24 @@
+ NB: the offset +1 is due to the fact that DTV[0] is used
+ for something else. */
+ result = GL(dl_tls_static_nelem) + 1;
+- /* If the following would not be true we mustn't have assumed
+- there is a gap. */
+- assert (result <= GL(dl_tls_max_dtv_idx));
+- do
+- {
+- while (result - disp < runp->len)
+- {
+- if (runp->slotinfo[result - disp].map == NULL)
+- break;
+-
+- ++result;
+- assert (result <= GL(dl_tls_max_dtv_idx) + 1);
+- }
+-
+- if (result - disp < runp->len)
+- break;
+-
+- disp += runp->len;
+- }
+- while ((runp = runp->next) != NULL);
++ if (result <= GL(dl_tls_max_dtv_idx))
++ do
++ {
++ while (result - disp < runp->len)
++ {
++ if (runp->slotinfo[result - disp].map == NULL)
++ break;
++
++ ++result;
++ assert (result <= GL(dl_tls_max_dtv_idx) + 1);
++ }
++
++ if (result - disp < runp->len)
++ break;
++
++ disp += runp->len;
++ }
++ while ((runp = runp->next) != NULL);
+
+ if (result > GL(dl_tls_max_dtv_idx))
+ {
================================================================
More information about the pld-cvs-commit
mailing list