[PATCH v3 0/3] Properly handle DT_RUNPATH
H.J. Lu
hjl.tools@gmail.com
Wed Dec 8 15:24:58 GMT 2021
DT_RUNPATH is only used to find the immediate dependencies of the
executable or shared object containing the DT_RUNPATH entry:
1. Define link-test-modules-rpath-link if $(build-hardcoded-path-in-tests)
is yes.
2. Use $(link-test-modules-rpath-link) in build-module-helper so that
test modules can dlopen modules with DT_RUNPATH.
3. Add a test to show why link-test-modules-rpath-link is needed.
4. The glibc internal NSS functions should always load NSS modules from
the system. For testing purpose, disable DT_RUNPATH on NSS tests so
that the glibc internal NSS functions can load testing NSS modules
via DT_RPATH.
5. Update glibc LD_AUDIT dlopen call to try the DT_RUNPATH entry of the
executable.
H.J. Lu (3):
Add and use link-test-modules-rpath-link [BZ #28455]
Disable DT_RUNPATH on NSS tests [BZ #28455]
elf: Also try DT_RUNPATH for LD_AUDIT dlopen [BZ #28455]
Makeconfig | 2 ++
Makerules | 1 +
elf/Makefile | 16 ++++++++++++++--
elf/dl-load.c | 15 +++++++++++++++
elf/tst-audit14a.c | 1 +
elf/tst-global2.c | 32 ++++++++++++++++++++++++++++++++
elf/tst-globalmod2.c | 41 +++++++++++++++++++++++++++++++++++++++++
nss/Makefile | 8 ++++++++
8 files changed, 114 insertions(+), 2 deletions(-)
create mode 100644 elf/tst-audit14a.c
create mode 100644 elf/tst-global2.c
create mode 100644 elf/tst-globalmod2.c
--
2.33.1
More information about the Libc-alpha
mailing list