+2023-11-21 Bruno Haible <bruno@clisp.org>
+
+ strerrorname_np: Work around glibc bug on HPPA systems.
+ * m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
+ strerrorname_np (ENOSYM).
+ * lib/strerrorname_np.c (strerrorname_np): Update comments.
+ * tests/test-strerrorname_np.c (main): Likewise.
+ * doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.37
+ still needs a workaround.
+
2023-11-17 Bruno Haible <bruno@clisp.org>
realloc-gnu: Fix wrong configure test result with optimizing ibm-clang.
This function returns wrong values on some platforms:
@c https://sourceware.org/bugzilla/show_bug.cgi?id=26555
@c https://sourceware.org/bugzilla/show_bug.cgi?id=29545
-glibc 2.36.
+@c https://sourceware.org/bugzilla/show_bug.cgi?id=31080
+glibc 2.37.
@end itemize
Portability problems not fixed by Gnulib:
#if defined ENOSHARE
case ENOSHARE: return "ENOSHARE";
#endif
- /* HP-UX, OSF/1 */
+ /* Linux, HP-UX, OSF/1 */
#if defined ENOSYM
case ENOSYM: return "ENOSYM";
#endif
#if defined EREMOTEIO
case EREMOTEIO: return "EREMOTEIO";
#endif
- /* HP-UX */
+ /* Linux, HP-UX */
#if defined EREMOTERELEASE
case EREMOTERELEASE: return "EREMOTERELEASE";
#endif
-# strerrorname_np.m4 serial 3
+# strerrorname_np.m4 serial 3.1
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.36, strerrorname_np returns NULL for EDEADLOCK on powerpc and
dnl sparc platforms.
dnl See <https://sourceware.org/bugzilla/show_bug.cgi?id=29545>.
+ dnl In glibc 2.37, strerrorname_np returns NULL for ENOSYM and
+ dnl EREMOTERELEASE on hppa platforms.
+ dnl See <https://sourceware.org/bugzilla/show_bug.cgi?id=31080>.
AC_CACHE_CHECK([whether strerrorname_np works],
[gl_cv_func_strerrorname_np_works],
[AC_RUN_IFELSE(
#ifdef EDEADLOCK
|| strerrorname_np (EDEADLOCK) == NULL
#endif
+ #ifdef ENOSYM
+ || strerrorname_np (ENOSYM) == NULL
+ #endif
;
]])],
[gl_cv_func_strerrorname_np_works=yes],
#if defined ENOSHARE
ASSERT (strcmp (strerrorname_np (ENOSHARE), "ENOSHARE") == 0);
#endif
- /* HP-UX, OSF/1 */
+ /* Linux, HP-UX, OSF/1 */
#if defined ENOSYM
ASSERT (strcmp (strerrorname_np (ENOSYM), "ENOSYM") == 0);
#endif
#if defined EREMOTEIO
ASSERT (strcmp (strerrorname_np (EREMOTEIO), "EREMOTEIO") == 0);
#endif
- /* HP-UX */
+ /* Linux, HP-UX */
#if defined EREMOTERELEASE
ASSERT (strcmp (strerrorname_np (EREMOTERELEASE), "EREMOTERELEASE") == 0);
#endif