glibc/sysdeps/generic
Adhemerval Zanella 2a969b53c0 elf: Do not duplicate the GLIBC_TUNABLES string
The tunable parsing duplicates the tunable environment variable so it
null-terminates each one since it simplifies the later parsing. It has
the drawback of adding another point of failure (__minimal_malloc
failing), and the memory copy requires tuning the compiler to avoid mem
operations calls.

The parsing now tracks the tunable start and its size. The
dl-tunable-parse.h adds helper functions to help parsing, like a strcmp
that also checks for size and an iterator for suboptions that are
comma-separated (used on hwcap parsing by x86, powerpc, and s390x).

Since the environment variable is allocated on the stack by the kernel,
it is safe to keep the references to the suboptions for later parsing
of string tunables (as done by set_hwcaps by multiple architectures).

Checked on x86_64-linux-gnu, powerpc64le-linux-gnu, and
aarch64-linux-gnu.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-12-19 13:25:45 -03:00
..
net Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
netinet Add LE DSCP code point from RFC-8622. 2023-10-17 19:00:27 +02:00
nfs Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sys Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_G_config.h
_itoa.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
a.out.h
abort-instr.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
adaptive_spin_count.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
aio_misc.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
allocalim.h
arch-fd_to_filename.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
asm-syntax.h
atomic-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
c++-types.data
confstr.h
crti.S
crtn.S
device-nrs.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dirstream.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-audit-check.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-auxv.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-call_tls_init_tp.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-debug.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-dtv.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-execve.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-fcntl.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-fileid.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-fixup-attribute.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-fptr.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-hash.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-hwcap-check.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-isa-level.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-lookupcfg.h sparc: Fix la_symbind for bind-now (BZ 23734) 2023-07-12 15:29:08 -03:00
dl-machine-rel.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-minimal-malloc.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-mman.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-new-hash.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-osinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-procinfo.c
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-procruntime.c
dl-prop.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-protected.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-r_debug.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-relocate-ld.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-symbol-redir-ifunc.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-tls.h
dl-tunables-parse.h elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
dl-unistd.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-vdso-setup.c
dl-vdso-setup.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-vdso.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dwarf2.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
elf-read-prop.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
elf_machine_sym_no_match.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
elide.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
eloop-threshold.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
entry.h
errqueue.h
fast-jitter.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fd_to_filename.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
features-time64.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fenv_private.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fix-float-double-convert-nan.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fix-fp-int-compare-invalid.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fix-int-fp-convert-zero.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
float128-abi.h
fork.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
framestate.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gcc-compat.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gmp-mparam.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hp-timing-common.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ifreq.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ifunc-init.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ifunc-sel.h
internal-signals.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
intr-msg.h
ld.abilist
ldbl-classify-compat.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ldconfig.h LoongArch: Add support for ldconfig. 2023-03-13 09:20:28 +08:00
ldsodefs.h Revert "elf: Always call destructors in reverse constructor order (bug 30785)" 2023-10-18 11:30:38 +02:00
libBrokenLocale.abilist
libanl.abilist
libc-lock-arch.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-lock.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-mmap.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-mtag.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-start.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-symver.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-tsd.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc.abilist linux: Add pidfd_getfd 2022-05-17 10:33:07 -03:00
libc_malloc_debug.abilist
libc_start_call_main.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libdl.abilist
libm-alias-double.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-alias-float.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-alias-float128.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-alias-ldouble.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-test-ulps
libm-test-ulps-name
libm.abilist
libnsl.abilist
libnss_compat.abilist
libnss_db.abilist
libnss_dns.abilist
libnss_files.abilist
libnss_hesiod.abilist
libnss_nis.abilist
libnss_nisplus.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libutil.abilist
link_map.h
linkmap.h
local-setxid.h
localplt.data elf: Rework exception handling in the dynamic loader [BZ #25486] 2022-11-03 09:39:31 +01:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
machine-lock.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
machine-sp.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-alignment.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-hugepages.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-hugepages.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-size.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
malloc-sysdep.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-barriers.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-nan-payload-double.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-nan-payload-float.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-narrow-alias-float128.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-narrow-alias.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-arch.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-exceptions.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-rounding.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-snan-cast.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-snan-payload.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-snan.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-trap-force.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-tests.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-type-macros-double.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-type-macros-float.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-type-macros-float128.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-type-macros-ldouble.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-type-macros.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math-use-builtins-ceil.h
math-use-builtins-copysign.h
math-use-builtins-fabs.h math: Add math-use-builtins-fabs (BZ#29027) 2022-05-23 17:49:18 -03:00
math-use-builtins-floor.h
math-use-builtins-fma.h
math-use-builtins-fmax.h math: Add math-use-builtinds-fmax.h 2021-12-13 09:08:07 -03:00
math-use-builtins-fmin.h math: Add math-use-builtinds-fmin.h 2021-12-13 10:08:43 -03:00
math-use-builtins-llrint.h Use GCC builtins for llrint functions if desired. 2022-11-29 16:00:28 +08:00
math-use-builtins-logb.h Use GCC builtins for logb functions if desired. 2022-11-29 16:00:28 +08:00
math-use-builtins-lrint.h Use GCC builtins for lrint functions if desired. 2022-11-29 16:00:28 +08:00
math-use-builtins-nearbyint.h
math-use-builtins-rint.h
math-use-builtins-round.h
math-use-builtins-roundeven.h
math-use-builtins-sqrt.h
math-use-builtins-trunc.h
math-use-builtins.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
math_ldbl.h
math_ldbl_opt.h
math_private.h aarch64: Add vector implementations of cos routines 2023-06-30 09:04:10 +01:00
math_private_calls.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memcopy.h Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
memswap.h string: Add internal memswap implementation 2023-10-31 14:17:33 -03:00
mmap_info.h
nan-high-order-bit.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
not-cancel.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
not-errno.h Remove __access_noerrno 2023-11-23 19:01:32 +00:00
nscd-types.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pagecopy.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
paths.h
pointer_guard.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
profil-counter.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pty-private.h Fix typos in comments 2023-02-12 16:34:28 +01:00
rtld-lowlevel.h
rtld_static_init.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
safe-fatal.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
set-freeres-fp.h Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
set-freeres-os.h Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
set-freeres-system.h Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
set-hooks-arch.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
setjmpP.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
setvmaname.h linux: Add PR_SET_VMA_ANON_NAME support 2023-11-07 10:27:20 -03:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
siglist-compat-def.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
siglist.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sigset-cvt-mask.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sigsetops.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
single-thread.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
spawn_int_def.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stackguard-macros.h
stackinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stap-probe-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
startup.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stdio-lock.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
string-fza.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
string-fzb.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
string-fzc.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
string-fzi.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
string-misc.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
string-opthr.h Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
string-optype.h Parameterize op_t from memcopy.h 2023-02-06 16:19:35 -03:00
string-shift.h Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
struct_stat_time64.h
symbol-hacks.h
sysdep-cancel.h
sysdep.h Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
thread_state.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
time-clockid.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
time64-compat.h
tininess.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tls-internal-struct.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tls-internal.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tls-internal.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tls-setup.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tls.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit.h
tst-file-align.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-stack-align.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unsecvars.h elf: Ignore LD_BIND_NOW and LD_BIND_NOT for setuid binaries 2023-12-05 13:21:36 -03:00
unwind-arch.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-dw2-fde-glibc.c Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
unwind-dw2-fde.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-dw2-fde.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-dw2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-link.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-pe.c
unwind-pe.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-resume.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind-resume.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
unwind.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
utmp-equal.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
xstatver.h