This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.28.9000-147-gd90c9b1
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Sep 2018 12:44:33 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.28.9000-147-gd90c9b1
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via d90c9b1a121295a5e31810b899ab637f68898857 (commit)
from db9a8ad4ff3fc58e3773a9a4d0cabe3c1bc9c94c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d90c9b1a121295a5e31810b899ab637f68898857
commit d90c9b1a121295a5e31810b899ab637f68898857
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Sep 20 12:43:41 2018 +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.
diff --git a/ChangeLog b/ChangeLog
index 8942396..fc3fbff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-09-20 Joseph Myers <joseph@codesourcery.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 <fweimer@redhat.com>
* misc/tst-gethostid.c: New file.
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
index d342664..fb22d7b 100644
--- a/sysdeps/x86/cpu-features.h
+++ b/sysdeps/x86/cpu-features.h
@@ -257,30 +257,19 @@ extern const struct cpu_features *__get_cpu_features (void)
#ifdef __x86_64__
# define HAS_CPUID 1
-#elif defined __i586__ || defined __pentium__
+#elif (defined __i586__ || defined __pentium__ \
+ || defined __geode__ || defined __k6__)
# define HAS_CPUID 1
# define HAS_I586 1
# define HAS_I686 HAS_ARCH_FEATURE (I686)
-#elif (defined __i686__ || defined __pentiumpro__ \
- || defined __pentium4__ || defined __nocona__ \
- || defined __atom__ || defined __core2__ \
- || defined __corei7__ || defined __corei7_avx__ \
- || defined __core_avx2__ || defined __nehalem__ \
- || defined __sandybridge__ || defined __haswell__ \
- || defined __knl__ || defined __bonnell__ \
- || defined __silvermont__ \
- || defined __k6__ || defined __k8__ \
- || defined __athlon__ || defined __amdfam10__ \
- || defined __bdver1__ || defined __bdver2__ \
- || defined __bdver3__ || defined __bdver4__ \
- || defined __btver1__ || defined __btver2__)
-# define HAS_CPUID 1
-# define HAS_I586 1
-# define HAS_I686 1
-#else
+#elif defined __i486__
# define HAS_CPUID 0
# define HAS_I586 HAS_ARCH_FEATURE (I586)
# define HAS_I686 HAS_ARCH_FEATURE (I686)
+#else
+# define HAS_CPUID 1
+# define HAS_I586 1
+# define HAS_I686 1
#endif
#endif /* cpu_features_h */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
sysdeps/x86/cpu-features.h | 25 +++++++------------------
2 files changed, 16 insertions(+), 18 deletions(-)
hooks/post-receive
--
GNU C Library master sources