]>
Commit | Line | Data |
---|---|---|
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 | |
21 | set -e | |
22 | ||
23 | rtld=$1 | |
cc1290d0 JM |
24 | test_wrapper=$2 |
25 | test_wrapper_env=$3 | |
f3fd569c DL |
26 | result=0 |
27 | ||
28 | echo '# normal mode' | |
cc1290d0 | 29 | ${test_wrapper} $rtld $rtld 2>&1 && rc=0 || rc=$? |
f3fd569c DL |
30 | echo "# exit status $rc" |
31 | test $rc -le 127 || result=1 | |
32 | ||
33 | echo '# list mode' | |
cc1290d0 | 34 | ${test_wrapper} $rtld --list $rtld 2>&1 && rc=0 || rc=$? |
f3fd569c DL |
35 | echo "# exit status $rc" |
36 | test $rc -eq 0 || result=1 | |
37 | ||
38 | echo '# verify mode' | |
cc1290d0 | 39 | ${test_wrapper} $rtld --verify $rtld 2>&1 && rc=0 || rc=$? |
f3fd569c DL |
40 | echo "# exit status $rc" |
41 | test $rc -eq 2 || result=1 | |
42 | ||
43 | echo '# trace mode' | |
cc1290d0 JM |
44 | ${test_wrapper_env} LD_TRACE_LOADED_OBJECTS=1 \ |
45 | $rtld $rtld 2>&1 && rc=0 || rc=$? | |
f3fd569c DL |
46 | echo "# exit status $rc" |
47 | test $rc -eq 0 || result=1 | |
48 | ||
49 | exit $result |