]> git.ipfire.org Git - thirdparty/glibc.git/blame - elf/tst-rtld-load-self.sh
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / elf / tst-rtld-load-self.sh
CommitLineData
48d0341c 1#!/bin/sh
f3fd569c 2# Test how rtld loads itself.
6d7e8eda 3# Copyright (C) 2012-2023 Free Software Foundation, Inc.
f3fd569c
DL
4# This file is part of the GNU C Library.
5#
6
7# The GNU C Library is free software; you can redistribute it and/or
8# modify it under the terms of the GNU Lesser General Public
9# License as published by the Free Software Foundation; either
10# version 2.1 of the License, or (at your option) any later version.
11
12# The GNU C Library is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15# Lesser General Public License for more details.
16
17# You should have received a copy of the GNU Lesser General Public
18# License along with the GNU C Library; if not, see
5a82c748 19# <https://www.gnu.org/licenses/>.
f3fd569c
DL
20
21set -e
22
23rtld=$1
cc1290d0
JM
24test_wrapper=$2
25test_wrapper_env=$3
f3fd569c
DL
26result=0
27
28echo '# normal mode'
cc1290d0 29${test_wrapper} $rtld $rtld 2>&1 && rc=0 || rc=$?
f3fd569c
DL
30echo "# exit status $rc"
31test $rc -le 127 || result=1
32
33echo '# list mode'
cc1290d0 34${test_wrapper} $rtld --list $rtld 2>&1 && rc=0 || rc=$?
f3fd569c
DL
35echo "# exit status $rc"
36test $rc -eq 0 || result=1
37
38echo '# verify mode'
cc1290d0 39${test_wrapper} $rtld --verify $rtld 2>&1 && rc=0 || rc=$?
f3fd569c
DL
40echo "# exit status $rc"
41test $rc -eq 2 || result=1
42
43echo '# trace mode'
cc1290d0
JM
44${test_wrapper_env} LD_TRACE_LOADED_OBJECTS=1 \
45 $rtld $rtld 2>&1 && rc=0 || rc=$?
f3fd569c
DL
46echo "# exit status $rc"
47test $rc -eq 0 || result=1
48
49exit $result