]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix elf/tst-rtld-preload cross-testing.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 24 Jan 2020 17:22:13 +0000 (17:22 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 24 Jan 2020 17:22:13 +0000 (17:22 +0000)
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.

elf/Makefile
elf/tst-rtld-preload.sh

index 0c6bd926a11c35a6bfb3441bc96a4c29d2499145..632a4d8b0f6a30e5be7e9d675a81b6e3fd0fdcad 100644 (file)
@@ -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)
 
index 02fe4a5a06cf5f335c69a8f52d04ebfe7685c1b3..190d35c2eac4fd96797fb2d5da88bb345ad035a1 100755 (executable)
@@ -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"