diff options
Diffstat (limited to 'testsuite/preload1.sh')
-rwxr-xr-x | testsuite/preload1.sh | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/testsuite/preload1.sh b/testsuite/preload1.sh index a44ea5c..8e1f4d0 100755 --- a/testsuite/preload1.sh +++ b/testsuite/preload1.sh @@ -32,8 +32,8 @@ CCLINK=`echo $CCLINK \ rm -rf preload1.tree rm -f preload1.log mkdir -p preload1.tree/{lib,etc,usr/lib,usr/bin} -$RUN_HOST $CC -shared -O2 -fpic -o preload1.tree/usr/lib/lib1.so $srcdir/preload1lib1.c -$RUN_HOST $CC -shared -O2 -fpic -o preload1.tree/usr/lib/lib2.so $srcdir/preload1lib2.c +$CC -shared -O2 -fpic -o preload1.tree/usr/lib/lib1.so $srcdir/preload1lib1.c +$CC -shared -O2 -fpic -o preload1.tree/usr/lib/lib2.so $srcdir/preload1lib2.c for lib in `cat syslib.list`; do cp -p $lib.orig preload1.tree/lib/$lib cp -p $lib.orig preload1.tree/lib/$lib.orig @@ -41,7 +41,7 @@ done for lib in `cat syslnk.list`; do cp -dp $lib preload1.tree/lib done -$RUN_HOST $CCLINK -o preload1.tree/usr/bin/bin1 $srcdir/preload1.c \ +$CCLINK -o preload1.tree/usr/bin/bin1 $srcdir/preload1.c \ -Wl,--rpath-link,preload1.tree/usr/lib -L preload1.tree/usr/lib -lc -l1 cat > preload1.tree/etc/prelink.conf <<EOF preload1.tree/usr/bin @@ -57,30 +57,26 @@ chmod 644 `ls $BINS | sed 's|$|.orig|'` # than mtimes sleep 3s echo $PRELINK ${PRELINK_OPTS--vm} -avvvvv > preload1.log -$RUN_HOST $PRELINK ${PRELINK_OPTS--vm} -avvvvv > preload1.tree/etc/log1 2>&1 || exit 1 +$PRELINK ${PRELINK_OPTS--vm} -avvvvv > preload1.tree/etc/log1 2>&1 || exit 1 cat preload1.tree/etc/log1 >> preload1.log echo $PRELINK ${PRELINK_OPTS--vm} -aqvvvvv >> preload1.log -$RUN_HOST $PRELINK ${PRELINK_OPTS--vm} -aqvvvvv > preload1.tree/etc/log2 2>&1 || exit 2 +$PRELINK ${PRELINK_OPTS--vm} -aqvvvvv > preload1.tree/etc/log2 2>&1 || exit 2 cat preload1.tree/etc/log2 >> preload1.log -if [ "x$CROSS" = "x" ]; then - # We -expect- a failure here! - $RUN LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 && exit 3 -fi +# We -expect- a failure here! +LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 && exit 3 for f in $LIBS $BINS ; do cp $f $f.orig done echo $PRELINK ${PRELINK_OPTS--vm} --ld-preload=preload1.tree/usr/lib/lib2.so -avvvvv >> preload1.log -$RUN_HOST $PRELINK ${PRELINK_OPTS--vm} --ld-preload=preload1.tree/usr/lib/lib2.so -avvvvv > preload1.tree/etc/log4 2>&1 || exit 4 +$PRELINK ${PRELINK_OPTS--vm} --ld-preload=preload1.tree/usr/lib/lib2.so -avvvvv > preload1.tree/etc/log4 2>&1 || exit 4 cat preload1.tree/etc/log4 >> preload1.log # System libs and lib1.so MIGHT change, but lib2.so and bin1 must change for i in preload1.tree/usr/lib/lib2.so preload1.tree/usr/bin/bin1; do cmp -s $i.orig $i && exit 5 done -if [ "x$CROSS" = "x" ]; then - # Should run, but fail (no preload) - $RUN LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 && exit 6 - # Should run, and exit successfully - $RUN LD_PRELOAD=preload1.tree/usr/lib/lib2.so LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 || exit 7 -fi +# Should run, but fail (no preload) +LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 && exit 6 +# Should run, and exit successfully +LD_PRELOAD=preload1.tree/usr/lib/lib2.so LD_LIBRARY_PATH=preload1.tree/lib:preload1.tree/usr/lib preload1.tree/usr/bin/bin1 || exit 7 chmod 755 $BINS exit 0 |