From: H.J. Lu Date: Sun, 29 Jul 2018 13:08:59 +0000 (-0700) Subject: x86: Correct index_cpu_LZCNT [BZ #23456] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a452341529ef0a952b576e20d3c7e3c48dcb8427;p=thirdparty%2Fglibc.git x86: Correct index_cpu_LZCNT [BZ #23456] cpu-features.h has #define bit_cpu_LZCNT (1 << 5) #define index_cpu_LZCNT COMMON_CPUID_INDEX_1 #define reg_LZCNT But the LZCNT feature bit is in COMMON_CPUID_INDEX_80000001: Initial EAX Value: 80000001H ECX Extended Processor Signature and Feature Bits: Bit 05: LZCNT available index_cpu_LZCNT should be COMMON_CPUID_INDEX_80000001, not COMMON_CPUID_INDEX_1. The VMX feature bit is in COMMON_CPUID_INDEX_1: Initial EAX Value: 01H Feature Information Returned in the ECX Register: 5 VMX Reviewed-by: Carlos O'Donell [BZ #23456] * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to COMMON_CPUID_INDEX_80000001. (cherry picked from commit 65d87ade1ee6f3ac099105e3511bd09bdc24cf3f) --- diff --git a/ChangeLog b/ChangeLog index 1c77ca2a6c9..7d88c08491a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-07-29 H.J. Lu + + [BZ #23456] + * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to + COMMON_CPUID_INDEX_80000001. + 2018-07-10 Florian Weimer [BZ #23036] diff --git a/NEWS b/NEWS index 957035d2f31..7627bb0b6ed 100644 --- a/NEWS +++ b/NEWS @@ -87,6 +87,7 @@ The following bugs are resolved with this release: [23313] libio: Disable vtable validation in case of interposition [23349] Various glibc headers no longer compatible with [23363] stdio-common/tst-printf.c has non-free license + [23456] Wrong index_cpu_LZCNT Version 2.27 diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h index c60c2e4eeb8..906ad50920a 100644 --- a/sysdeps/x86/cpu-features.h +++ b/sysdeps/x86/cpu-features.h @@ -202,7 +202,7 @@ extern const struct cpu_features *__get_cpu_features (void) # define index_cpu_HTT COMMON_CPUID_INDEX_1 # define index_cpu_BMI1 COMMON_CPUID_INDEX_7 # define index_cpu_BMI2 COMMON_CPUID_INDEX_7 -# define index_cpu_LZCNT COMMON_CPUID_INDEX_1 +# define index_cpu_LZCNT COMMON_CPUID_INDEX_80000001 # define index_cpu_MOVBE COMMON_CPUID_INDEX_1 # define index_cpu_POPCNT COMMON_CPUID_INDEX_1 # define index_cpu_IBT COMMON_CPUID_INDEX_7