[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