glibc/sysdeps/unix
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
..
alpha Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
arm Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bsd Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
i386 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
inet Remove obsolete, never-implemented XSI STREAMS declarations 2019-03-14 15:44:15 +01:00
mips Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
powerpc Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sysv/linux elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
x86_64 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
grantpt.c grantpt: Get rid of alloca 2023-06-18 01:08:04 +02:00
ifreq.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Implies
make-syscalls.sh Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
Makefile Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
setxid.h Update. 2004-11-12 01:27:04 +00:00
sockatmark.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
syscall-template.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
syscall.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
syscalls.list misc: Add time64 alias for ioctl 2021-07-21 11:58:09 +02:00
sysdep.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00