diff --git a/ChangeLog b/ChangeLog index 13c7293253..9cb3ddab03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-07-06 Szabolcs Nagy + + * 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 * 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))