mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
elf: Fix tst-nodeps2 test failure.
After 78ca44da01
("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>
This commit is contained in:
parent
a09b2aacd9
commit
94aa256a47
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user