]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
elf: Remove LD_HWCAP_MASK / tunable glibc.cpu.hwcap_mask
authorStefan Liebler <stli@linux.ibm.com>
Fri, 7 Jun 2024 11:42:43 +0000 (13:42 +0200)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 18 Jun 2024 08:45:36 +0000 (10:45 +0200)
Remove the environment variable LD_HWCAP_MASK and the tunable
glibc.cpu.hwcap_mask as those are not used anymore in common-code
after removal in elf/dl-cache.c:search_cache().

The only remaining user is sparc32 where it is used in
elf_machine_matches_host().  If sparc32 does not need it anymore,
we can get rid of it at all.  Otherwise we could also move
LD_HWCAP_MASK / tunable glibc.cpu.hwcap_mask to be sparc32 specific.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
elf/dl-tunables.list
elf/tst-env-setuid.c
manual/README.tunables
manual/tunables.texi
sysdeps/generic/unsecvars.h
sysdeps/sparc/sparc32/dl-machine.h

index 1186272c81fc97a3c5ea8c5a958daa1012078fa6..40ac5b3776afba56300d38a5f4c612f4bf6279c6 100644 (file)
@@ -83,13 +83,6 @@ glibc {
       minval: 0
     }
   }
-  cpu {
-    hwcap_mask {
-      type: UINT_64
-      env_alias: LD_HWCAP_MASK
-      default: HWCAP_IMPORTANT
-    }
-  }
 
   elision {
     enable {
index 43047c48f3ecd55591316356ac62cca21dfb9165..59f2ffeb8815b7725574bd6c78f7a2eec14240aa 100644 (file)
@@ -52,7 +52,6 @@ static const struct envvar_t filtered_envvars[] =
 {
   { "GLIBC_TUNABLES",          FILTERED_VALUE },
   { "LD_AUDIT",                FILTERED_VALUE },
-  { "LD_HWCAP_MASK",           FILTERED_VALUE },
   { "LD_LIBRARY_PATH",         FILTERED_VALUE },
   { "LD_PRELOAD",              FILTERED_VALUE },
   { "LD_PROFILE",              PROFILE_LIB },
index 72ae00dc024cd3a3ef66978ebe055a28842c7212..594879397b92af605f779758c004477ea0cee0d5 100644 (file)
@@ -96,11 +96,11 @@ where 'check' is the tunable name and 'val' is a value of same type.
 To get and set tunables in a different namespace from that module, use the full
 form of the macros as follows:
 
-  val = TUNABLE_GET_FULL (glibc, cpu, hwcap_mask, uint64_t, NULL)
+  val = TUNABLE_GET_FULL (glibc, malloc, mmap_max, int32_t, NULL)
 
-  TUNABLE_SET_FULL (glibc, cpu, hwcap_mask, val)
+  TUNABLE_SET_FULL (glibc, malloc, mmap_max, val)
 
-where 'glibc' is the top namespace, 'cpu' is the tunable namespace and the
+where 'glibc' is the top namespace, 'malloc' is the tunable namespace and the
 remaining arguments are the same as the short form macros.
 
 The minimum and maximum values can updated together with the tunable value
@@ -114,11 +114,11 @@ where 'check' is the tunable name, 'val' is a value of same type, 'min' and
 To set the minimum and maximum values of tunables in a different namespace
 from that module, use the full form of the macros as follows:
 
-  val = TUNABLE_GET_FULL (glibc, cpu, hwcap_mask, uint64_t, NULL)
+  val = TUNABLE_GET_FULL (glibc, malloc, mmap_max, int32_t, NULL)
 
-  TUNABLE_SET_WITH_BOUNDS_FULL (glibc, cpu, hwcap_mask, val, min, max)
+  TUNABLE_SET_WITH_BOUNDS_FULL (glibc, malloc, mmap_max, val, min, max)
 
-where 'glibc' is the top namespace, 'cpu' is the tunable namespace and the
+where 'glibc' is the top namespace, 'malloc' is the tunable namespace and the
 remaining arguments are the same as the short form macros.
 
 When TUNABLE_NAMESPACE is not defined in a module, TUNABLE_GET is equivalent to
index 8dd02d8149cb396a9719e52f75abead0cae8f39c..0b1b2898c095e53c1c56a8fcb71c2e9e314c34a7 100644 (file)
@@ -55,7 +55,6 @@ glibc.cpu.x86_non_temporal_threshold: 0xc0000 (min: 0x4040, max: 0xfffffffffffff
 glibc.cpu.x86_memset_non_temporal_threshold: 0xc0000 (min: 0x4040, max: 0xfffffffffffffff)
 glibc.cpu.x86_shstk:
 glibc.pthread.stack_cache_size: 0x2800000 (min: 0x0, max: 0xffffffffffffffff)
-glibc.cpu.hwcap_mask: 0x6 (min: 0x0, max: 0xffffffffffffffff)
 glibc.malloc.mmap_max: 0 (min: 0, max: 2147483647)
 glibc.elision.skip_trylock_internal_abort: 3 (min: 0, max: 2147483647)
 glibc.cpu.plt_rewrite: 0 (min: 0, max: 2)
@@ -504,16 +503,6 @@ Behavior of @theglibc{} can be tuned to assume specific hardware capabilities
 by setting the following tunables in the @code{cpu} namespace:
 @end deftp
 
-@deftp Tunable glibc.cpu.hwcap_mask
-This tunable supersedes the @env{LD_HWCAP_MASK} environment variable and is
-identical in features.
-
-The @code{AT_HWCAP} key in the Auxiliary Vector specifies instruction set
-extensions available in the processor at runtime for some architectures.  The
-@code{glibc.cpu.hwcap_mask} tunable allows the user to mask out those
-capabilities at runtime, thus disabling use of those extensions.
-@end deftp
-
 @deftp Tunable glibc.cpu.hwcaps
 The @code{glibc.cpu.hwcaps=-xxx,yyy,-zzz...} tunable allows the user to
 enable CPU/ARCH feature @code{yyy}, disable CPU/ARCH feature @code{xxx}
index f1724efe0f1fea7bb155b6025a16fea2f662252e..97857a11aaafff4553d963da4ef9753e612dce02 100644 (file)
@@ -12,7 +12,6 @@
   "LD_DEBUG\0"                                                               \
   "LD_DEBUG_OUTPUT\0"                                                        \
   "LD_DYNAMIC_WEAK\0"                                                        \
-  "LD_HWCAP_MASK\0"                                                          \
   "LD_LIBRARY_PATH\0"                                                        \
   "LD_ORIGIN_PATH\0"                                                         \
   "LD_PRELOAD\0"                                                             \
index d855c66fe3d0322c308d56b48de48c95a5b3a147..2c56d8a80e90cfb01a88d1176d07a5ac45180463 100644 (file)
@@ -39,13 +39,7 @@ elf_machine_matches_host (const Elf32_Ehdr *ehdr)
     return 1;
   else if (ehdr->e_machine == EM_SPARC32PLUS)
     {
-#if defined SHARED
-      uint64_t hwcap_mask = TUNABLE_GET (glibc, cpu, hwcap_mask, uint64_t,
-                                        NULL);
-      return GLRO(dl_hwcap) & hwcap_mask & HWCAP_SPARC_V9;
-#else
       return GLRO(dl_hwcap) & HWCAP_SPARC_V9;
-#endif
     }
   else
     return 0;