summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-05-27 11:14:18 -0700
committerPetr Baudis <pasky@ucw.cz>2010-05-31 19:05:33 +0200
commit21580967038a0150e330e56508ec4f04fdf0f490 (patch)
treeb388a4b2b4f4c558a9df381f7febf62fd9f8b20e
parentef43572852a615b6f85bf3864a6c4f1175a93a19 (diff)
downloadglibc-21580967038a0150e330e56508ec4f04fdf0f490.tar.gz
Incorrect x86 CPU family and model check.
(cherry picked from commit 3c88fe1e3ab8c6115e9b0c6eb109718da2116a33)
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/x86_64/multiarch/init-arch.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 871a70c5a3..b03035f17d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #11640]
+ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+ Properly check family and model.
+
2010-05-26 Takashi Yoshii <takashi.yoshii.zj@renesas.com>
* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
index 0fe2f86b4f..198fcaa8d3 100644
--- a/sysdeps/x86_64/multiarch/init-arch.c
+++ b/sysdeps/x86_64/multiarch/init-arch.c
@@ -62,12 +62,12 @@ __init_cpu_features (void)
unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
unsigned int extended_family = (eax >> 20) & 0xff;
unsigned int extended_model = (eax >> 12) & 0xf0;
- if (__cpu_features.family == 0x0f)
+ if (family == 0x0f)
{
family += extended_family;
model += extended_model;
}
- else if (__cpu_features.family == 0x06)
+ else if (family == 0x06)
model += extended_model;
}
/* This spells out "AuthenticAMD". */