mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
string: Add strerrorname_np and strerrordesc_np
The strerrorname_np returns error number name (e.g. "EINVAL" for EINVAL) while strerrordesc_np returns string describing error number (e.g "Invalid argument" for EINVAL). Different than strerror, strerrordesc_np does not attempt to translate the return description, both functions return NULL for an invalid error number. They should be used instead of sys_errlist and sys_nerr, both are thread and async-signal safe. These functions are GNU extensions. Checked on x86-64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, and s390x-linux-gnu. Tested-by: Carlos O'Donell <carlos@redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
bfe05aa289
commit
325081b9eb
10
NEWS
10
NEWS
@ -57,6 +57,16 @@ Major new features:
|
||||
They should be used instead of sys_siglist or sys_sigabbrev and they
|
||||
are both thread and async-signal safe. These functions are GNU extensions.
|
||||
|
||||
* The functions strerrorname_np and strerrordesc_np have been added. The
|
||||
strerroname_np returns error number name (e.g. "EINVAL" for EINVAL) while
|
||||
strerrordesc_np returns string describing error number
|
||||
(e.g "Invalid argument" for EINVAL). Different than strerror,
|
||||
strerrordesc_np does not attempt to translate the return description, both
|
||||
functions return NULL for an invalid error number.
|
||||
|
||||
They should be used instead of sys_errlist and sys_nerr, both are
|
||||
thread and async-signal safe. These functions are GNU extensions.
|
||||
|
||||
Deprecated and removed features, and other changes affecting compatibility:
|
||||
|
||||
* The deprecated <sys/sysctl.h> header and the sysctl function have been
|
||||
|
@ -187,6 +187,7 @@ libc_hidden_proto (__libc_readline_unlocked);
|
||||
|
||||
extern const char *const _sys_errlist_internal[] attribute_hidden;
|
||||
extern const char *__get_errlist (int) attribute_hidden;
|
||||
extern const char *__get_errname (int) attribute_hidden;
|
||||
|
||||
libc_hidden_ldbl_proto (__asprintf)
|
||||
|
||||
|
@ -1207,6 +1207,29 @@ to @code{errno}.
|
||||
The function @code{perror} is declared in @file{stdio.h}.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun void strerrorname_np (int @var{errnum})
|
||||
@standards{GNU, string.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
This function returns the name describing the error @var{errnum} or
|
||||
@code{NULL} if there is no known constant with this value (e.g "EINVAL"
|
||||
for @code{EINVAL}).
|
||||
|
||||
@pindex string.h
|
||||
This function is a GNU extension, declared in the header file @file{string.h}.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun void strerrordesc_np (int @var{errnum})
|
||||
@standards{GNU, string.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
This function returns the message describing the error @var{errnum} or
|
||||
@code{NULL} if there is no known constant with this value (e.g "Invalid
|
||||
argument" for @code{EINVAL}). Different than @code{strerror} the returned
|
||||
description is not translated.
|
||||
|
||||
@pindex string.h
|
||||
This function is a GNU extension, declared in the header file @file{string.h}.
|
||||
@end deftypefun
|
||||
|
||||
@code{strerror} and @code{perror} produce the exact same message for any
|
||||
given error code; the precise text varies from system to system. With
|
||||
@theglibc{}, the messages are fairly short; there are no multi-line
|
||||
|
@ -35,4 +35,37 @@ __get_errlist (int errnum)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const union sys_errname_t
|
||||
{
|
||||
struct
|
||||
{
|
||||
#define MSGSTRFIELD1(line) str##line
|
||||
#define MSGSTRFIELD(line) MSGSTRFIELD1(line)
|
||||
#define _S(n, str) char MSGSTRFIELD(__LINE__)[sizeof(str)];
|
||||
#include <errlist.h>
|
||||
#undef _S
|
||||
};
|
||||
char str[0];
|
||||
} _sys_errname = { {
|
||||
#define _S(n, s) s,
|
||||
#include <errlist.h>
|
||||
#undef _S
|
||||
} };
|
||||
|
||||
static const unsigned short _sys_errnameidx[] =
|
||||
{
|
||||
#define _S(n, s) [n] = offsetof(union sys_errname_t, MSGSTRFIELD(__LINE__)),
|
||||
#include <errlist.h>
|
||||
#undef _S
|
||||
};
|
||||
|
||||
const char *
|
||||
__get_errname (int errnum)
|
||||
{
|
||||
if (errnum < 0 || errnum >= array_length (_sys_errnameidx)
|
||||
|| (errnum > 0 && _sys_errnameidx[errnum] == 0))
|
||||
return NULL;
|
||||
return _sys_errname.str + _sys_errnameidx[errnum];
|
||||
}
|
||||
|
||||
#include <errlist-compat.c>
|
||||
|
65
stdio-common/test-strerr.c
Normal file
65
stdio-common/test-strerr.c
Normal file
@ -0,0 +1,65 @@
|
||||
/* Test strerrorname_np and strerrordesc_np.
|
||||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <array_length.h>
|
||||
|
||||
#include <support/support.h>
|
||||
#include <support/check.h>
|
||||
|
||||
#define N_(name) name
|
||||
|
||||
static const char *const errlist[] =
|
||||
{
|
||||
/* This file is auto-generated from errlist.def. */
|
||||
#include <errlist.h>
|
||||
};
|
||||
|
||||
#define MSGSTR_T errname_t
|
||||
#define MSGSTR errname
|
||||
#define MSGIDX errnameidx
|
||||
#include <errlist-name.h>
|
||||
#undef MSGSTR
|
||||
#undef MSGIDX
|
||||
|
||||
static int
|
||||
do_test (void)
|
||||
{
|
||||
TEST_VERIFY (strerrordesc_np (-1) == NULL);
|
||||
TEST_VERIFY (strerrordesc_np (array_length (errlist)) == NULL);
|
||||
for (size_t i = 0; i < array_length (errlist); i++)
|
||||
{
|
||||
if (errlist[i] == NULL)
|
||||
continue;
|
||||
TEST_COMPARE_STRING (strerrordesc_np (i), errlist[i]);
|
||||
}
|
||||
|
||||
TEST_VERIFY (strerrorname_np (-1) == NULL);
|
||||
TEST_VERIFY (strerrorname_np (array_length (errlist)) == NULL);
|
||||
for (size_t i = 0; i < array_length (errlist); i++)
|
||||
{
|
||||
if (errlist[i] == NULL)
|
||||
continue;
|
||||
TEST_COMPARE_STRING (strerrorname_np (i), errname.str + errnameidx[i]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include <support/test-driver.c>
|
@ -45,7 +45,8 @@ routines := strcat strchr strcmp strcoll strcpy strcspn \
|
||||
envz basename \
|
||||
strcoll_l strxfrm_l string-inlines memrchr \
|
||||
xpg-strerror strerror_l explicit_bzero \
|
||||
sigdescr_np sigabbrev_np
|
||||
sigdescr_np sigabbrev_np strerrorname_np \
|
||||
strerrordesc_np
|
||||
|
||||
strop-tests := memchr memcmp memcpy memmove mempcpy memset memccpy \
|
||||
stpcpy stpncpy strcat strchr strcmp strcpy strcspn \
|
||||
|
@ -87,5 +87,6 @@ libc {
|
||||
}
|
||||
GLIBC_2.32 {
|
||||
sigdescr_np; sigabbrev_np;
|
||||
strerrordesc_np; strerrorname_np;
|
||||
}
|
||||
}
|
||||
|
26
string/strerrordesc_np.c
Normal file
26
string/strerrordesc_np.c
Normal file
@ -0,0 +1,26 @@
|
||||
/* Return string describing error number.
|
||||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
const char *
|
||||
__strerrordesc_np (int errnum)
|
||||
{
|
||||
return __get_errlist (errnum);
|
||||
}
|
||||
weak_alias (__strerrordesc_np, strerrordesc_np)
|
25
string/strerrorname_np.c
Normal file
25
string/strerrorname_np.c
Normal file
@ -0,0 +1,25 @@
|
||||
/* Return string describing errno name.
|
||||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
const char *
|
||||
strerrorname_np (int errnum)
|
||||
{
|
||||
return __get_errname (errnum);
|
||||
}
|
@ -428,6 +428,13 @@ extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)
|
||||
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
|
||||
__THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3));
|
||||
# endif
|
||||
|
||||
# ifdef __USE_GNU
|
||||
/* Return a string describing the meaning of tthe error in ERR. */
|
||||
extern const char *strerrordesc_np (int __err) __THROW;
|
||||
/* Return a string with the error name in ERR. */
|
||||
extern const char *strerrorname_np (int __err) __THROW;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_XOPEN2K8
|
||||
|
@ -2186,6 +2186,8 @@ GLIBC_2.32 mach_print F
|
||||
GLIBC_2.32 mremap F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.32 thrd_current F
|
||||
GLIBC_2.32 thrd_equal F
|
||||
GLIBC_2.32 thrd_sleep F
|
||||
|
4
sysdeps/mach/hurd/test-err_np.c
Normal file
4
sysdeps/mach/hurd/test-err_np.c
Normal file
@ -0,0 +1,4 @@
|
||||
#include <mach/error.h>
|
||||
|
||||
#define ERR_MAP(value) err_get_code (value)
|
||||
#include <stdio-common/test-err_np.c>
|
@ -2159,3 +2159,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2241,6 +2241,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -143,6 +143,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _Exit F
|
||||
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
||||
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
||||
|
@ -140,6 +140,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _Exit F
|
||||
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
||||
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
||||
|
@ -2103,3 +2103,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2062,6 +2062,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2228,6 +2228,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2094,6 +2094,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -144,6 +144,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _Exit F
|
||||
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
|
||||
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
|
||||
|
@ -2174,6 +2174,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2154,3 +2154,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2151,3 +2151,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2145,6 +2145,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2143,6 +2143,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2151,6 +2151,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2145,6 +2145,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2192,3 +2192,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2201,6 +2201,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2234,6 +2234,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2064,6 +2064,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2354,3 +2354,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2121,3 +2121,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
@ -2199,6 +2199,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2100,6 +2100,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2069,6 +2069,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2066,6 +2066,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2190,6 +2190,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 _IO_fprintf F
|
||||
GLIBC_2.4 _IO_printf F
|
||||
GLIBC_2.4 _IO_sprintf F
|
||||
|
@ -2117,6 +2117,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2075,6 +2075,8 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
GLIBC_2.4 __confstr_chk F
|
||||
GLIBC_2.4 __fgets_chk F
|
||||
GLIBC_2.4 __fgets_unlocked_chk F
|
||||
|
@ -2172,3 +2172,5 @@ GLIBC_2.32 pthread_getattr_np F
|
||||
GLIBC_2.32 pthread_sigmask F
|
||||
GLIBC_2.32 sigabbrev_np F
|
||||
GLIBC_2.32 sigdescr_np F
|
||||
GLIBC_2.32 strerrordesc_np F
|
||||
GLIBC_2.32 strerrorname_np F
|
||||
|
Loading…
Reference in New Issue
Block a user