aboutsummaryrefslogtreecommitdiff
path: root/dlfcn/dladdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'dlfcn/dladdr.c')
-rw-r--r--dlfcn/dladdr.c22
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