diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-05-27 11:14:18 -0700 |
---|---|---|
committer | Petr Baudis <pasky@ucw.cz> | 2010-05-31 19:05:33 +0200 |
commit | 21580967038a0150e330e56508ec4f04fdf0f490 (patch) | |
tree | b388a4b2b4f4c558a9df381f7febf62fd9f8b20e | |
parent | ef43572852a615b6f85bf3864a6c4f1175a93a19 (diff) | |
download | glibc-21580967038a0150e330e56508ec4f04fdf0f490.tar.gz |
Incorrect x86 CPU family and model check.
(cherry picked from commit 3c88fe1e3ab8c6115e9b0c6eb109718da2116a33)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/init-arch.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -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". */ |