[PATCH v2 0/3] Restore support for _r_debug copy relocations & interposition

Florian Weimer fweimer@redhat.com
Tue Sep 6 10:27:16 GMT 2022


The previous version used an optimization for symbol lookups that is not
valid in the presence of interposition.  This version performs a full
unversioned symbol lookup with scope traversal instead.  This way, an
interposing definition in a shared object is picked up as well.

Tested on i686-linux-gnu, built with build-many-glibcs.py.

Thanks,
Florian

Florian Weimer (3):
  elf: Introduce separate _r_debug_array variable
  elf: Introduce _dl_debug_change_state
  elf: Restore support for _r_debug interpositions and copy relocations

 elf/Makefile               |   9 +++
 elf/dl-close.c             |   6 +-
 elf/dl-debug.c             | 144 ++++++++++++++++++++++++++-----------
 elf/dl-load.c              |   6 +-
 elf/dl-open.c              |   5 +-
 elf/rtld.c                 |   9 +--
 elf/tst-dlmopen4-nonpic.c  |   2 +
 elf/tst-dlmopen4-pic.c     |   2 +
 elf/tst-dlmopen4.c         |  22 ++++++
 sysdeps/generic/ldsodefs.h |  20 ++++--
 10 files changed, 165 insertions(+), 60 deletions(-)
 create mode 100644 elf/tst-dlmopen4-nonpic.c
 create mode 100644 elf/tst-dlmopen4-pic.c


base-commit: dbb75513f5cf9285c77c9e55777c5c35b653f890
-- 
2.37.2



More information about the Libc-alpha mailing list