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 \
- dlfcn
+libdl-routines := dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
routines += \
dlerror \
dlinfo \
dlmopen \
+ dlopen \
dlsym \
dlvsym \
libc_dlerror_result \
extra-libs-others := libdl
ifeq ($(build-shared),yes)
-libdl-routines += dlopenold
-libdl-shared-only-routines := dlopenold dlfcn
+routines += dlopenold
+shared-only-routines := dlopenold dlfcn
endif
ifeq (yes,$(build-shared))
dladdr;
dlclose;
dlerror;
+ dlopen;
dlsym;
}
GLIBC_2.1 {
+ dlopen;
dlvsym;
}
GLIBC_2.3.3 {
dlerror;
dlinfo;
dlmopen;
+ dlopen;
dlsym;
dlvsym;
}
}
libdl {
GLIBC_2.0 {
- dlopen;
+ __libdl_version_placeholder;
}
GLIBC_2.1 {
- dlopen;
+ __libdl_version_placeholder;
}
GLIBC_2.3.3 {
__libdl_version_placeholder;
{
}
-#if SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) \
- && ABI_libdl_GLIBC_2_3_3 != ABI_libdl_GLIBC_2_1
+#if SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libdl, __libdl_version_placeholder_1,
+ __libdl_version_placeholder, GLIBC_2_0);
+#endif
+
+#if SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libdl, __libdl_version_placeholder_1,
+ __libdl_version_placeholder, GLIBC_2_1);
+#endif
+
+#if SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34)
compat_symbol (libdl, __libdl_version_placeholder_1,
__libdl_version_placeholder, GLIBC_2_3_3);
#endif
-#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) \
- && ABI_libdl_GLIBC_2_3_4 != ABI_libdl_GLIBC_2_1
+#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34)
compat_symbol (libdl, __libdl_version_placeholder_1,
__libdl_version_placeholder, GLIBC_2_3_4);
#endif
#include <stddef.h>
#include <unistd.h>
#include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-void *
-dlopen (const char *file, int mode)
-{
- return __dlopen (file, mode, RETURN_ADDRESS (0));
-}
-static_link_warning (dlopen)
-
-#else
+#include <shlib-compat.h>
struct dlopen_args
{
/* Non-shared code has no support for multiple namespaces. */
-# ifdef SHARED
-# define NS __LM_ID_CALLER
-# else
-# define NS LM_ID_BASE
-# endif
+#ifdef SHARED
+# define NS __LM_ID_CALLER
+#else
+# define NS LM_ID_BASE
+#endif
static void
args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN,
args->caller,
args->file == NULL ? LM_ID_BASE : NS,
- __dlfcn_argc, __dlfcn_argv, __environ);
+ __libc_argc, __libc_argv, __environ);
}
-void *
-__dlopen (const char *file, int mode DL_CALLER_DECL)
+static void *
+dlopen_implementation (const char *file, int mode, void *dl_caller)
{
-# ifdef SHARED
- if (!rtld_active ())
- return _dlfcn_hook->dlopen (file, mode, DL_CALLER);
-# endif
-
struct dlopen_args args;
args.file = file;
args.mode = mode;
- args.caller = DL_CALLER;
+ args.caller = dl_caller;
-# ifdef SHARED
return _dlerror_run (dlopen_doit, &args) ? NULL : args.new;
-# else
- if (_dlerror_run (dlopen_doit, &args))
- return NULL;
+}
- __libc_register_dl_open_hook ((struct link_map *) args.new);
- __libc_register_dlfcn_hook ((struct link_map *) args.new);
+#ifdef SHARED
+void *
+___dlopen (const char *file, int mode)
+{
+ if (!rtld_active ())
+ return _dlfcn_hook->dlopen (file, mode, RETURN_ADDRESS (0));
+ else
+ return dlopen_implementation (file, mode, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlopen, dlopen, GLIBC_2_34);
- return args.new;
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libdl, ___dlopen, dlopen, GLIBC_2_1);
# endif
+#else /* !SHARED */
+/* Also used with _dlfcn_hook. */
+void *
+__dlopen (const char *file, int mode, void *dl_caller)
+{
+ return dlopen_implementation (file, mode, RETURN_ADDRESS (0));
}
-# ifdef SHARED
-# include <shlib-compat.h>
-strong_alias (__dlopen, __dlopen_check)
-versioned_symbol (libdl, __dlopen_check, dlopen, GLIBC_2_1);
-# endif
-#endif
+
+void *
+___dlopen (const char *file, int mode)
+{
+ struct link_map *l = __dlopen (file, mode, RETURN_ADDRESS (0));
+ if (l != NULL)
+ {
+ __libc_register_dl_open_hook (l);
+ __libc_register_dlfcn_hook (l);
+ }
+ return l;
+}
+weak_alias (___dlopen, dlopen)
+static_link_warning (dlopen)
+#endif /* !SHARED */
/* This file is for compatibility with glibc 2.0. Compile it only if
versioning is used. */
#include <shlib-compat.h>
-#if SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_1)
+#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_1)
struct dlopen_args
{
args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN,
args->caller,
args->file == NULL ? LM_ID_BASE : NS,
- __dlfcn_argc, __dlfcn_argv, __environ);
+ __libc_argc, __libc_argv, __environ);
}
extern void *__dlopen_nocheck (const char *file, int mode);
+++ /dev/null
-#include "dlopen.c"
libraries. Internal calls in glibc should use the __libc_dl*
functions defined in elf/dl-libc.c instead. */
-extern void *__dlopen (const char *file, int mode DL_CALLER_DECL)
- attribute_hidden;
+extern void *__dlopen (const char *file, int mode, void *caller);
extern void *__dlmopen (Lmid_t nsid, const char *file, int mode,
void *dl_caller);
extern int __dlclose (void *handle);
GLIBC_2.2.6 dladdr F
GLIBC_2.2.6 dlclose F
GLIBC_2.2.6 dlerror F
+GLIBC_2.2.6 dlopen F
GLIBC_2.2.6 dlsym F
GLIBC_2.2.6 dlvsym F
GLIBC_2.2.6 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.2.6 dlopen F
+GLIBC_2.2.6 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dlerror F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
+GLIBC_2.17 dlopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dlvsym F
GLIBC_2.17 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.17 dlopen F
+GLIBC_2.17 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.32 dlerror F
GLIBC_2.32 dlinfo F
GLIBC_2.32 dlmopen F
+GLIBC_2.32 dlopen F
GLIBC_2.32 dlsym F
GLIBC_2.32 dlvsym F
GLIBC_2.32 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.32 dlopen F
+GLIBC_2.32 __libdl_version_placeholder F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
+GLIBC_2.4 dlopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
-GLIBC_2.4 dlopen F
+GLIBC_2.4 __libdl_version_placeholder F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
+GLIBC_2.4 dlopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
-GLIBC_2.4 dlopen F
+GLIBC_2.4 __libdl_version_placeholder F
GLIBC_2.29 dlerror F
GLIBC_2.29 dlinfo F
GLIBC_2.29 dlmopen F
+GLIBC_2.29 dlopen F
GLIBC_2.29 dlsym F
GLIBC_2.29 dlvsym F
GLIBC_2.29 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.29 dlopen F
+GLIBC_2.29 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
+GLIBC_2.4 dlopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dlvsym F
GLIBC_2.4 dngettext F
-GLIBC_2.4 dlopen F
+GLIBC_2.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.18 dlerror F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
+GLIBC_2.18 dlopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dlvsym F
GLIBC_2.18 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.18 dlopen F
+GLIBC_2.18 __libdl_version_placeholder F
GLIBC_2.18 dlerror F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
+GLIBC_2.18 dlopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dlvsym F
GLIBC_2.18 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.18 dlopen F
+GLIBC_2.18 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.2 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.2 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.2 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.2 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.2 creat64 F
GLIBC_2.2 dcngettext F
GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 ecb_crypt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.21 dlerror F
GLIBC_2.21 dlinfo F
GLIBC_2.21 dlmopen F
+GLIBC_2.21 dlopen F
GLIBC_2.21 dlsym F
GLIBC_2.21 dlvsym F
GLIBC_2.21 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.21 dlopen F
+GLIBC_2.21 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.3 dladdr F
GLIBC_2.3 dlclose F
GLIBC_2.3 dlerror F
+GLIBC_2.3 dlopen F
GLIBC_2.3 dlsym F
GLIBC_2.3 dlvsym F
GLIBC_2.3 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.3 dlopen F
+GLIBC_2.3 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dlerror F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
+GLIBC_2.17 dlopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dlvsym F
GLIBC_2.17 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.17 dlopen F
+GLIBC_2.17 __libdl_version_placeholder F
GLIBC_2.33 dlerror F
GLIBC_2.33 dlinfo F
GLIBC_2.33 dlmopen F
+GLIBC_2.33 dlopen F
GLIBC_2.33 dlsym F
GLIBC_2.33 dlvsym F
GLIBC_2.33 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.33 dlopen F
+GLIBC_2.33 __libdl_version_placeholder F
GLIBC_2.27 dlerror F
GLIBC_2.27 dlinfo F
GLIBC_2.27 dlmopen F
+GLIBC_2.27 dlopen F
GLIBC_2.27 dlsym F
GLIBC_2.27 dlvsym F
GLIBC_2.27 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.27 dlopen F
+GLIBC_2.27 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2 dladdr F
GLIBC_2.2 dlclose F
GLIBC_2.2 dlerror F
+GLIBC_2.2 dlopen F
GLIBC_2.2 dlsym F
GLIBC_2.2 dlvsym F
GLIBC_2.2 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.2 dlopen F
+GLIBC_2.2 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.1 clntunix_create F
GLIBC_2.1 creat64 F
GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.1 ecb_crypt F
GLIBC_2.1 endutxent F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.0 dlopen F
-GLIBC_2.1 dlopen F
+GLIBC_2.0 __libdl_version_placeholder F
+GLIBC_2.1 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.2.5 dladdr F
GLIBC_2.2.5 dlclose F
GLIBC_2.2.5 dlerror F
+GLIBC_2.2.5 dlopen F
GLIBC_2.2.5 dlsym F
GLIBC_2.2.5 dlvsym F
GLIBC_2.2.5 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.2.5 dlopen F
+GLIBC_2.2.5 __libdl_version_placeholder F
GLIBC_2.3.3 __libdl_version_placeholder F
GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.16 dlerror F
GLIBC_2.16 dlinfo F
GLIBC_2.16 dlmopen F
+GLIBC_2.16 dlopen F
GLIBC_2.16 dlsym F
GLIBC_2.16 dlvsym F
GLIBC_2.16 dngettext F
GLIBC_2.34 dlerror F
GLIBC_2.34 dlinfo F
GLIBC_2.34 dlmopen F
+GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
-GLIBC_2.16 dlopen F
+GLIBC_2.16 __libdl_version_placeholder F