[RFC 9/9] elf: Remove HWCAP_IMPORTANT

Stefan Liebler stli@linux.ibm.com
Fri Jun 7 11:42:44 GMT 2024


Remove the definitions of HWCAP_IMPORTANT after removal of
LD_HWCAP_MASK / tunable glibc.cpu.hwcap_mask.  There HWCAP_IMPORTANT
was used as default value.
---
 elf/dl-diagnostics.c                          |  1 -
 sysdeps/alpha/dl-procinfo.h                   |  3 ---
 sysdeps/csky/dl-procinfo.h                    |  3 ---
 sysdeps/generic/dl-procinfo.h                 |  3 ---
 sysdeps/mips/dl-procinfo.h                    |  3 ---
 sysdeps/powerpc/dl-procinfo.h                 |  3 ---
 sysdeps/s390/dl-procinfo.h                    |  5 -----
 sysdeps/sparc/dl-procinfo.h                   |  5 -----
 sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h |  3 ---
 sysdeps/unix/sysv/linux/arm/dl-procinfo.h     |  2 --
 sysdeps/x86/dl-hwcap.h                        | 13 -------------
 11 files changed, 44 deletions(-)

diff --git a/elf/dl-diagnostics.c b/elf/dl-diagnostics.c
index e69463b2bd..c83e7770d8 100644
--- a/elf/dl-diagnostics.c
+++ b/elf/dl-diagnostics.c
@@ -233,7 +233,6 @@ _dl_print_diagnostics (char **environ)
 {
   _dl_diagnostics_print_labeled_string ("dl_dst_lib", DL_DST_LIB);
   _dl_diagnostics_print_labeled_value ("dl_hwcap", GLRO (dl_hwcap));
-  _dl_diagnostics_print_labeled_value ("dl_hwcap_important", HWCAP_IMPORTANT);
   _dl_diagnostics_print_labeled_value ("dl_hwcap2", GLRO (dl_hwcap2));
   _dl_diagnostics_print_labeled_value ("dl_hwcap3", GLRO (dl_hwcap3));
   _dl_diagnostics_print_labeled_value ("dl_hwcap4", GLRO (dl_hwcap4));
diff --git a/sysdeps/alpha/dl-procinfo.h b/sysdeps/alpha/dl-procinfo.h
index a5264f9f2c..8d17d42ce2 100644
--- a/sysdeps/alpha/dl-procinfo.h
+++ b/sysdeps/alpha/dl-procinfo.h
@@ -27,9 +27,6 @@
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
 
-/* By default there is no important hardware capability.  */
-#define HWCAP_IMPORTANT (0)
-
 /* We don't have any hardware capabilities.  */
 #define _DL_HWCAP_COUNT	0
 
diff --git a/sysdeps/csky/dl-procinfo.h b/sysdeps/csky/dl-procinfo.h
index 3e7c63ee67..f5f6343cf6 100644
--- a/sysdeps/csky/dl-procinfo.h
+++ b/sysdeps/csky/dl-procinfo.h
@@ -28,9 +28,6 @@
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
 
-/* By default there is no important hardware capability.  */
-#define HWCAP_IMPORTANT (0)
-
 /* We don't have any hardware capabilities.  */
 #define _DL_HWCAP_COUNT	0
 
diff --git a/sysdeps/generic/dl-procinfo.h b/sysdeps/generic/dl-procinfo.h
index 1778fd1057..93edfc00cb 100644
--- a/sysdeps/generic/dl-procinfo.h
+++ b/sysdeps/generic/dl-procinfo.h
@@ -25,9 +25,6 @@
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
 
-/* By default there is no important hardware capability.  */
-#define HWCAP_IMPORTANT (0)
-
 /* We don't have any hardware capabilities.  */
 #define _DL_HWCAP_COUNT 0
 
diff --git a/sysdeps/mips/dl-procinfo.h b/sysdeps/mips/dl-procinfo.h
index 79c2acc388..af2616e1db 100644
--- a/sysdeps/mips/dl-procinfo.h
+++ b/sysdeps/mips/dl-procinfo.h
@@ -27,9 +27,6 @@
 /* There are no hardware capabilities defined.  */
 #define _dl_hwcap_string(idx) ""
 
-/* By default there is no important hardware capability.  */
-#define HWCAP_IMPORTANT (0)
-
 /* We don't have any hardware capabilities.  */
 #define _DL_HWCAP_COUNT	0
 
diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h
index 81eb9fba87..1e746a7ab4 100644
--- a/sysdeps/powerpc/dl-procinfo.h
+++ b/sysdeps/powerpc/dl-procinfo.h
@@ -34,9 +34,6 @@
 /* AT_HWCAP4 feature strings follow the AT_HWCAP3 feature strings.  */
 #define _DL_HWCAP4_OFFSET	(_DL_HWCAP3_OFFSET + _DL_HWCAP_SIZE)
 
-/* These bits influence library search.  */
-#define HWCAP_IMPORTANT		(PPC_FEATURE_HAS_ALTIVEC \
-				+ PPC_FEATURE_HAS_DFP)
 
 #define _DL_FIRST_PLATFORM	32
 
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
index 7092ed1e2d..45dd11c189 100644
--- a/sysdeps/s390/dl-procinfo.h
+++ b/sysdeps/s390/dl-procinfo.h
@@ -59,11 +59,6 @@ enum
   HWCAP_S390_SIE = 1 << 22,
 };
 
