Initialize Tizen 2.3
[external/prelink.git] / testsuite / shuffle3.sh
1 #!/bin/bash
2 . `dirname $0`/functions.sh
3 # Kernels before 2.4.10 are known not to work
4 case "`uname -r`" in
5   [01].*|2.[0-3].*|2.4.[0-9]|2.4.[0-9][^0-9]*) exit 77;;
6 esac
7 rm -f shuffle3 shuffle3lib*.so shuffle3.log shuffle3.lds
8 rm -f prelink.cache
9 $CC -shared -O2 -fpic -o shuffle3lib1.so $srcdir/reloc1lib1.c
10 $CC -shared -O2 -fpic -o shuffle3lib2.so $srcdir/reloc1lib2.c shuffle3lib1.so
11 BINS="shuffle3"
12 LIBS="shuffle3lib1.so shuffle3lib2.so"
13 $CCLINK -o shuffle3 $srcdir/shuffle2.c -Wl,--rpath-link,. shuffle3lib2.so \
14   -Wl,--verbose 2>&1 | sed -e '/^=========/,/^=========/!d;/^=========/d' \
15   -e 's/0x08048000/0x08000000/' > shuffle3.lds
16 $CCLINK -o shuffle3 $srcdir/shuffle2.c -Wl,--rpath-link,. shuffle3lib2.so \
17   -Wl,-T,shuffle3.lds
18 savelibs
19 echo $PRELINK ${PRELINK_OPTS--vm} ./shuffle3 > shuffle3.log
20 $PRELINK ${PRELINK_OPTS--vm} ./shuffle3 >> shuffle3.log 2>&1 || exit 1
21 grep -q ^`echo $PRELINK | sed 's/ .*$/: /'` shuffle3.log && exit 2
22 LD_LIBRARY_PATH=. ./shuffle3 || exit 3
23 readelf -a ./shuffle3 >> shuffle3.log 2>&1 || exit 4
24 # So that it is not prelinked again
25 chmod -x ./shuffle3
26 comparelibs >> shuffle3.log 2>&1 || exit 5