glibc/x86-cpuid-level2.patch

28 lines
790 B
Diff
Raw Normal View History

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. */