summaryrefslogtreecommitdiffstats
path: root/tests/big-dynstr.sh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-10-03 18:22:32 (GMT)
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-10-03 18:22:32 (GMT)
commitb60d8d3ef2dee991cab7e953c963e46136a92733 (patch)
tree890313aac2ec02d5552d616d9d294fcffd17228a /tests/big-dynstr.sh
parentdf7806f98294c29fa8aa8d71fcf1ef3d728a46d9 (diff)
downloadpatchelf-b60d8d3ef2dee991cab7e953c963e46136a92733.zip
patchelf-b60d8d3ef2dee991cab7e953c963e46136a92733.tar.gz
patchelf-b60d8d3ef2dee991cab7e953c963e46136a92733.tar.bz2
* Add a test for programs that crash when .dynstr etc. are moved.
Diffstat (limited to 'tests/big-dynstr.sh')
-rwxr-xr-xtests/big-dynstr.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/big-dynstr.sh b/tests/big-dynstr.sh
new file mode 100755
index 0000000..2674e18
--- /dev/null
+++ b/tests/big-dynstr.sh
@@ -0,0 +1,22 @@
+#! /bin/sh -e
+
+rm -rf scratch
+mkdir -p scratch
+mkdir -p scratch/libsA
+mkdir -p scratch/libsB
+
+cp big-dynstr scratch/
+cp libfoo.so scratch/libsA/
+cp libbar.so scratch/libsB/
+
+oldRPath=$(../src/patchelf --print-rpath scratch/big-dynstr)
+if test -z "$oldRPath"; then oldRPath="/oops"; fi
+../src/patchelf --set-rpath $oldRPath:$(pwd)/scratch/libsA:$(pwd)/scratch/libsB scratch/big-dynstr
+
+exitCode=0
+cd scratch && ./big-dynstr || exitCode=$?
+
+if test "$exitCode" != 46; then
+ echo "bad exit code!"
+ exit 1
+fi