POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html
Portability problems fixed by Gnulib:
EOVERFLOW is not defined
on some platforms:
OpenBSD 4.0, mingw, MSVC 9.
ENOLINK is not defined
on some platforms:
OpenBSD 7.5, mingw, MSVC 9.
EMULTIHOP is not defined
on some platforms:
OpenBSD 7.5, mingw, MSVC 14.
ECANCELED is not defined on some platforms:
OpenBSD 4.0, Cygwin, mingw, MSVC 9.
ENOMSG, EIDRM, EPROTO, EBADMSG,
ENOTSUP are not defined on some platforms:
OpenBSD 4.0, mingw, MSVC 9.
ESTALE is not defined on some platforms:
mingw, MSVC 14.
EDQUOT is not defined on some platforms:
NonStop Kernel, mingw, MSVC 14.
ENETRESET, ECONNABORTED are not defined on some
platforms:
Minix 3.1.8, mingw, MSVC 9.
EWOULDBLOCK, ETXTBSY, ELOOP, ENOTSOCK,
EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT,
EPROTONOSUPPORT, EOPNOTSUPP, EAFNOSUPPORT,
EADDRINUSE, EADDRNOTAVAIL, ENETDOWN, ENETUNREACH,
ECONNRESET, ENOBUFS, EISCONN, ENOTCONN,
ETIMEDOUT, ECONNREFUSED, EHOSTUNREACH, EALREADY,
EINPROGRESS are not defined on some platforms:
mingw, MSVC 9.
EOWNERDEAD, ENOTRECOVERABLE are not defined on
some platforms:
glibc/Linux 2.3.6, glibc/Hurd 2.15, glibc/kFreeBSD 2.15,
Mac OS X 10.5, FreeBSD 6.0, NetBSD 9.3, OpenBSD 6.0, Minix 3.1.8, AIX 5.1, HP-UX 11, Cygwin, mingw without pthreads-win32, MSVC 9.
ESOCKTNOSUPPORT is not defined on some platforms:
Haiku.
EILSEQ is not defined on some platforms:
LynxOS 178 2.2.2.
EEXIST and ENOTEMPTY have the same value on
some platforms:
AIX 7.3.
Portability problems not fixed by Gnulib:
INT_MIN through INT_MIN + 0xffff,
instead of being positive as POSIX requires:
Haiku.