]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add missing $(rpath-link) to elf/ld.so --library-path
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 8 Nov 2025 20:47:25 +0000 (21:47 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 8 Nov 2025 20:47:25 +0000 (21:47 +0100)
This is notably needed for GNU/Hurd's libmachuser.so and libhurduser.so.

elf/Makefile
elf/tst-pathopt.sh
scripts/dso-ordering-test.py

index 5a676f858d63a408d08d77a1cffe9aa1c947f6e2..7ed95b72af98ca7b77e2cef01050319a061caea6 100644 (file)
@@ -1913,7 +1913,7 @@ $(objpfx)lateglobal.out: $(objpfx)ltglobmod1.so $(objpfx)ltglobmod2.so
 $(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \
                          $(objpfx)pathoptobj.so
        $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)' \
-                '$(run-program-env)'; \
+                '$(run-program-env)' '$(rpath-link)' ; \
        $(evaluate-test)
 
 $(objpfx)tst-rtld-load-self.out: tst-rtld-load-self.sh $(objpfx)ld.so
index b1539c8ee9fa7584be26566cb603bda9d4dde008..c44cbee0c70c447939faa13b69567e42177e8f78 100755 (executable)
@@ -22,6 +22,8 @@ set -e
 common_objpfx=$1
 test_wrapper_env=$2
 run_program_env=$3
+# Remove the last space to allow concatenate extra paths.
+library_path=$(echo $4)
 
 test -e ${common_objpfx}elf/will-be-empty &&
   rm -fr ${common_objpfx}elf/will-be-empty
@@ -32,7 +34,7 @@ cp ${common_objpfx}elf/pathoptobj.so ${common_objpfx}elf/for-renamed/renamed.so
 
 ${test_wrapper_env} \
 ${run_program_env} \
-LD_LIBRARY_PATH=${common_objpfx}elf/will-be-empty:${common_objpfx}elf/for-renamed:${common_objpfx}.:${common_objpfx}dlfcn \
+LD_LIBRARY_PATH=$library_path:${common_objpfx}elf/will-be-empty:${common_objpfx}elf/for-renamed:${common_objpfx}.:${common_objpfx}dlfcn \
   ${common_objpfx}elf/ld.so ${common_objpfx}elf/tst-pathopt \
     > ${common_objpfx}elf/tst-pathopt.out
 
index d5ae50fd2c4e1c66eff74ffe2eeb55a377aed117..0912550f1dc4d9d9c8d99d209a938b65c84d8e52 100644 (file)
@@ -748,7 +748,7 @@ def process_testcase(t):
                     ("${test_wrapper_env} ${run_program_env} %s\\\n"
                      "${common_objpfx}support/test-run-command \\\n"
                      "${common_objpfx}elf/ld.so \\\n"
-                     "--library-path ${common_objpfx}elf/%s:"
+                     "--library-path $library_path:${common_objpfx}elf/%s:"
                      "${common_objpfx}elf:${common_objpfx}.:"
                      "${common_objpfx}dlfcn \\\n"
                      "${common_objpfx}elf/%s/%s > \\\n"
@@ -1021,6 +1021,8 @@ def process_testcase(t):
     t.sh.write("common_objpfx=$1\n")
     t.sh.write("test_wrapper_env=$2\n")
     t.sh.write("run_program_env=$3\n")
+    # Remove the last space to allow concatenate extra paths.
+    t.sh.write("library_path=$(echo $4)\n")
     t.sh.write("something_failed=false\n")
 
     # Starting part of Makefile fragment
@@ -1050,7 +1052,7 @@ def process_testcase(t):
      % (t.test_name, test_srcdir, t.test_name,
         expected_output_files))
     makefile.write("\t$(SHELL) $< $(common-objpfx) '$(test-wrapper-env)' "
-                    "'$(run-program-env)' > $@; $(evaluate-test)\n")
+                    "'$(run-program-env)' '$(rpath-link)' > $@; $(evaluate-test)\n")
     makefile.write("ifeq ($(run-built-tests),yes)\n")
     if t.xtest:
         makefile.write("xtests-special += $(objpfx)%s.out\n" % (t.test_name))