This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Update ARM HWCAP data
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Date: Thu, 20 Feb 2014 03:33:20 +0000
- Subject: Update ARM HWCAP data
- Authentication-results: sourceware.org; auth=none
This patch updates the ARM HWCAP data (both bits/hwcap.h and
dl-procinfo.[ch]) to match Linux 3.13. Committed. (Noticing the
addition of an HWCAP value in 3.13 was what prompted my question about
review of recent Linux kernel changes. I haven't checked other
architectures with HWCAP data in glibc for whether they need updates
to match current Linux kernels - or checked for architectures in glibc
that don't have HWCAP data although the kernel does, although at
appears that at least AArch64 is such an architecture missing glibc
support for kernel HWCAP data.)
2014-02-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/bits/hwcap.h (HWCAP_ARM_VFPD32): New
macro.
(HWCAP_ARM_LPAE): Likewise.
(HWCAP_ARM_EVTSTRM): Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (_dl_arm_cap_flags):
Add vpfd32, lpae and evtstrm.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT):
Increase to 22.
diff --git a/sysdeps/unix/sysv/linux/arm/bits/hwcap.h b/sysdeps/unix/sysv/linux/arm/bits/hwcap.h
index b438d2a..cd8f93c 100644
--- a/sysdeps/unix/sysv/linux/arm/bits/hwcap.h
+++ b/sysdeps/unix/sysv/linux/arm/bits/hwcap.h
@@ -40,3 +40,6 @@
#define HWCAP_ARM_VFPv4 65536
#define HWCAP_ARM_IDIVA 131072
#define HWCAP_ARM_IDIVT 262144
+#define HWCAP_ARM_VFPD32 524288
+#define HWCAP_ARM_LPAE 1048576
+#define HWCAP_ARM_EVTSTRM 2097152
diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
index d304539..113cda5 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
+++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
@@ -46,13 +46,13 @@
#if !defined PROCINFO_DECL && defined SHARED
._dl_arm_cap_flags
#else
-PROCINFO_CLASS const char _dl_arm_cap_flags[19][10]
+PROCINFO_CLASS const char _dl_arm_cap_flags[22][10]
#endif
#ifndef PROCINFO_DECL
= {
"swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp",
"java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16",
- "tls", "vfpv4", "idiva", "idivt",
+ "tls", "vfpv4", "idiva", "idivt", "vfpd32", "lpae", "evtstrm",
}
#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 2f8f003..20a3e92 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -23,7 +23,7 @@
#include <ldsodefs.h>
#include <sysdep.h>
-#define _DL_HWCAP_COUNT 19
+#define _DL_HWCAP_COUNT 22
/* The kernel provides platform data but it is not interesting. */
#define _DL_HWCAP_PLATFORM 0
--
Joseph S. Myers
joseph@codesourcery.com