diff options
Diffstat (limited to 'dlfcn/dladdr.c')
-rw-r--r-- | dlfcn/dladdr.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/dlfcn/dladdr.c b/dlfcn/dladdr.c index 27a6e49cac..3ef1b7f0b6 100644 --- a/dlfcn/dladdr.c +++ b/dlfcn/dladdr.c @@ -18,27 +18,19 @@ #include <dlfcn.h> #include <ldsodefs.h> - -#if !defined SHARED && IS_IN (libdl) - -int -dladdr (const void *address, Dl_info *info) -{ - return __dladdr (address, info); -} - -#else +#include <shlib-compat.h> int __dladdr (const void *address, Dl_info *info) { -# ifdef SHARED +#ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dladdr (address, info); -# endif +#endif return _dl_addr (address, info, NULL, NULL); } -# ifdef SHARED -strong_alias (__dladdr, dladdr) -# endif +versioned_symbol (libc, __dladdr, dladdr, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libdl, __dladdr, dladdr, GLIBC_2_0); #endif |