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

r4328 - in glibc-package/trunk/debian: . patches patches/i386



Author: aurel32
Date: 2010-06-07 14:24:19 +0000 (Mon, 07 Jun 2010)
New Revision: 4328

Added:
   glibc-package/trunk/debian/patches/i386/local-cpuid-level2.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * Add patches/i386/local-cpuid-level2.diff to not trigger an abort
    when an i586 Intel CPU is running the i686 library, as valgrind does.
    Closes: bug#584748.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2010-06-07 08:37:13 UTC (rev 4327)
+++ glibc-package/trunk/debian/changelog	2010-06-07 14:24:19 UTC (rev 4328)
@@ -7,8 +7,13 @@
   * Restore patches/hurd-i386/submitted-getnprocs.diff which got lost during
     the 2.11 merge.
 
- -- Samuel Thibault <sthibault@debian.org>  Wed, 02 Jun 2010 23:54:34 +0200
+  [ Aurelien Jarno ]
+  * Add patches/i386/local-cpuid-level2.diff to not trigger an abort
+    when an i586 Intel CPU is running the i686 library, as valgrind does.
+    Closes: bug#584748.
 
+ -- Aurelien Jarno <aurel32@debian.org>  Mon, 07 Jun 2010 16:23:17 +0200
+
 eglibc (2.11.1-2) unstable; urgency=low
 
   [ Aurelien Jarno]

Added: glibc-package/trunk/debian/patches/i386/local-cpuid-level2.diff
===================================================================
--- glibc-package/trunk/debian/patches/i386/local-cpuid-level2.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/i386/local-cpuid-level2.diff	2010-06-07 14:24:19 UTC (rev 4328)
@@ -0,0 +1,19 @@
+diff --git a/sysdeps/x86_64/cacheinfo.c b/sysdeps/x86_64/cacheinfo.c
+index 5422037..1debf12 100644
+--- a/sysdeps/x86_64/cacheinfo.c
++++ b/sysdeps/x86_64/cacheinfo.c
+@@ -254,7 +254,13 @@ intel_check_word (int name, unsigned int value, bool *has_level_2,
+ static long int __attribute__ ((noinline))
+ handle_intel (int name, unsigned int maxidx)
+ {
+-  assert (maxidx >= 2);
++  if (maxidx <= 2)
++    {
++      /* This should never happen as all Intel i686 CPU support a CPUID
++	 level of 2 minimum.  However valgrind sometimes load the i686
++	 library with a P55C CPUID.  Return 0 in that case. */
++      return 0;
++    }
+ 
+   /* OK, we can use the CPUID instruction to get all info about the
+      caches.  */

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2010-06-07 08:37:13 UTC (rev 4327)
+++ glibc-package/trunk/debian/patches/series	2010-06-07 14:24:19 UTC (rev 4328)
@@ -240,3 +240,4 @@
 any/cvs-umount-nofollow.diff
 any/cvs-glob.diff
 any/local-dlfptr.diff
+any/local-cpuid-level2.diff


Reply to: