aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2020-01-24 17:22:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2020-01-24 17:22:13 +0000
commitd01fd5f0ce11575b31bb11824ff86d8ba2117486 (patch)
tree799da687595dcec9eedb86704ddc5701b3cf7de4
parent00167b531da63674d6b9ed686912de86422a5ae5 (diff)
downloadglibc-d01fd5f0ce11575b31bb11824ff86d8ba2117486.tar
glibc-d01fd5f0ce11575b31bb11824ff86d8ba2117486.tar.gz
glibc-d01fd5f0ce11575b31bb11824ff86d8ba2117486.tar.bz2
glibc-d01fd5f0ce11575b31bb11824ff86d8ba2117486.zip
Fix elf/tst-rtld-preload cross-testing.
As noted in <https://sourceware.org/ml/libc-alpha/2019-06/msg00824.html>, elf/tst-rtld-preload fails when cross-testing because it attempts to run the test wrapper with itself. Unfortunately, that thread never resulted in a complete and correct patch for that test. This patch addresses the issues with that test more thoroughly. The test is changed not to use the wrapper twice, including updating the message it prints about the command it runs to be more complete and accurate after the change; the Makefile is changed not to pass the redundant '$(test-wrapper)' argument. Tested for Arm that this fixes the failure seen for that test in cross-testing.
-rw-r--r--elf/Makefile2
-rwxr-xr-xelf/tst-rtld-preload.sh15
2 files changed, 8 insertions, 9 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 0c6bd926a1..632a4d8b0f 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -931,7 +931,7 @@ $(objpfx)tst-rtld-preload.out: tst-rtld-preload.sh $(objpfx)ld.so \
$(objpfx)preloadtest \
$(preloadtest-preloads:%=$(objpfx)%.so)
$(SHELL) $< $(objpfx)ld.so $(objpfx)preloadtest \
- '$(test-wrapper)' '$(test-wrapper-env)' '$(run_program_env)' \
+ '$(test-wrapper-env)' '$(run_program_env)' \
'$(rpath-link)' '$(tst-rtld-preload-OBJS)' > $@; \
$(evaluate-test)
diff --git a/elf/tst-rtld-preload.sh b/elf/tst-rtld-preload.sh
index 02fe4a5a06..190d35c2ea 100755
--- a/elf/tst-rtld-preload.sh
+++ b/elf/tst-rtld-preload.sh
@@ -21,17 +21,16 @@ set -e
rtld=$1
test_program=$2
-test_wrapper=$3
-test_wrapper_env=$4
-run_program_env=$5
-library_path=$6
-preload=$7
+test_wrapper_env=$3
+run_program_env=$4
+library_path=$5
+preload=$6
-echo "# [${test_wrapper}] [$rtld] [--library-path] [$library_path]" \
- "[--preload] [$preload] [$test_program]"
+echo "# [${test_wrapper_env}] [${run_program_env}] [$rtld] [--library-path]" \
+ "[$library_path] [--preload] [$preload] [$test_program]"
${test_wrapper_env} \
${run_program_env} \
-${test_wrapper} $rtld --library-path "$library_path" \
+$rtld --library-path "$library_path" \
--preload "$preload" $test_program 2>&1 && rc=0 || rc=$?
echo "# exit status $rc"