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: