[vlc-devel] commit: Blacklist glibc 2.10-2.10.1 for 686 ( Rémi Denis-Courmont )

git version control git at videolan.org
Wed Oct 21 18:35:55 CEST 2009


vlc | branch: 1.0-bugfix | Rémi Denis-Courmont <remi at remlab.net> | Wed Oct 21 19:28:06 2009 +0300| [3660d5b8184a7c8038bff1b63b0a7366eddbba02] | committer: Rémi Denis-Courmont 

Blacklist glibc 2.10-2.10.1 for 686

I'm not going to suffer another round of VLC bug reports due to glibc.
(cherry picked from commit bcfa778f2eaece684dafa3d4b1765a121bb016e0)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3660d5b8184a7c8038bff1b63b0a7366eddbba02
---

 src/misc/linux_specific.c |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/misc/linux_specific.c b/src/misc/linux_specific.c
index 79c8807..37bdff5 100644
--- a/src/misc/linux_specific.c
+++ b/src/misc/linux_specific.c
@@ -24,6 +24,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <sys/stat.h>
 
 #include <vlc_common.h>
 #include "../libvlc.h"
@@ -87,13 +88,31 @@ void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[])
      * process might have called setlocale(). */
     if (strverscmp (glcv, "2.5") >= 0 && strverscmp (glcv, "2.8") < 0)
     {
-        fputs ("LibVLC has detected an unusable buggy GNU/libc version.\n"
-               "Please update to version 2.8 or newer.\n", stderr);
+        fputs ("LibVLC has detected an unusable buggy GNU/libc version.\n",
+               stderr);
+        fputs ("Please update to version 2.8 or newer.\n", stderr);
         fflush (stderr);
 #ifndef DISABLE_BUGGY_GLIBC_CHECK
         abort ();
 #endif
     }
+
+# ifdef __i386__
+    /* glibc 2.10, 2.10.1 fail in pthread_cond_wait on 686 */
+    struct stat st;
+    if (strverscmp (glcv, "2.10") >= 0
+     && strverscmp (glcv, "2.10.1") <= 0 /* update version when fixed */
+     && !stat ("/lib/i686/cmov/libpthread.so.0", &st))
+    {
+        fputs ("LibVLC has detected an unusable buggy GNU/libc version.\n",
+               stderr);
+        fputs ("Please remove GNU/libc acceleration for 686.\n", stderr);
+        fflush (stderr);
+#  ifndef DISABLE_BUGGY_GLIBC_CHECK
+        abort ();
+#  endif
+    }
+# endif
 #endif
 
 #if 0




More information about the vlc-devel mailing list