elf: Refactor process_envvars
[glibc.git] / elf / tst-rtld-list-tunables.sh
blob03f1d4c4e5bb38f7e9d5c628946073cc6825ccb3
1 #!/bin/sh
2 # Test for --list-tunables option ld.so.
3 # Copyright (C) 2021-2023 Free Software Foundation, Inc.
4 # This file is part of the GNU C Library.
6 # The GNU C Library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License, or (at your option) any later version.
11 # The GNU C Library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # Lesser General Public License for more details.
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with the GNU C Library; if not, see
18 # <https://www.gnu.org/licenses/>.
20 set -e
22 rtld=$1
23 test_wrapper_env=$2
24 run_program_env=$3
26 LC_ALL=C
27 export LC_ALL
29 # Unset tunables and their aliases.
30 GLIBC_TUNABLES=
31 MALLOC_ARENA_MAX=
32 MALLOC_ARENA_TEST=
33 MALLOC_CHECK_=
34 MALLOC_MMAP_MAX_=
35 MALLOC_MMAP_THRESHOLD_=
36 MALLOC_PERTURB_=
37 MALLOC_TOP_PAD_=
38 MALLOC_TRIM_THRESHOLD_=
40 ${test_wrapper_env} \
41 ${run_program_env} \
42 $rtld --list-tunables \
43 | sort -u \
44 | grep -E "(rtld|malloc)" \
45 | sed -e "s/0xf\+/0x[f]+/"