This is notably needed for GNU/Hurd's libmachuser.so and libhurduser.so.
---
 iconv/Makefile               | 4 ++--
 iconv/tst-iconv_prog.sh      | 4 +++-
 iconv/tst-iconvconfig.sh     | 4 +++-
 iconvdata/Makefile           | 2 +-
 iconvdata/run-iconv-test.sh  | 4 +++-
 locale/Makefile              | 3 ++-
 locale/tst-locale-locpath.sh | 4 +++-
 7 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/iconv/Makefile b/iconv/Makefile
index 672126d452..97a3f586e4 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -141,7 +141,7 @@ $(objpfx)test-iconvconfig.out: $(objpfx)iconvconfig
 
 $(objpfx)tst-iconv_prog.out: tst-iconv_prog.sh $(objpfx)iconv_prog
        $(BASH) $< $(common-objdir) '$(test-wrapper-env)' \
-                '$(run-program-env)' > $@; \
+                '$(run-program-env)' '$(rpath-link)' > $@; \
        $(evaluate-test)
 
 $(objpfx)tst-translit-mchar.out: tst-translit-mchar.sh \
@@ -168,5 +168,5 @@ $(objpfx)tst-iconv_prog-buffer-large.out: \
 
 $(objpfx)tst-iconvconfig.out: tst-iconvconfig.sh $(objpfx)iconvconfig
        $(BASH) $< $(common-objdir) '$(test-wrapper-env)' \
-               '$(run-program-env)' > $@; \
+               '$(run-program-env)' '$(rpath-link)' > $@; \
     $(evaluate-test)
diff --git a/iconv/tst-iconv_prog.sh b/iconv/tst-iconv_prog.sh
index e2a43280d2..ac0060e7f5 100644
--- a/iconv/tst-iconv_prog.sh
+++ b/iconv/tst-iconv_prog.sh
@@ -21,13 +21,15 @@
 codir=$1
 test_wrapper_env="$2"
 run_program_env="$3"
+# Remove the last space to allow concatenate extra paths.
+library_path="$(echo $4)"
 
 # We have to have some directories in the library path.
 LIBPATH=$codir:$codir/iconvdata
 
 # How the start the iconv(1) program.  $from is not defined/expanded yet.
 ICONV='
-$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so
+$codir/elf/ld.so --library-path $library_path:$LIBPATH --inhibit-rpath 
${from}.so
 $codir/iconv/iconv_prog
 '
 ICONV="$test_wrapper_env $run_program_env $ICONV"
diff --git a/iconv/tst-iconvconfig.sh b/iconv/tst-iconvconfig.sh
index 0b16b17f0d..93c653e83a 100755
--- a/iconv/tst-iconvconfig.sh
+++ b/iconv/tst-iconvconfig.sh
@@ -22,12 +22,14 @@ set -e
 build_dir=$1
 test_wrapper_env="$2"
 run_program_env="$3"
+# Remove the last space to allow concatenate extra paths.
+library_path="$(echo $4)"
 
 # We have to have some directories in the library path.
 LIBPATH=$build_dir:$build_dir/iconvdata
 
 ICONVCONFIG="
-$build_dir/elf/ld.so --library-path $LIBPATH $build_dir/iconv/iconvconfig
+$build_dir/elf/ld.so --library-path $library_path:$LIBPATH 
$build_dir/iconv/iconvconfig
 "
 
 ICONVCONFIG="$test_wrapper_env $run_program_env $ICONVCONFIG"
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 5a2abeea24..a09ff12ead 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -340,7 +340,7 @@ $(objpfx)iconv-test.out: run-iconv-test.sh \
                         $(common-objdir)/iconv/iconv_prog TESTS
        iconv_modules="$(modules)" \
        $(SHELL) $< $(common-objdir) '$(test-wrapper-env)' \
-                '$(run-program-env)' > $@; \
+                '$(run-program-env)' '$(rpath-link)' > $@; \
        $(evaluate-test)
 
 $(objpfx)tst-tables.out: tst-tables.sh \
diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh
index a6c3acc44d..063885a7f9 100755
--- a/iconvdata/run-iconv-test.sh
+++ b/iconvdata/run-iconv-test.sh
@@ -22,6 +22,8 @@ set -e
 codir=$1
 test_wrapper_env="$2"
 run_program_env="$3"
+# Remove the last space to allow concatenate extra paths.
+library_path="$(echo $4)"
 
 # We use always the same temporary file.
 temp1=$codir/iconvdata/iconv-test.xxx
@@ -33,7 +35,7 @@ trap "rm -f $temp1 $temp2" 1 2 3 15
 LIBPATH=$codir:$codir/iconvdata
 
 # How the start the iconv(1) program.
-ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \
+ICONV='$codir/elf/ld.so --library-path $library_path:$LIBPATH --inhibit-rpath 
${from}.so \
        $codir/iconv/iconv_prog'
 ICONV="$test_wrapper_env $run_program_env $ICONV"
 
diff --git a/locale/Makefile b/locale/Makefile
index 9d9c1a7691..66b9a16e25 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -180,7 +180,8 @@ lib := locale-programs
 include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
 
 $(objpfx)tst-locale-locpath.out : tst-locale-locpath.sh $(objpfx)locale
-       $(SHELL) $< '$(common-objpfx)' '$(test-wrapper-env)' 
'$(run-program-env)' > $@; \
+       $(SHELL) $< '$(common-objpfx)' '$(test-wrapper-env)' \
+               '$(run-program-env)' '$(rpath-link)' > $@; \
        $(evaluate-test)
 
 $(objpfx)tst-localedef-path-norm: $(shared-thread-library)
diff --git a/locale/tst-locale-locpath.sh b/locale/tst-locale-locpath.sh
index 5c5b7610ad..bc07f4d194 100644
--- a/locale/tst-locale-locpath.sh
+++ b/locale/tst-locale-locpath.sh
@@ -22,6 +22,8 @@ set -ex
 common_objpfx=$1
 test_wrapper_env=$2
 run_program_env=$3
+# Remove the last space to allow concatenate extra paths.
+library_path="$(echo $4)"
 
 LIBPATH="$common_objpfx"
 
@@ -36,7 +38,7 @@ mkdir -p $testroot
 
 ${test_wrapper_env} \
 ${run_program_env} LANG= LC_ALL=invalid-locale LOCPATH=does-not-exist \
-${common_objpfx}elf/ld.so --library-path "$LIBPATH" \
+${common_objpfx}elf/ld.so --library-path "$library_path:$LIBPATH" \
   "${common_objpfx}locale/locale" \
   > "$testroot/stdout" 2> "$testroot/stderr"
 
-- 
2.51.0


Reply via email to