From: Carlos O'Donell <carlos@redhat.com>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>,
libc-alpha@sourceware.org
Subject: Re: [PATCH v6] string: Add strerrorname_np and strerrordesc_np
Date: Mon, 6 Jul 2020 11:07:16 -0400 [thread overview]
Message-ID: <c1387b36-5931-b797-c141-3570256b198a@redhat.com> (raw)
In-Reply-To: <20200706135743.1265504-1-adhemerval.zanella@linaro.org>
On 7/6/20 9:57 AM, Adhemerval Zanella wrote:
> The strerrorname_np returns error number name (i.g. "EINVAL" for EINVAL)
> while strerrordesc_np returns string describing error number (i.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.
OK for master if you fix the hurd symbol names in the abi list.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> Tested-by: Carlos O'Donell <carlos@redhat.com>
> ---
> NEWS | 10 +++
> include/stdio.h | 1 +
> manual/errno.texi | 23 +++++++
> stdio-common/errlist.c | 33 ++++++++++
> stdio-common/test-strerr.c | 65 +++++++++++++++++++
> string/Makefile | 3 +-
> string/Versions | 1 +
> string/strerrordesc_np.c | 26 ++++++++
> string/strerrorname_np.c | 25 +++++++
> string/string.h | 7 ++
> sysdeps/mach/hurd/i386/libc.abilist | 2 +
> sysdeps/mach/hurd/test-err_np.c | 4 ++
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/csky/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/i386/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 +
> .../sysv/linux/m68k/coldfire/libc.abilist | 2 +
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 +
> .../sysv/linux/microblaze/be/libc.abilist | 2 +
> .../sysv/linux/microblaze/le/libc.abilist | 2 +
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 +
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 +
> .../sysv/linux/mips/mips64/n32/libc.abilist | 2 +
> .../sysv/linux/mips/mips64/n64/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 +
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 +
> .../powerpc/powerpc32/nofpu/libc.abilist | 2 +
> .../linux/powerpc/powerpc64/be/libc.abilist | 2 +
> .../linux/powerpc/powerpc64/le/libc.abilist | 2 +
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 +
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 +
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 +
> .../sysv/linux/sparc/sparc32/libc.abilist | 2 +
> .../sysv/linux/sparc/sparc64/libc.abilist | 2 +
> .../unix/sysv/linux/x86_64/64/libc.abilist | 2 +
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 +
> 42 files changed, 259 insertions(+), 1 deletion(-)
> create mode 100644 stdio-common/test-strerr.c
> create mode 100644 string/strerrordesc_np.c
> create mode 100644 string/strerrorname_np.c
> create mode 100644 sysdeps/mach/hurd/test-err_np.c
>
> diff --git a/NEWS b/NEWS
> index ee91175567..b63b022267 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -41,6 +41,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 and 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
> diff --git a/include/stdio.h b/include/stdio.h
> index 9e3bf6fe42..bc67d020d4 100644
> --- a/include/stdio.h
> +++ b/include/stdio.h
> @@ -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)
>
> diff --git a/manual/errno.texi b/manual/errno.texi
> index 8cb4ce8b48..1834339220 100644
> --- a/manual/errno.texi
> +++ b/manual/errno.texi
> @@ -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
> diff --git a/stdio-common/errlist.c b/stdio-common/errlist.c
> index df52356066..d15f13a22a 100644
> --- a/stdio-common/errlist.c
> +++ b/stdio-common/errlist.c
> @@ -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>
> diff --git a/stdio-common/test-strerr.c b/stdio-common/test-strerr.c
> new file mode 100644
> index 0000000000..fded208118
> --- /dev/null
> +++ b/stdio-common/test-strerr.c
> @@ -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>
> diff --git a/string/Makefile b/string/Makefile
> index 8fe7e17fe2..f8d3104e16 100644
> --- a/string/Makefile
> +++ b/string/Makefile
> @@ -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 \
> diff --git a/string/Versions b/string/Versions
> index 6f8dd2d372..298ecd401a 100644
> --- a/string/Versions
> +++ b/string/Versions
> @@ -87,5 +87,6 @@ libc {
> }
> GLIBC_2.32 {
> sigdescr_np; sigabbrev_np;
> + strerrordesc_np; strerrorname_np;
> }
> }
> diff --git a/string/strerrordesc_np.c b/string/strerrordesc_np.c
> new file mode 100644
> index 0000000000..cdaf3a7f44
> --- /dev/null
> +++ b/string/strerrordesc_np.c
> @@ -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)
> diff --git a/string/strerrorname_np.c b/string/strerrorname_np.c
> new file mode 100644
> index 0000000000..bc337d20c2
> --- /dev/null
> +++ b/string/strerrorname_np.c
> @@ -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);
> +}
> diff --git a/string/string.h b/string/string.h
> index 0119d7f45d..b0be00c0f7 100644
> --- a/string/string.h
> +++ b/string/string.h
> @@ -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
> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
> index 6e52e9b74a..de41e535ef 100644
> --- a/sysdeps/mach/hurd/i386/libc.abilist
> +++ b/sysdeps/mach/hurd/i386/libc.abilist
> @@ -2181,6 +2181,8 @@ GLIBC_2.3.4 setsourcefilter F
> GLIBC_2.3.4 xdr_quad_t F
> GLIBC_2.3.4 xdr_u_quad_t F
> GLIBC_2.30 twalk_r F
> +GLIBC_2.32 errdescr_np F
> +GLIBC_2.32 errname_np F
As Andreas noted this is wrong.
> GLIBC_2.32 mach_print F
> GLIBC_2.32 mremap F
> GLIBC_2.32 sigabbrev_np F
> diff --git a/sysdeps/mach/hurd/test-err_np.c b/sysdeps/mach/hurd/test-err_np.c
> new file mode 100644
> index 0000000000..3127141128
> --- /dev/null
> +++ b/sysdeps/mach/hurd/test-err_np.c
> @@ -0,0 +1,4 @@
> +#include <mach/error.h>
> +
> +#define ERR_MAP(value) err_get_code (value)
> +#include <stdio-common/test-err_np.c>
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index bb6045d8a6..c7d8ab90c3 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2157,3 +2157,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
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 8e15a58eaf..e93eee7931 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2239,6 +2239,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
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index ce82b840e8..02e75d655a 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -141,6 +141,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
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index c7a436cd42..ad30a662b9 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -138,6 +138,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
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 7f51d47b2f..e5174594a1 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2101,3 +2101,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
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 053cda00a4..8e00ff5e5d 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2060,6 +2060,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
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index f18de50f9e..c84fb17c81 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2226,6 +2226,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
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index a1966cac5a..70dc72391e 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2092,6 +2092,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
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 8f44bc9231..c96f6c98b0 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -142,6 +142,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
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 088f2fa0f2..e880fc83bf 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2172,6 +2172,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
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 34c1c4fdca..dce473c4b1 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2152,3 +2152,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
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 099d51e893..b367f119cb 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2149,3 +2149,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index ea86646c3b..9480b7ebf9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 9adac43e36..c007d170de 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2141,6 +2141,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index c42c093cfb..ee7655936d 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2149,6 +2149,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 605e60a35e..b50be3f570 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 7a57babca5..7c4127baee 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2190,3 +2190,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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index c3745c3733..ac528d2611 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 719512e999..d5279024c8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2232,6 +2232,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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 3f79daa39c..ee312901f6 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -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 _IO_fprintf F
> GLIBC_2.4 _IO_printf F
> GLIBC_2.4 _IO_sprintf F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index af1a2ae8a6..400b8f4e8b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2352,3 +2352,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
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index ff5b64c1dd..03e477bc75 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2119,3 +2119,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
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 576caca63c..a82ce6bfea 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2197,6 +2197,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
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 7201b10288..1b4c4a79b9 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2098,6 +2098,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
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 4f954ac7ee..8e5cd9f9b8 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2067,6 +2067,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
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 9db9ba5cc0..ccff98f7ff 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -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 __confstr_chk F
> GLIBC_2.4 __fgets_chk F
> GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index ecb54db317..9e4b84970b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2188,6 +2188,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
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 74bd6efed8..99b0e1b48b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2115,6 +2115,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
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 50e45a43e8..1fc276173f 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2073,6 +2073,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
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 59b26b097d..f81123e6b4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2170,3 +2170,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
>
--
Cheers,
Carlos.
next prev parent reply other threads:[~2020-07-06 15:07 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-19 13:43 [PATCH v5 01/13] signal: Add signum-{generic,arch}.h Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 02/13] signal: Move sys_siglist to a compat symbol Adhemerval Zanella
2020-07-02 18:32 ` Carlos O'Donell
2020-07-03 17:58 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 03/13] signal: Move sys_errlist " Adhemerval Zanella
2020-07-02 18:48 ` Carlos O'Donell
2020-07-03 19:17 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 04/13] linux: Fix __NSIG_WORDS and add __NSIG_BYTES Adhemerval Zanella
2020-07-02 19:08 ` Carlos O'Donell
2020-07-03 19:23 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 05/13] string: Remove old TLS usage on strsignal Adhemerval Zanella
2020-07-02 19:32 ` Carlos O'Donell
2020-07-03 19:26 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 06/13] string: Implement strerror in terms of strerror_l Adhemerval Zanella
2020-07-02 19:44 ` Carlos O'Donell
2020-07-03 19:53 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 07/13] string: Use tls-internal on strerror_l Adhemerval Zanella
2020-07-02 19:48 ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 08/13] string: Simplify strerror_r Adhemerval Zanella
2020-07-02 19:51 ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 09/13] string: Add strsignal test Adhemerval Zanella
2020-07-02 19:55 ` Carlos O'Donell
2020-07-02 20:01 ` Carlos O'Donell
2020-07-03 20:06 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 10/13] string: Add strerror, strerror_r, and strerror_l test Adhemerval Zanella
2020-07-02 20:02 ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 11/13] string: Add strerror_l on test-strerror-errno Adhemerval Zanella
2020-07-02 20:05 ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 12/13] string: Add sigabbrev_np and sigdescr_np Adhemerval Zanella
2020-07-02 21:13 ` Carlos O'Donell
2020-07-03 20:23 ` Adhemerval Zanella
[not found] ` <VI1PR08MB532546AD22FA628741788C5BFF670@VI1PR08MB5325.eurprd08.prod.outlook.com>
2020-07-08 11:18 ` Tamar Christina
2020-07-08 11:36 ` Florian Weimer
2020-07-08 11:48 ` Tamar Christina
2020-07-08 11:52 ` Florian Weimer
2020-07-08 12:16 ` Tamar Christina
2020-07-08 12:23 ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 13/13] string: Add strerrorname and strerrordesc Adhemerval Zanella
2020-07-02 21:43 ` Carlos O'Donell
2020-07-03 21:01 ` Adhemerval Zanella
2020-07-03 21:19 ` Carlos O'Donell
2020-07-03 22:34 ` Adhemerval Zanella
2020-07-06 12:43 ` Carlos O'Donell
2020-07-06 13:57 ` [PATCH v6] string: Add strerrorname_np and strerrordesc_np Adhemerval Zanella
2020-07-06 14:04 ` Andreas Schwab
2020-07-06 14:06 ` Adhemerval Zanella
2020-07-06 15:07 ` Carlos O'Donell [this message]
2020-07-02 18:26 ` [PATCH v5 01/13] signal: Add signum-{generic,arch}.h Carlos O'Donell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c1387b36-5931-b797-c141-3570256b198a@redhat.com \
--to=carlos@redhat.com \
--cc=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).