diff options
author | Florian Weimer <fweimer@redhat.com> | 2022-04-29 17:00:53 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2022-04-29 17:00:53 +0200 |
commit | d056c212130280c0a54d9a4f72170ec621b70ce5 (patch) | |
tree | f7d368b4f45bcb3eba90b5e89e19ba36b1f68fe1 /dlfcn/dlfcn.h | |
parent | 93804a1ee084d4bdc620b2b9f91615c7da0fabe1 (diff) | |
download | glibc-d056c212130280c0a54d9a4f72170ec621b70ce5.zip glibc-d056c212130280c0a54d9a4f72170ec621b70ce5.tar.gz glibc-d056c212130280c0a54d9a4f72170ec621b70ce5.tar.bz2 |
dlfcn: Implement the RTLD_DI_PHDR request type for dlinfo
The information is theoretically available via dl_iterate_phdr as
well, but that approach is very slow if there are many shared
objects.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@rehdat.com>
Diffstat (limited to 'dlfcn/dlfcn.h')
-rw-r--r-- | dlfcn/dlfcn.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dlfcn/dlfcn.h b/dlfcn/dlfcn.h index b5cd5c5..a3af605 100644 --- a/dlfcn/dlfcn.h +++ b/dlfcn/dlfcn.h @@ -164,7 +164,12 @@ enum segment, or if the calling thread has not allocated a block for it. */ RTLD_DI_TLS_DATA = 10, - RTLD_DI_MAX = 10 + /* Treat ARG as const ElfW(Phdr) **, and store the address of the + program header array at that location. The dlinfo call returns + the number of program headers in the array. */ + RTLD_DI_PHDR = 11, + + RTLD_DI_MAX = 11 }; |