about summary refs log tree commit diff
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