elf: Ignore loader debug env vars for setuid
[glibc.git] / elf / tst-valgrind-smoke.sh
blobf570145c59af76c6c6045645dafd27c38424794a
1 #!/bin/sh
2 # Valgrind smoke test.
3 # Copyright (C) 2022-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 system_rtld="$2"
24 test_wrapper_env="$3"
25 run_program_env="$4"
26 library_path="$5"
27 test_prog="$6"
29 # Test whether valgrind is available in the test
30 # environment. If not, skip the test.
31 ${test_wrapper_env} ${run_program_env} \
32 /bin/sh -c "command -v valgrind" || exit 77
34 # Test valgrind works with the system ld.so in the test environment
35 /bin/sh -c \
36 "${test_wrapper_env} ${run_program_env} \
37 valgrind -q --error-exitcode=1 \
38 ${system_rtld} /bin/echo ${system_rtld}" || exit 77
40 # Finally the actual test inside the test environment,
41 # using the just build ld.so and new libraries to run
42 # the smoke test under valgrind.
43 /bin/sh -c \
44 "${test_wrapper_env} ${run_program_env} \
45 valgrind -q --error-exitcode=1 \
46 ${rtld} --library-path ${library_path} ${test_prog} ${rtld}"