-#define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \
-			 | HWCAP_S390_EIMM | HWCAP_S390_DFP  \
-			 | HWCAP_S390_VX | HWCAP_S390_VXE    \
-			 | HWCAP_S390_VXRS_EXT2)
-
 /* We cannot provide a general printing function.  */
 #define _dl_procinfo(type, word) -1
 
diff --git a/sysdeps/sparc/dl-procinfo.h b/sysdeps/sparc/dl-procinfo.h
index bd1cb65596..709178706c 100644
--- a/sysdeps/sparc/dl-procinfo.h
+++ b/sysdeps/sparc/dl-procinfo.h
@@ -52,9 +52,4 @@ _dl_hwcap_string (int idx)
   return GLRO(dl_sparc_cap_flags)[idx];
 };
 
-#include <bits/wordsize.h>
-#define HWCAP_IMPORTANT_V9	(__WORDSIZE == 64 ? 0 : HWCAP_SPARC_V9)
-#define HWCAP_IMPORTANT		(HWCAP_IMPORTANT_V9 | HWCAP_SPARC_ULTRA3 \
-				 | HWCAP_SPARC_BLKINIT | HWCAP_SPARC_N2)
-
 #endif /* dl-procinfo.h */
diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
index 17893a5225..b85d4ad8a3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
@@ -27,9 +27,6 @@
 /* We cannot provide a general printing function.  */
 #define _dl_procinfo(type, word) -1
 
-/* No additional library search paths.  */
-#define HWCAP_IMPORTANT HWCAP_ATOMICS
-
 static inline const char *
 __attribute__ ((unused))
 _dl_hwcap_string (int idx)
diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
index 85422b8edd..7d26216718 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -70,6 +70,4 @@ _dl_procinfo (unsigned int type, unsigned long int word)
   return 0;
 }
 
-#define HWCAP_IMPORTANT		(HWCAP_ARM_VFP | HWCAP_ARM_NEON)
-
 #endif /* dl-procinfo.h */
diff --git a/sysdeps/x86/dl-hwcap.h b/sysdeps/x86/dl-hwcap.h
index 246fdcd831..325f1c467c 100644
--- a/sysdeps/x86/dl-hwcap.h
+++ b/sysdeps/x86/dl-hwcap.h
@@ -18,19 +18,6 @@
 #ifndef _DL_HWCAP_H
 #define _DL_HWCAP_H
 
-#if IS_IN (ldconfig)
-/* Since ldconfig processes both i386 and x86-64 libraries, it needs
-   to cover all hardware capabilities.  */
-# define HWCAP_IMPORTANT \
-  (HWCAP_X86_SSE2 | HWCAP_X86_64 | HWCAP_X86_AVX512_1)
-#elif defined __x86_64__
-/* For 64 bit, only cover x86-64 capabilities.  */
-# define HWCAP_IMPORTANT	(HWCAP_X86_64 | HWCAP_X86_AVX512_1)
-#else
-/* For 32 bit, only cover i586, i686 and SSE2.  */
-# define HWCAP_IMPORTANT	(HWCAP_X86_SSE2)
-#endif
-
 enum
 {
   HWCAP_X86_SSE2		= 1 << 0,
-- 
2.45.0



More information about the Libc-alpha mailing list