The symbol was moved using scripts/move-symbol-to-libc.py.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
headers := bits/dlfcn.h dlfcn.h
extra-libs := libdl
-libdl-routines := dlopen dlvsym \
+libdl-routines := dlopen \
dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
dlinfo \
dlmopen \
dlsym \
+ dlvsym \
libc_dlerror_result \
extra-libs-others := libdl
dlerror;
dlsym;
}
+ GLIBC_2.1 {
+ dlvsym;
+ }
GLIBC_2.3.3 {
dladdr1;
dlinfo;
dlinfo;
dlmopen;
dlsym;
+ dlvsym;
}
GLIBC_PRIVATE {
__libc_dlerror_result;
dlopen;
}
GLIBC_2.1 {
- dlopen; dlvsym;
+ dlopen;
}
GLIBC_2.3.3 {
__libdl_version_placeholder;
<https://www.gnu.org/licenses/>. */
#include <dlfcn.h>
-#include <stddef.h>
-
#include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-void *
-weak_function
-dlvsym (void *handle, const char *name, const char *version_str)
-{
- return __dlvsym (handle, name, version_str, RETURN_ADDRESS (0));
-}
-
-#else
+#include <shlib-compat.h>
+#include <stddef.h>
struct dlvsym_args
{
void *sym;
};
-
static void
dlvsym_doit (void *a)
{
- struct dlvsym_args *args = (struct dlvsym_args *)a;
+ struct dlvsym_args *args = (struct dlvsym_args *) a;
args->sym = _dl_vsym (args->handle, args->name, args->version, args->who);
}
-void *
-__dlvsym (void *handle, const char *name, const char *version_str
- DL_CALLER_DECL)
+static void *
+dlvsym_implementation (void *handle, const char *name, const char *version,
+ void *dl_caller)
{
-# ifdef SHARED
- if (!rtld_active ())
- return _dlfcn_hook->dlvsym (handle, name, version_str, DL_CALLER);
-# endif
-
struct dlvsym_args args;
+ args.who = dl_caller;
args.handle = handle;
args.name = name;
- args.who = DL_CALLER;
- args.version = version_str;
+ args.version = version;
/* Protect against concurrent loads and unloads. */
__rtld_lock_lock_recursive (GL(dl_load_lock));
return result;
}
-# ifdef SHARED
-weak_alias (__dlvsym, dlvsym)
+
+#ifdef SHARED
+void *
+___dlvsym (void *handle, const char *name, const char *version)
+{
+ if (!rtld_active ())
+ return _dlfcn_hook->dlvsym (handle, name, version, RETURN_ADDRESS (0));
+ else
+ return dlvsym_implementation (handle, name, version, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlvsym, dlvsym, GLIBC_2_34);
+
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libdl, ___dlvsym, dlvsym, GLIBC_2_1);
# endif
-#endif
+
+#else /* !SHARED */
+/* Also used with _dlfcn_hook. */
+void *
+__dlvsym (void *handle, const char *name, const char *version, void *dl_caller)
+{
+ return dlvsym_implementation (handle, name, version, dl_caller);
+}
+
+void *
+___dlvsym (void *handle, const char *name, const char *version)
+{
+ return __dlvsym (handle, name, version, RETURN_ADDRESS (0));
+}
+weak_alias (___dlvsym, dlvsym)
+#endif /* !SHARED */
+++ /dev/null
-#include "dlvsym.c"
return do_sym (handle, name, who, &vers, 0);
}
-
+libc_hidden_def (_dl_vsym)
void *
_dl_sym (void *handle, const char *name, void *who)
NULL. */
extern void *_dl_vsym (void *handle, const char *name, const char *version,
void *who);
+libc_hidden_proto (_dl_vsym)
/* Helper function for <dlfcn.h> functions. Runs the OPERATE function via
_dl_catch_error. Returns zero for success, nonzero for failure; and
void *dl_caller);
extern int __dlclose (void *handle);
extern void *__dlsym (void *handle, const char *name, void *dl_caller);
-extern void *__dlvsym (void *handle, const char *name, const char *version
- DL_CALLER_DECL)
- attribute_hidden;
+extern void *__dlvsym (void *handle, const char *name, const char *version,
+ void *dl_caller);
extern int __dladdr (const void *address, Dl_info *info);
extern int __dladdr1 (const void *address, Dl_info *info,
void **extra_info, int flags);
GLIBC_2.2.6 dlclose F
GLIBC_2.2.6 dlerror F
GLIBC_2.2.6 dlsym F
+GLIBC_2.2.6 dlvsym F
GLIBC_2.2.6 dngettext F
GLIBC_2.2.6 dprintf F
GLIBC_2.2.6 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
GLIBC_2.4 __confstr_chk F
GLIBC_2.2.6 dlopen F
-GLIBC_2.2.6 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.17 dlopen F
-GLIBC_2.17 dlvsym F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.32 dlinfo F
GLIBC_2.32 dlmopen F
GLIBC_2.32 dlsym F
+GLIBC_2.32 dlvsym F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
GLIBC_2.32 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.32 dlopen F
-GLIBC_2.32 dlvsym F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlvsym F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlvsym F
GLIBC_2.29 dlinfo F
GLIBC_2.29 dlmopen F
GLIBC_2.29 dlsym F
+GLIBC_2.29 dlvsym F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
GLIBC_2.29 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.29 dlopen F
-GLIBC_2.29 dlvsym F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlvsym F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlsym F
+GLIBC_2.18 dlvsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.18 dlopen F
-GLIBC_2.18 dlvsym F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlsym F
+GLIBC_2.18 dlvsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.18 dlopen F
-GLIBC_2.18 dlvsym F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.2 endutxent F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.2 endutxent F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.2 endutxent F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.2 endutxent F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.21 dlinfo F
GLIBC_2.21 dlmopen F
GLIBC_2.21 dlsym F
+GLIBC_2.21 dlvsym F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
GLIBC_2.21 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.21 dlopen F
-GLIBC_2.21 dlvsym F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3 dlclose F
GLIBC_2.3 dlerror F
GLIBC_2.3 dlsym F
+GLIBC_2.3 dlvsym F
GLIBC_2.3 dngettext F
GLIBC_2.3 dprintf F
GLIBC_2.3 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.3 dlopen F
-GLIBC_2.3 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.17 dlopen F
-GLIBC_2.17 dlvsym F
GLIBC_2.33 dlinfo F
GLIBC_2.33 dlmopen F
GLIBC_2.33 dlsym F
+GLIBC_2.33 dlvsym F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
GLIBC_2.33 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.33 dlopen F
-GLIBC_2.33 dlvsym F
GLIBC_2.27 dlinfo F
GLIBC_2.27 dlmopen F
GLIBC_2.27 dlsym F
+GLIBC_2.27 dlvsym F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
GLIBC_2.27 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.27 dlopen F
-GLIBC_2.27 dlvsym F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2 dlclose F
GLIBC_2.2 dlerror F
GLIBC_2.2 dlsym F
+GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 dprintf F
GLIBC_2.2 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.1 fattach F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.0 dlopen F
GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2.5 dlclose F
GLIBC_2.2.5 dlerror F
GLIBC_2.2.5 dlsym F
+GLIBC_2.2.5 dlvsym F
GLIBC_2.2.5 dngettext F
GLIBC_2.2.5 dprintf F
GLIBC_2.2.5 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.2.5 dlopen F
-GLIBC_2.2.5 dlvsym F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.16 dlinfo F
GLIBC_2.16 dlmopen F
GLIBC_2.16 dlsym F
+GLIBC_2.16 dlvsym F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
GLIBC_2.16 drand48 F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
GLIBC_2.16 dlopen F
-GLIBC_2.16 dlvsym F