diff options
author | 2021-06-03 08:26:04 +0200 | |
---|---|---|
committer | 2021-06-03 09:12:05 +0200 | |
commit | 466c1ea15f461edb8e3ffaf5d86d708876343bbf (patch) | |
tree | 43d42d322ff24bd12c4124a9edafc4e0e4232f0a /dlfcn/dlclose.c | |
parent | dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 (diff) | |
download | glibc-466c1ea15f461edb8e3ffaf5d86d708876343bbf.tar.gz glibc-466c1ea15f461edb8e3ffaf5d86d708876343bbf.tar.bz2 glibc-466c1ea15f461edb8e3ffaf5d86d708876343bbf.zip |
dlfcn: Rework static dlopen hooks
Consolidate all hooks structures into a single one. There are
no static dlopen ABI concerns because glibc 2.34 already comes
with substantial ABI-incompatible changes in this area. (Static
dlopen requires the exact same dynamic glibc version that was used
for static linking.)
The new approach uses a pointer to the hooks structure into
_rtld_global_ro and initalizes it in __rtld_static_init. This avoids
a back-and-forth with various callback functions.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'dlfcn/dlclose.c')
-rw-r--r-- | dlfcn/dlclose.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dlfcn/dlclose.c b/dlfcn/dlclose.c index 4d5d307ab1..6a013a81bb 100644 --- a/dlfcn/dlclose.c +++ b/dlfcn/dlclose.c @@ -25,7 +25,7 @@ __dlclose (void *handle) { #ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dlclose (handle); + return GLRO (dl_dlfcn_hook)->dlclose (handle); #endif return _dlerror_run (GLRO (dl_close), handle) ? -1 : 0; |