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 dladdr1 dlinfo \
- dlmopen dlfcn
+ dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
routines += \
dladdr \
dlclose \
dlerror \
+ dlmopen \
dlsym \
libc_dlerror_result \
dlerror;
dlsym;
}
+ GLIBC_2.3.4 {
+ dlmopen;
+ }
GLIBC_2.34 {
dladdr;
dlclose;
dlerror;
+ dlmopen;
dlsym;
}
GLIBC_PRIVATE {
dladdr1; dlinfo;
}
GLIBC_2.3.4 {
- dlmopen;
+ __libdl_version_placeholder;
}
}
<https://www.gnu.org/licenses/>. */
#include <dlfcn.h>
-
+#include <shlib-compat.h>
int __dlfcn_argc attribute_hidden;
char **__dlfcn_argv attribute_hidden;
{
init
};
+
+/* The remainder of this file is used to keep specific symbol versions
+ occupied, so that ld does not generate weak symbol version
+ definitions. */
+
+void
+attribute_compat_text_section
+__attribute_used__
+__libdl_version_placeholder_1 (void)
+{
+}
+
+#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) \
+ && ABI_libdl_GLIBC_2_3_4 != ABI_libdl_GLIBC_2_1
+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 *
-dlmopen (Lmid_t nsid, const char *file, int mode)
-{
- return __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
-}
-static_link_warning (dlmopen)
-
-#else
+#include <shlib-compat.h>
struct dlmopen_args
{
args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN,
args->caller,
- args->nsid, __dlfcn_argc, __dlfcn_argv,
- __environ);
+ args->nsid, __libc_argc, __libc_argv, __environ);
}
-
-void *
-__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
+static void *
+dlmopen_implementation (Lmid_t nsid, const char *file, int mode,
+ void *dl_caller)
{
-# ifdef SHARED
- if (!rtld_active ())
- return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
-# endif
-
struct dlmopen_args args;
args.nsid = nsid;
args.file = file;
args.mode = mode;
- args.caller = DL_CALLER;
+ args.caller = dl_caller;
-# ifdef SHARED
return _dlerror_run (dlmopen_doit, &args) ? NULL : args.new;
-# else
- if (_dlerror_run (dlmopen_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 *
+___dlmopen (Lmid_t nsid, const char *file, int mode)
+{
+ if (!rtld_active ())
+ return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
+ else
+ return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlmopen, dlmopen, GLIBC_2_34);
- return args.new;
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (libdl, ___dlmopen, dlmopen, GLIBC_2_3_4);
# endif
+#else /* !SHARED */
+/* Also used with _dlfcn_hook. */
+void *
+__dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller)
+{
+ return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
}
-# ifdef SHARED
-strong_alias (__dlmopen, dlmopen)
-# endif
-#endif
+
+void *
+___dlmopen (Lmid_t nsid, const char *file, int mode)
+{
+ struct link_map *l = __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
+ if (l != NULL)
+ {
+ __libc_register_dl_open_hook (l);
+ __libc_register_dlfcn_hook (l);
+ }
+ return l;
+}
+weak_alias (___dlmopen, dlmopen)
+static_link_warning (dlmopen)
+#endif /* !SHARED */
+++ /dev/null
-#include "dlmopen.c"
#define __LM_ID_CALLER -2
+/* These variables are defined and initialized in the startup code. */
+extern int __libc_argc attribute_hidden;
+extern char **__libc_argv attribute_hidden;
+
#ifdef SHARED
/* Locally stored program arguments. */
extern int __dlfcn_argc attribute_hidden;
extern char **__dlfcn_argv attribute_hidden;
#else
-/* These variables are defined and initialized in the startup code. */
-extern int __libc_argc attribute_hidden;
-extern char **__libc_argv attribute_hidden;
-
# define __dlfcn_argc __libc_argc
# define __dlfcn_argv __libc_argv
#endif
extern void *__dlopen (const char *file, int mode DL_CALLER_DECL)
attribute_hidden;
-extern void *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
- attribute_hidden;
+extern void *__dlmopen (Lmid_t nsid, const char *file, int mode,
+ 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
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 regexec F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
GLIBC_2.2.6 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dladdr F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
+GLIBC_2.17 dlmopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
-GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
GLIBC_2.17 dlvsym F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.32 dladdr F
GLIBC_2.32 dlclose F
GLIBC_2.32 dlerror F
+GLIBC_2.32 dlmopen F
GLIBC_2.32 dlsym F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.32 dladdr1 F
GLIBC_2.32 dlinfo F
-GLIBC_2.32 dlmopen F
GLIBC_2.32 dlopen F
GLIBC_2.32 dlvsym F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
GLIBC_2.29 dladdr F
GLIBC_2.29 dlclose F
GLIBC_2.29 dlerror F
+GLIBC_2.29 dlmopen F
GLIBC_2.29 dlsym F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.29 dladdr1 F
GLIBC_2.29 dlinfo F
-GLIBC_2.29 dlmopen F
GLIBC_2.29 dlopen F
GLIBC_2.29 dlvsym F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.18 dladdr F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
+GLIBC_2.18 dlmopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
-GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
GLIBC_2.18 dlvsym F
GLIBC_2.18 dladdr F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
+GLIBC_2.18 dlmopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
-GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
GLIBC_2.18 dlvsym F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.21 dladdr F
GLIBC_2.21 dlclose F
GLIBC_2.21 dlerror F
+GLIBC_2.21 dlmopen F
GLIBC_2.21 dlsym F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.21 dladdr1 F
GLIBC_2.21 dlinfo F
-GLIBC_2.21 dlmopen F
GLIBC_2.21 dlopen F
GLIBC_2.21 dlvsym F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.3 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.17 dladdr F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
+GLIBC_2.17 dlmopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
-GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
GLIBC_2.17 dlvsym F
GLIBC_2.33 dladdr F
GLIBC_2.33 dlclose F
GLIBC_2.33 dlerror F
+GLIBC_2.33 dlmopen F
GLIBC_2.33 dlsym F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.33 dladdr1 F
GLIBC_2.33 dlinfo F
-GLIBC_2.33 dlmopen F
GLIBC_2.33 dlopen F
GLIBC_2.33 dlvsym F
GLIBC_2.27 dladdr F
GLIBC_2.27 dlclose F
GLIBC_2.27 dlerror F
+GLIBC_2.27 dlmopen F
GLIBC_2.27 dlsym F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.27 dladdr1 F
GLIBC_2.27 dlinfo F
-GLIBC_2.27 dlmopen F
GLIBC_2.27 dlopen F
GLIBC_2.27 dlvsym F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.2.5 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
GLIBC_2.16 dladdr F
GLIBC_2.16 dlclose F
GLIBC_2.16 dlerror F
+GLIBC_2.16 dlmopen F
GLIBC_2.16 dlsym F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.16 dladdr1 F
GLIBC_2.16 dlinfo F
-GLIBC_2.16 dlmopen F
GLIBC_2.16 dlopen F
GLIBC_2.16 dlvsym F