Message ID | alpine.DEB.2.21.2001232131090.7536@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
Series | Fix elf/tst-rtld-preload cross-testing | expand |
On 1/23/20 4:33 PM, Joseph Myers wrote: > 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. OK for master with Siddhesh's approval. Reviewed-by: Carlos O'Donell <carlos@redhat.com> > 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)' \ OK. This is correct because $(test-wrapper-env) is $(test-wrapper) with 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 OK. > > -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]" OK. > ${test_wrapper_env} \ OK. This is the point at which the test is run on the target. > ${run_program_env} \ > -${test_wrapper} $rtld --library-path "$library_path" \ > +$rtld --library-path "$library_path" \ OK. > --preload "$preload" $test_program 2>&1 && rc=0 || rc=$? > echo "# exit status $rc" > >
OK for master. Thanks, Siddhesh
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"