Hi Paul, > +2024-07-31 Paul Eggert <egg...@cs.ucla.edu> > + > + errno: make EEXIST != ENOTEMPTY on AIX > + ... > + * tests/test-errno.c (e1, ..., e131): Remove, replacing with ... > + (CHECK_POSIX_ERRNOS, POSITIVE_INTEGER_CONSTANT_EXPRESSION) > + (INDEXED_BY_ERRNO, ERRNO_COUNT): These new macros. > + Check that all errno values are positive integer constant expressions. > + Check that they are all distinct, except perhaps for > + EWOULDBLOCK == EAGAIN and ENOTSUP == EOPNOTSUPP. > + Also check ESOCKTNOSUPPORT, added in POSIX.1-2024. > + Also, check that errno values are distinct except when POSIX says > + they needn’t be distinct, since POSIX.1-2024 gives license to > + GNU/Linux’s non-distinct values.
This patch makes 'test-errno' uncompilable on GNU/Hurd. The object file test-errno.o is 1073745616 bytes large (> 1 GB), and I had to kill the link command that was meant to produce the 'test-errno' program before it caused an out-of-memory on my machine. I think this change needs to be reworked. Did it possibly embody the assumption that errno values are small integers or all near together? Bruno