]> git.ipfire.org Git - thirdparty/glibc.git/blame - elf/tst-valgrind-smoke.sh
x86_64: Suppress false positive valgrind error
[thirdparty/glibc.git] / elf / tst-valgrind-smoke.sh
CommitLineData
6c2f050d
AH
1#!/bin/sh
2# Valgrind smoke test.
dff8da6b 3# Copyright (C) 2022-2024 Free Software Foundation, Inc.
6c2f050d
AH
4# This file is part of the GNU C Library.
5
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.
10
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.
15
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/>.
19
20set -e
21
22rtld="$1"
23system_rtld="$2"
24test_wrapper_env="$3"
25run_program_env="$4"
26library_path="$5"
27test_prog="$6"
a1735e0a 28valgrind_suppressions="$7"
6c2f050d
AH
29
30# Test whether valgrind is available in the test
31# environment. If not, skip the test.
32${test_wrapper_env} ${run_program_env} \
33 /bin/sh -c "command -v valgrind" || exit 77
34
35# Test valgrind works with the system ld.so in the test environment
36/bin/sh -c \
37 "${test_wrapper_env} ${run_program_env} \
a1735e0a 38 valgrind -q --error-exitcode=1 ${valgrind_suppressions} \
6c2f050d
AH
39 ${system_rtld} /bin/echo ${system_rtld}" || exit 77
40
41# Finally the actual test inside the test environment,
42# using the just build ld.so and new libraries to run
43# the smoke test under valgrind.
44/bin/sh -c \
45 "${test_wrapper_env} ${run_program_env} \
a1735e0a 46 valgrind -q --error-exitcode=1 ${valgrind_suppressions} \
6c2f050d 47 ${rtld} --library-path ${library_path} ${test_prog} ${rtld}"