diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-01-04 18:46:17 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-01-04 18:46:24 +0100 |
commit | 82eef55f8fad3e00c53050de5d6ebea08df488b3 (patch) | |
tree | e0e1ed86b2296703182789d7f5ea607bf066ffe4 /ChangeLog | |
parent | 7abf02f3ee7627d617def77d0d6e7bea2da8d98c (diff) | |
download | glibc-82eef55f8fad3e00c53050de5d6ebea08df488b3.zip glibc-82eef55f8fad3e00c53050de5d6ebea08df488b3.tar.gz glibc-82eef55f8fad3e00c53050de5d6ebea08df488b3.tar.bz2 |
elf: Support dlvsym within libc.so
This commit adds a new _dl_open_hook entry for dlvsym and implements the
function using the existing dl_lookup_symbol_x function supplied by the
dynamic loader.
A new hook variable, _dl_open_hook2, is introduced, which should make
this change suitable for backporting: For old statically linked
binaries, __libc_dlvsym will always return NULL.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -1,3 +1,28 @@ +2018-01-04 Florian Weimer <fweimer@redhat.com> + + Add support for calling dlvsym from libc.so. + * include/dlfcn.h (__libc_dlvsym): Declare. + * elf/Makefile (tests-static-internal): Add + tst-libc_dlvsym-static. + (tests-internal): Add tst-libc_dlvsym. + (modules-names): Add tst-libc_dlvsym-dso. + (tst-libc_dlvsym, tst-libc_dlvsym-static): Link with libdl. + (tst-libc_dlvsym-dso.so): Link with libdl, libsupport. + (tst-libc_dlvsym.out, tst-libc_dlvsym-static.out): The shared + object tst-libc_dlvsym-dso.so needs to be built before running + these tests. + (tst-libc_dlvsym-static-ENV): Set LD_LIBRARY_PATH. + * elf/Versions: Export __libc_dlvsym. + * elf/dl-libc.c (struct do_dlvsym_args): New. + (do_dlvsym, __libc_dlvsym): New functions. + (struct dl_open_hook, _dl_open_hook): Add dlvsym member. + (_dl_open_hook2): New variable. + (__libc_register_dl_open_hook): Set it. + * elf/tst-libc_dlvsym-dso.c: New file. + * elf/tst-libc_dlvsym-static.c: Likewise. + * elf/tst-libc_dlvsym.c: Likewise. + * elf/tst-libc_dlvsym.h: Likewise. + 2018-01-03 Samuel Thibault <samuel.thibault@ens-lyon.org> * support/support_enter_mount_namespace.c [!CLONE_NEWNS]: Do not |