GNU C Library master sources branch master updated. glibc-2.28.9000-391-gade8b81
Thu Dec 13 16:48:00 GMT 2018

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  ade8b817fead73b302d08c88cd44ea2ea56793d4 (commit)
      from  f21e8f8ca466320fed38bdb71526c574dae98026 (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 -----------------------------------------------------------------;a=commitdiff;h=ade8b817fead73b302d08c88cd44ea2ea56793d4

commit ade8b817fead73b302d08c88cd44ea2ea56793d4
Author: Carlos O'Donell <>
Date:   Wed Dec 12 09:24:17 2018 -0500

    x86: Add Hygon Dhyana support.
    This patch fix Hygon Dhyana processor CPU Vendor ID detection
    problem in glibc sysdep module, current glibc codes doesn't
    recognize Dhyana CPU Vendor ID("HygonGenuine") and set kind to
    arch_kind_other, which result to incorrect zero value for
    __cache_sysconf() syscall. As Hygon Dhyana share most
    architecture feature as AMD Family 17h, this patch add Hygon CPU
    Vendor ID check and setup kind to arch_kind_amd and reuse AMD
    code path, which lead to correct return value in
    __cache_sysconf() syscall. we run the glibc test suite for both
    Hygon Dhyana and AMD EPYC and found no failure case.
    Chengdu Haiguang IC Design Co., Ltd (Hygon) is a Joint Venture
    between AMD and Haiguang Information Technology Co.,Ltd., aims at
    providing high performance x86 processor for China server market.
    Its first generation processor codename is Dhyana, which
    originates from AMD technology and shares most of the
    architecture with AMD's family 17h, but with different CPU Vendor
    ID("HygonGenuine")/Family series number(Family 18h).
    Related Hygon kernel patch can be found on
    Signed-off-by: fanjinke <>
    Reviewed-by: Carlos O'Donell <>

diff --git a/ChangeLog b/ChangeLog
index cd35115..e457d58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-13  fanjinke  <>
+	* sysdeps/x86/cpu-features.c (init_cpu_features): Check for
+	"HygonGenuine".
 2018-12-13  Andreas Schwab  <>
 	[BZ #23861]
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index 5f9eefd..af7ac4b 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -425,8 +425,9 @@ init_cpu_features (struct cpu_features *cpu_features)
 	  |= bit_arch_Prefer_No_AVX512;
-  /* This spells out "AuthenticAMD".  */
-  else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
+  /* This spells out "AuthenticAMD" or "HygonGenuine".  */
+  else if ((ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
+	   || (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e))
       unsigned int extended_model;


Summary of changes:
 ChangeLog                  |    5 +++++
 sysdeps/x86/cpu-features.c |    5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

GNU C Library master sources

More information about the Glibc-cvs mailing list