aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2024-01-10 10:46:03 -0500
committerCarlos O'Donell <carlos@redhat.com>2024-01-10 14:08:26 -0500
commit94aa256a47253d2202240c8696cbe824a969d3cc (patch)
tree59084d6d8754330e7eae67b69b8838e0d07d633f
parenta09b2aacd9a23969aa3d768a22fe491e1ee98cf3 (diff)
downloadglibc-94aa256a47253d2202240c8696cbe824a969d3cc.tar
glibc-94aa256a47253d2202240c8696cbe824a969d3cc.tar.gz
glibc-94aa256a47253d2202240c8696cbe824a969d3cc.tar.bz2
glibc-94aa256a47253d2202240c8696cbe824a969d3cc.zip
elf: Fix tst-nodeps2 test failure.
After 78ca44da0160a0b442f0ca1f253e3360f044b2ec ("elf: Relocate libc.so early during startup and dlmopen (bug 31083)") we start seeing tst-nodeps2 failures when building the testsuite with --enable-hard-coded-path-in-tests. When building the testsuite with --enable-hard-coded-path-in-tests the tst-nodeps2-mod.so is not built with the required DT_RUNPATH values and the test escapes the test framework and loads the system libraries and aborts. The fix is to use the existing $(link-test-modules-rpath-link) variable to set DT_RUNPATH correctly. No regressions on x86_64. Reviewed-by: Florian Weimer <fweimer@redhat.com>
-rw-r--r--elf/Makefile5
1 files changed, 4 insertions, 1 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 600812e573..5d78b659ce 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -3022,6 +3022,8 @@ $(objpfx)tst-env-setuid: $(objpfx)tst-sonamemove-runmod2.so
$(objpfx)tst-env-setuid-static.out: $(objpfx)tst-sonamemove-runmod1.so
# The object tst-nodeps1-mod.so has no explicit dependencies on libc.so.
+# We do not use $(link-test-modules-rpath-link) since the object has no
+# DT_NEEDED.
$(objpfx)tst-nodeps1-mod.so: $(objpfx)tst-nodeps1-mod.os
$(LINK.o) -nostartfiles -nostdlib -shared -o $@ $^
tst-nodeps1.so-no-z-defs = yes
@@ -3032,7 +3034,8 @@ $(objpfx)tst-nodeps1: $(objpfx)tst-nodeps1-mod.so
# with the IFUNC resolver reference.
$(objpfx)tst-nodeps2-mod.so: $(common-objpfx)libc.so \
$(objpfx)tst-nodeps1-mod.so $(objpfx)tst-nodeps2-mod.os
- $(LINK.o) -Wl,--no-as-needed -nostartfiles -nostdlib -shared -o $@ $^
+ $(LINK.o) -Wl,--no-as-needed -nostartfiles -nostdlib -shared -o $@ $^ \
+ $(link-test-modules-rpath-link)
$(objpfx)tst-nodeps2.out: \
$(objpfx)tst-nodeps1-mod.so $(objpfx)tst-nodeps2-mod.so