Some of the problems that are worked around by gnulib on glibc/Linux systems are not documented. People then wonder why gnulib creates overrides (such as printf.o, glob.o, linkat.o).
This fixes it. I got the info about the problems from the *.m4 files. 2012-04-22 Bruno Haible <br...@clisp.org> doc: Mention reason for replacement on glibc/Linux systems. * doc/posix-functions/dprintf.texi: Mention the problem with special 'long double' values. * doc/posix-functions/fprintf.texi: Likewise. * doc/posix-functions/printf.texi: Likewise. * doc/posix-functions/snprintf.texi: Likewise. * doc/posix-functions/sprintf.texi: Likewise. * doc/posix-functions/vdprintf.texi: Likewise. * doc/posix-functions/vfprintf.texi: Likewise. * doc/posix-functions/vprintf.texi: Likewise. * doc/posix-functions/vsnprintf.texi: Likewise. * doc/posix-functions/vsprintf.texi: Likewise. * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of platforms with F_DUPFD_CLOEXEC problems. * doc/posix-functions/glob.texi: Mention which platforms are affected by the problem with symbolic links. * doc/posix-functions/linkat.texi: Mention the problem with AT_SYMLINK_FOLLOW on Linux. --- doc/posix-functions/dprintf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/dprintf.texi Sun Apr 22 16:21:51 2012 @@ -17,6 +17,10 @@ Portability problems fixed by Gnulib module @code{dprintf-posix}: @itemize @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6. --- doc/posix-functions/fcntl.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/fcntl.texi Sun Apr 22 16:04:48 2012 @@ -15,6 +15,7 @@ @item This function does not support @code{F_DUPFD_CLOEXEC} on some platforms: +glibc with Linux kernels before 2.6.24, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, Interix 3.5, BeOS. --- doc/posix-functions/fprintf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/fprintf.texi Sun Apr 22 16:22:03 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/glob.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/glob.texi Sun Apr 22 16:36:57 2012 @@ -12,8 +12,9 @@ This function is missing on some platforms: IRIX 5.3, mingw, MSVC 9, BeOS. @item -This function may list symbolic links to nonexistent files among the results, -on some platforms. +This function does not list symbolic links to nonexistent files among the results, +on some platforms: +glibc 2.14, AIX 7.1, HP-UX 11, Solaris 11 2011-11. @item On platforms where @code{off_t} is a 32-bit type, this function may not work correctly on huge directories larger than 2 GB. --- doc/posix-functions/linkat.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/linkat.texi Sun Apr 22 16:09:01 2012 @@ -17,6 +17,9 @@ This function fails to reject trailing slashes on non-directories on some platforms: AIX 7.1, Solaris 11 2011-11. +@item +This functions does not support @code{AT_SYMLINK_FOLLOW} on some platforms: +Linux kernel 2.6.17. @end itemize Portability problems not fixed by Gnulib: --- doc/posix-functions/printf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/printf.texi Sun Apr 22 16:21:49 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/snprintf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/snprintf.texi Sun Apr 22 16:22:00 2012 @@ -39,6 +39,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/sprintf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/sprintf.texi Sun Apr 22 16:21:58 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/vdprintf.texi.orig Sun Apr 22 16:37:36 2012 +++ doc/posix-functions/vdprintf.texi Sun Apr 22 16:21:56 2012 @@ -24,6 +24,10 @@ printf of @samp{long double} numbers is unsupported on some platforms: BeOS. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, BeOS. --- doc/posix-functions/vfprintf.texi.orig Sun Apr 22 16:37:37 2012 +++ doc/posix-functions/vfprintf.texi Sun Apr 22 16:21:53 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/vprintf.texi.orig Sun Apr 22 16:37:37 2012 +++ doc/posix-functions/vprintf.texi Sun Apr 22 16:22:12 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/vsnprintf.texi.orig Sun Apr 22 16:37:37 2012 +++ doc/posix-functions/vsnprintf.texi Sun Apr 22 16:22:07 2012 @@ -39,6 +39,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11, --- doc/posix-functions/vsprintf.texi.orig Sun Apr 22 16:37:37 2012 +++ doc/posix-functions/vsprintf.texi Sun Apr 22 16:22:05 2012 @@ -20,6 +20,10 @@ incorrect result on some platforms: AIX 5.2, OSF/1 5.1, Solaris 11 2011-11, mingw, MSVC 9. @item +printf of @samp{long double} numbers outside the IEEE 754 range produces +no meaningful results on some platforms: +glibc and others, on x86, x86_64, IA-64 CPUs. +@item This function does not support the @samp{a} and @samp{A} directives on some platforms: glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,