mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 01:33:36 +08:00
elf: Remove LD_HWCAP_MASK / tunable glibc.cpu.hwcap_mask
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>
This commit is contained in:
parent
343439a31e
commit
ad0aa1f549
@ -83,13 +83,6 @@ glibc {
|
||||
minval: 0
|
||||
}
|
||||
}
|
||||
cpu {
|
||||
hwcap_mask {
|
||||
type: UINT_64
|
||||
env_alias: LD_HWCAP_MASK
|
||||
default: HWCAP_IMPORTANT
|
||||
}
|
||||
}
|
||||
|
||||
elision {
|
||||
enable {
|
||||
|
@ -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 },
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
@ -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" \
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user