Sort BZ # in NEWS
[glibc.git] / elf / tst-rtld-load-self.sh
blobf4c5dea23af9a45b2cb80ee125175a70f1b21006
1 #! /bin/sh
2 # Test how rtld loads itself.
3 # Copyright (C) 2012 Free Software Foundation, Inc.
4 # This file is part of the GNU C Library.
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.
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.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with the GNU C Library; if not, see
19 # <http://www.gnu.org/licenses/>.
21 set -e
23 rtld=$1
24 result=0
26 echo '# normal mode'
27 $rtld $rtld 2>&1 && rc=0 || rc=$?
28 echo "# exit status $rc"
29 test $rc -le 127 || result=1
31 echo '# list mode'
32 $rtld --list $rtld 2>&1 && rc=0 || rc=$?
33 echo "# exit status $rc"
34 test $rc -eq 0 || result=1
36 echo '# verify mode'
37 $rtld --verify $rtld 2>&1 && rc=0 || rc=$?
38 echo "# exit status $rc"
39 test $rc -eq 2 || result=1
41 echo '# trace mode'
42 LD_TRACE_LOADED_OBJECTS=1 $rtld $rtld 2>&1 && rc=0 || rc=$?
43 echo "# exit status $rc"
44 test $rc -eq 0 || result=1
46 exit $result