File x86-cpuid-level2.patch of Package glibc.openSUSE_11.4_Update

openSUSE bug report:
https://bugzilla.novell.com/show_bug.cgi?id=681398

Patch from Debian, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=584748

---
 sysdeps/x86_64/cacheinfo.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/sysdeps/x86_64/cacheinfo.c
+++ b/sysdeps/x86_64/cacheinfo.c
@@ -254,7 +254,13 @@
 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.  */
openSUSE Build Service is sponsored by