Created attachment 14314 [details] testcase From Bruno Haible <bruno@clisp.org>: The function strerrorname_np is supposed to return non-NULL for all defined errno values. https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html On Hurd, for the errnos with names ED_* EKERN_* EMACH_* EMIG_* it returns NULL. How to reproduce: $ gcc -Wall foo.c $ ./a.out Seen on Debian GNU/Hurd, with glibc 2.34.
I guess it's a matter of completing manual/errno.texi with these, help welcome!
Created attachment 14323 [details] test case for Linux/powerpc64le Similarly, on Linux/powerpc64le: for the errno with name EDEADLOCK strerrorname_np returns NULL. How to reproduce: $ gcc -Wall -O foo-ppc.c $ ./a.out strerrorname_np (EDEADLOCK) = (null) Seen on Linux/ppc64le with glibc 2.35.
mips, powerpc and sparc use a separate value for EDEADLOCK, while all other architectures alias it to EDEADLK.
Similarly, on Linux/sparc64: for the errno with name EDEADLOCK strerrorname_np returns NULL. How to reproduce: $ gcc -Wall -O foo-ppc.c $ ./a.out strerrorname_np (EDEADLOCK) = (null) Seen on Linux/sparc64 with glibc 2.36.
Linux missing EDEADLK was already fixed by 3d7d5c10c806ee24f8e35014e41e203002609a3f.
(In reply to Adhemerval Zanella from comment #5) > Linux missing EDEADLK was already fixed by > 3d7d5c10c806ee24f8e35014e41e203002609a3f. Indeed, 3d7d5c10c806ee24f8e35014e41e203002609a3f (most likely) fixed the case of missing EDEADLOCK on Linux. So, the only remaining errnos to be added are for Hurd, the errnos with names ED_* EKERN_* EMACH_* EMIG_* (as in the original description).