diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-10-03 18:22:32 (GMT) |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-10-03 18:22:32 (GMT) |
commit | b60d8d3ef2dee991cab7e953c963e46136a92733 (patch) | |
tree | 890313aac2ec02d5552d616d9d294fcffd17228a /tests/big-dynstr.sh | |
parent | df7806f98294c29fa8aa8d71fcf1ef3d728a46d9 (diff) | |
download | patchelf-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-x | tests/big-dynstr.sh | 22 |
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 |