dlfcn: Move dlerror into libc

The symbol was moved using scripts/move-symbol-to-libc.py.

There is a minor functionality enhancement: dlerror now sets
errno if it was set as part of the exception.  (This is the result
of using %m in asprintf, to avoid the strerror PLT call.) The
previous errno value upon function return was unpredictable.
Documenting this as a feature is premature; we need to make sure
that the error codes are meaningful when they are set by the dynamic
loader.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Florian Weimer 2021-06-02 07:32:20 +02:00
parent c44838ebf8
commit a23c28ec0d
68 changed files with 104 additions and 66 deletions

View File

@ -21,11 +21,13 @@ include ../Makeconfig
headers := bits/dlfcn.h dlfcn.h
extra-libs := libdl
libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \
libdl-routines := dlopen dlclose dlsym dlvsym dladdr dladdr1 dlinfo \
dlmopen dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
routines += libc_dlerror_result
routines += \
dlerror \
libc_dlerror_result \
extra-libs-others := libdl

View File

@ -1,11 +1,22 @@
libc {
GLIBC_2.0 {
dlerror;
}
GLIBC_2.34 {
dlerror;
}
GLIBC_PRIVATE {
__libc_dlerror_result;
_dlerror_run;
_dlfcn_hook;
}
}
libdl {
GLIBC_2.0 {
dladdr; dlclose; dlerror; dlopen; dlsym;
dladdr;
dlclose;
dlopen;
dlsym;
}
GLIBC_2.1 {
dlopen; dlvsym;
@ -16,7 +27,4 @@ libdl {
GLIBC_2.3.4 {
dlmopen;
}
GLIBC_PRIVATE {
_dlfcn_hook;
}
}

View File

@ -28,16 +28,6 @@
#include <assert.h>
#include <dlerror.h>
#if !defined SHARED && IS_IN (libdl)
char *
dlerror (void)
{
return __dlerror ();
}
#else
char *
__dlerror (void)
{
@ -86,11 +76,15 @@ __dlerror (void)
result->objname[0] == '\0' ? "" : ": ",
_(result->errstring));
else
n = __asprintf (&buf, "%s%s%s: %s",
result->objname,
result->objname[0] == '\0' ? "" : ": ",
_(result->errstring),
strerror (result->errcode));
{
__set_errno (result->errcode);
n = __asprintf (&buf, "%s%s%s: %m",
result->objname,
result->objname[0] == '\0' ? "" : ": ",
_(result->errstring));
/* Set errno again in case asprintf clobbered it. */
__set_errno (result->errcode);
}
/* Mark the error as delivered. */
result->returned = true;
@ -108,9 +102,11 @@ __dlerror (void)
existing string as a fallback. */
return result->errstring;
}
# ifdef SHARED
strong_alias (__dlerror, dlerror)
# endif
versioned_symbol (libc, __dlerror, dlerror, GLIBC_2_34);
#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libdl, __dlerror, dlerror, GLIBC_2_0);
#endif
int
_dlerror_run (void (*operate) (void *), void *args)
@ -200,13 +196,13 @@ _dlerror_run (void (*operate) (void *), void *args)
return 1;
}
}
libc_hidden_def (_dlerror_run)
# ifdef SHARED
#ifdef SHARED
struct dlfcn_hook *_dlfcn_hook __attribute__((nocommon));
libdl_hidden_data_def (_dlfcn_hook)
libc_hidden_data_def (_dlfcn_hook)
# else
#else /* !SHARED */
static struct dlfcn_hook _dlfcn_hooks =
{
@ -230,5 +226,4 @@ __libc_register_dlfcn_hook (struct link_map *map)
if (hook != NULL)
*hook = &_dlfcn_hooks;
}
# endif
#endif
#endif /* !SHARED */

View File

@ -1 +0,0 @@
#include "dlerror.c"

View File

