aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/cpu-features.c5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h5
3 files changed, 10 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 13c7293253..9cb3ddab03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (init_cpu_features):
+ Use dl_hwcap without masking.
+ * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT):
+ Remove HWCAP_CPUID.
+
2018-07-06 Florian Weimer <fweimer@redhat.com>
* conform/conformtest.pl (checknamespace): Escape literal braces
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
index 203f839408..39eba0186f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -53,9 +53,6 @@ get_midr_from_mcpu (const char *mcpu)
static inline void
init_cpu_features (struct cpu_features *cpu_features)
{
- uint64_t hwcap_mask = GET_HWCAP_MASK();
- uint64_t hwcap = GLRO (dl_hwcap) & hwcap_mask;
-
register uint64_t midr = UINT64_MAX;
#if HAVE_TUNABLES
@@ -69,7 +66,7 @@ init_cpu_features (struct cpu_features *cpu_features)
allows it. */
if (midr == UINT64_MAX)
{
- if (hwcap & HWCAP_CPUID)
+ if (GLRO (dl_hwcap) & HWCAP_CPUID)
asm volatile ("mrs %0, midr_el1" : "=r"(midr));
else
midr = 0;
diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
index 6887713149..c0dcce15a2 100644
--- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
@@ -27,9 +27,8 @@
/* We cannot provide a general printing function. */
#define _dl_procinfo(type, word) -1
-/* HWCAP_CPUID should be available by default to influence IFUNC as well as
- library search. */
-#define HWCAP_IMPORTANT HWCAP_CPUID
+/* No additional library search paths. */
+#define HWCAP_IMPORTANT 0
static inline const char *
__attribute__ ((unused))