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