|author||Joseph Myers <email@example.com>||2018-09-20 12:43:41 +0000|
|committer||Joseph Myers <firstname.lastname@example.org>||2018-09-20 12:43:41 +0000|
Invert sense of list of i686-class processors in sysdeps/x86/cpu-features.h.
I noticed that sysdeps/x86/cpu-features.h had conditionals on whether to define HAS_CPUID, HAS_I586 and HAS_I686 with a long list of preprocessor macros for i686-and-later processors which however was out of date. This patch avoids the problem of the list getting out of date by instead having conditionals on all the (few, old) pre-i686 processors for which GCC has preprocessor macros, rather than the (many, expanding list) i686-and-later processors. It seems HAS_I586 and HAS_I686 are unused so the only effect of these macros being missing is that 32-bit glibc built for one of these processors would end up doing runtime detection of CPUID availability. i386 builds are prevented by a configure test so there is no need to allow for them here. __geode__ (no long nops?) and __k6__ (no CMOV, at least according to GCC) are conservatively handled as i586, not i686, here (as noted above, this is a theoretical distinction at present in that only HAS_CPUID appears to be used). Tested for x86. * sysdeps/x86/cpu-features.h [__geode__ || __k6__]: Handle like [__i586__ || __pentium__]. [__i486__]: Handle explicitly. (HAS_CPUID): Define to 1 if above macros are undefined. (HAS_I586): Likewise. (HAS_I686): Likewise.
Diffstat (limited to 'ChangeLog')
1 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8942396893e..fc3fbffa231 100644
@@ -1,3 +1,12 @@
+2018-09-20 Joseph Myers <email@example.com>
+ * sysdeps/x86/cpu-features.h [__geode__ || __k6__]: Handle like
+ [__i586__ || __pentium__].
+ [__i486__]: Handle explicitly.
+ (HAS_CPUID): Define to 1 if above macros are undefined.
+ (HAS_I586): Likewise.
+ (HAS_I686): Likewise.
2018-09-20 Florian Weimer <firstname.lastname@example.org>
* misc/tst-gethostid.c: New file.