+2023-06-25 Bruno Haible <bruno@clisp.org>
+
+ strerrorname_np: Work around glibc bug on PowerPC, SPARC systems.
+ * m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
+ strerrorname_np (EDEADLOCK).
+ * doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.36
+ still needs a workaround.
+
2023-06-25 Bruno Haible <bruno@clisp.org>
doc: Mention glibc initstate, initstate_r bug.
@item
This function returns wrong values on some platforms:
@c https://sourceware.org/bugzilla/show_bug.cgi?id=26555
-glibc 2.32.
+@c https://sourceware.org/bugzilla/show_bug.cgi?id=29545
+glibc 2.36.
@end itemize
Portability problems not fixed by Gnulib:
-# strerrorname_np.m4 serial 2
+# strerrorname_np.m4 serial 3
dnl Copyright (C) 2020-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl In glibc 2.32, strerrorname_np returns English error descriptions, not
dnl error names.
dnl See <https://sourceware.org/bugzilla/show_bug.cgi?id=26555>.
+ dnl In glibc 2.36, strerrorname_np returns NULL for EDEADLOCK on powerpc and
+ dnl sparc platforms.
+ dnl See <https://sourceware.org/bugzilla/show_bug.cgi?id=29545>.
AC_CACHE_CHECK([whether strerrorname_np works],
[gl_cv_func_strerrorname_np_works],
[AC_RUN_IFELSE(
[[#include <errno.h>
#include <string.h>
]],
- [[return strcmp (strerrorname_np (EINVAL), "EINVAL") != 0;
+ [[return
+ strcmp (strerrorname_np (EINVAL), "EINVAL") != 0
+ #ifdef EDEADLOCK
+ || strerrorname_np (EDEADLOCK) == NULL
+ #endif
+ ;
]])],
[gl_cv_func_strerrorname_np_works=yes],
[gl_cv_func_strerrorname_np_works=no],