diff mbox series

[RFC,9/9] elf: Remove HWCAP_IMPORTANT

Message ID 20240607114543.659306-10-stli@linux.ibm.com
State New
Headers show
Series Remove legacy platform bits and cleanups | expand

Commit Message

Stefan Liebler June 7, 2024, 11:42 a.m. UTC
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(-)

Comments

Adhemerval Zanella June 11, 2024, 8:07 p.m. UTC | #1
On 07/06/24 08:42, Stefan Liebler wrote:
> 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.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  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,
diff mbox series

Patch

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,