@ -96,8 +96,8 @@ extern void *_dl_vsym (void *handle, const char *name, const char *version,
_dl_catch_error. Returns zero for success, nonzero for failure; and
arranges for `dlerror' to return the error details.
ARGS is passed as argument to OPERATE. */
extern int _dlerror_run (void (*operate) (void *), void *args)
attribute_hidden;
extern int _dlerror_run (void (*operate) (void *), void *args);
libc_hidden_proto (_dlerror_run)
#ifdef SHARED
# define DL_CALLER_DECL /* Nothing */
@ -124,7 +124,7 @@ struct dlfcn_hook
};
extern struct dlfcn_hook *_dlfcn_hook;
libdl_hidden_proto (_dlfcn_hook)
libc_hidden_proto (_dlfcn_hook)
extern void *__dlopen (const char *file, int mode DL_CALLER_DECL)
attribute_hidden;
@ -137,8 +137,6 @@ extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL)
extern void *__dlvsym (void *handle, const char *name, const char *version
DL_CALLER_DECL)
attribute_hidden;
extern char *__dlerror (void)
attribute_hidden;
extern int __dladdr (const void *address, Dl_info *info)
attribute_hidden;
extern int __dladdr1 (const void *address, Dl_info *info,

View File

@ -741,6 +741,7 @@ GLIBC_2.2.6 dirfd F
GLIBC_2.2.6 dirname F
GLIBC_2.2.6 div F
GLIBC_2.2.6 dl_iterate_phdr F
GLIBC_2.2.6 dlerror F
GLIBC_2.2.6 dngettext F
GLIBC_2.2.6 dprintf F
GLIBC_2.2.6 drand48 F
@ -2207,6 +2208,7 @@ GLIBC_2.33 stat64 F
GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 _hurd_libc_proc_init F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
GLIBC_2.4 __confstr_chk F

View File

@ -1,6 +1,5 @@
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

View File

@ -718,6 +718,7 @@ GLIBC_2.17 dirfd F
GLIBC_2.17 dirname F
GLIBC_2.17 div F
GLIBC_2.17 dl_iterate_phdr F
GLIBC_2.17 dlerror F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.17 dladdr F
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F

View File

@ -409,6 +409,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2434,6 +2435,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -663,6 +663,7 @@ GLIBC_2.32 dirfd F
GLIBC_2.32 dirname F
GLIBC_2.32 div F
GLIBC_2.32 dl_iterate_phdr F
GLIBC_2.32 dlerror F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
GLIBC_2.32 drand48 F
@ -2101,6 +2102,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.32 dladdr F
GLIBC_2.32 dladdr1 F
GLIBC_2.32 dlclose F
GLIBC_2.32 dlerror F
GLIBC_2.32 dlinfo F
GLIBC_2.32 dlmopen F
GLIBC_2.32 dlopen F

View File

@ -207,6 +207,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@ -1017,6 +1018,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F

View File

@ -1,7 +1,6 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F

View File

@ -204,6 +204,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@ -1014,6 +1015,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F

View File

@ -1,7 +1,6 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F

View File

@ -699,6 +699,7 @@ GLIBC_2.29 dirfd F
GLIBC_2.29 dirname F
GLIBC_2.29 div F
GLIBC_2.29 dl_iterate_phdr F
GLIBC_2.29 dlerror F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
GLIBC_2.29 drand48 F
@ -2285,6 +2286,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.29 dladdr F
GLIBC_2.29 dladdr1 F
GLIBC_2.29 dlclose F
GLIBC_2.29 dlerror F
GLIBC_2.29 dlinfo F
GLIBC_2.29 dlmopen F
GLIBC_2.29 dlopen F

View File

@ -1,3 +1,4 @@
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@ -2238,6 +2239,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -395,6 +395,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2422,6 +2423,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -1,3 +1,4 @@
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@ -2274,6 +2275,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -208,6 +208,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@ -1006,6 +1007,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F

View File

@ -1,7 +1,6 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F

View File

@ -396,6 +396,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2365,6 +2366,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F
GLIBC_2.18 dirname F
GLIBC_2.18 div F
GLIBC_2.18 dl_iterate_phdr F
GLIBC_2.18 dlerror F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.18 dladdr F
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F

View File

@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F
GLIBC_2.18 dirname F
GLIBC_2.18 div F
GLIBC_2.18 dl_iterate_phdr F
GLIBC_2.18 dlerror F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
@ -2333,6 +2334,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.18 dladdr F
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F

View File

@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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.2 dlopen F

View File

@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2328,6 +2329,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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.2 dlopen F

View File

@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -392,6 +392,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -763,6 +763,7 @@ GLIBC_2.21 dirfd F
GLIBC_2.21 dirname F
GLIBC_2.21 div F
GLIBC_2.21 dl_iterate_phdr F
GLIBC_2.21 dlerror F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
GLIBC_2.21 drand48 F
@ -2375,6 +2376,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.21 dladdr F
GLIBC_2.21 dladdr1 F
GLIBC_2.21 dlclose F
GLIBC_2.21 dlerror F
GLIBC_2.21 dlinfo F
GLIBC_2.21 dlmopen F
GLIBC_2.21 dlopen F

View File

@ -405,6 +405,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2392,6 +2393,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -405,6 +405,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2425,6 +2426,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -758,6 +758,7 @@ GLIBC_2.3 dirfd F
GLIBC_2.3 dirname F
GLIBC_2.3 div F
GLIBC_2.3 dl_iterate_phdr F
GLIBC_2.3 dlerror F
GLIBC_2.3 dngettext F
GLIBC_2.3 dprintf F
GLIBC_2.3 drand48 F
@ -2239,6 +2240,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -806,6 +806,7 @@ GLIBC_2.17 dirfd F
GLIBC_2.17 dirname F
GLIBC_2.17 div F
GLIBC_2.17 dl_iterate_phdr F
GLIBC_2.17 dlerror F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
@ -2538,6 +2539,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.17 dladdr F
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F

View File

@ -656,6 +656,7 @@ GLIBC_2.33 dirfd F
GLIBC_2.33 dirname F
GLIBC_2.33 div F
GLIBC_2.33 dl_iterate_phdr F
GLIBC_2.33 dlerror F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
GLIBC_2.33 drand48 F
@ -2103,6 +2104,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.33 dladdr F
GLIBC_2.33 dladdr1 F
GLIBC_2.33 dlclose F
GLIBC_2.33 dlerror F
GLIBC_2.33 dlinfo F
GLIBC_2.33 dlmopen F
GLIBC_2.33 dlopen F

View File

@ -697,6 +697,7 @@ GLIBC_2.27 dirfd F
GLIBC_2.27 dirname F
GLIBC_2.27 div F
GLIBC_2.27 dl_iterate_phdr F
GLIBC_2.27 dlerror F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
GLIBC_2.27 drand48 F
@ -2303,6 +2304,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.27 dladdr F
GLIBC_2.27 dladdr1 F
GLIBC_2.27 dlclose F
GLIBC_2.27 dlerror F
GLIBC_2.27 dlinfo F
GLIBC_2.27 dlmopen F
GLIBC_2.27 dlopen F

View File

@ -395,6 +395,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2390,6 +2391,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -695,6 +695,7 @@ GLIBC_2.2 difftime F
GLIBC_2.2 dirfd F
GLIBC_2.2 dirname F
GLIBC_2.2 div F
GLIBC_2.2 dlerror F
GLIBC_2.2 dngettext F
GLIBC_2.2 dprintf F
GLIBC_2.2 drand48 F
@ -2276,6 +2277,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@ -2245,6 +2246,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@ -2242,6 +2243,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -397,6 +397,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@ -2383,6 +2384,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@ -2295,6 +2296,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -685,6 +685,7 @@ GLIBC_2.2.5 dirfd F
GLIBC_2.2.5 dirname F
GLIBC_2.2.5 div F
GLIBC_2.2.5 dl_iterate_phdr F
GLIBC_2.2.5 dlerror F
GLIBC_2.2.5 dngettext F
GLIBC_2.2.5 dprintf F
GLIBC_2.2.5 drand48 F
@ -2254,6 +2255,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,6 +1,5 @@
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

View File

@ -722,6 +722,7 @@ GLIBC_2.16 dirfd F
GLIBC_2.16 dirname F
GLIBC_2.16 div F
GLIBC_2.16 dl_iterate_phdr F
GLIBC_2.16 dlerror F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
GLIBC_2.16 drand48 F
@ -2357,6 +2358,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F

View File

@ -1,7 +1,6 @@
GLIBC_2.16 dladdr F
GLIBC_2.16 dladdr1 F
GLIBC_2.16 dlclose F
GLIBC_2.16 dlerror F
GLIBC_2.16 dlinfo F
GLIBC_2.16 dlmopen F
GLIBC_2.16 dlopen F