From 8ebe9c0b38a9c1b309028d9c1ded7c06ded6bcad Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 28 Feb 2023 00:07:59 +0000 Subject: [PATCH] Add Arm HWCAP values from Linux 6.2 to bits/hwcap.h Linux 6.2 adds six new Arm HWCAP values and two new HWCAP2 values; add them to glibc's Arm bits/hwcap.h, with corresponding dl-procinfo.c and dl-procinfo.h updates. Tested with build-many-glibcs.py for arm-linux-gnueabi. --- sysdeps/unix/sysv/linux/arm/bits/hwcap.h | 6 ++++++ sysdeps/unix/sysv/linux/arm/dl-procinfo.c | 5 +++-- sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 8 ++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/sysdeps/unix/sysv/linux/arm/bits/hwcap.h b/sysdeps/unix/sysv/linux/arm/bits/hwcap.h index 8e228c1d56..f325fa93d6 100644 --- a/sysdeps/unix/sysv/linux/arm/bits/hwcap.h +++ b/sysdeps/unix/sysv/linux/arm/bits/hwcap.h @@ -43,3 +43,9 @@ #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 #define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c index 80aa4796d0..aac6ba7045 100644 --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c +++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c @@ -45,14 +45,15 @@ #if !defined PROCINFO_DECL && defined SHARED ._dl_arm_cap_flags #else -PROCINFO_CLASS const char _dl_arm_cap_flags[27][10] +PROCINFO_CLASS const char _dl_arm_cap_flags[35][10] #endif #ifndef PROCINFO_DECL = { "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp", "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16", "tls", "vfpv4", "idiva", "idivt", "vfpd32", "lpae", "evtstrm", - "aes", "pmull", "sha1", "sha2", "crc32", + "fphp", "asimdhp", "asimddp", "asimdfhm", "asimdbf16", "i8mm", + "aes", "pmull", "sha1", "sha2", "crc32", "sb", "ssbs", } #endif #if !defined SHARED || defined PROCINFO_DECL diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h index 7d682978aa..171a3f0b64 100644 --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h @@ -24,11 +24,11 @@ #define _DL_HWCAP_COUNT 27 -/* Low 22 bits are allocated in HWCAP. */ -#define _DL_HWCAP_LAST 21 +/* Low 28 bits are allocated in HWCAP. */ +#define _DL_HWCAP_LAST 27 -/* Low 5 bits are allocated in HWCAP2. */ -#define _DL_HWCAP2_LAST 4 +/* Low 7 bits are allocated in HWCAP2. */ +#define _DL_HWCAP2_LAST 6 /* The kernel provides platform data but it is not interesting. */ #define _DL_HWCAP_PLATFORM 0 -- 2.43.5