+2011-07-24 Bruno Haible <bruno@clisp.org>
+
+ doc: Mention the effects of AC_SYS_LARGEFILE.
+ * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
+ on this function.
+ * doc/posix-functions/aio_error.texi: Likewise.
+ * doc/posix-functions/aio_fsync.texi: Likewise.
+ * doc/posix-functions/aio_read.texi: Likewise.
+ * doc/posix-functions/aio_return.texi: Likewise.
+ * doc/posix-functions/aio_suspend.texi: Likewise.
+ * doc/posix-functions/aio_write.texi: Likewise.
+ * doc/posix-functions/fgetpos.texi: Likewise.
+ * doc/posix-functions/fopen.texi: Likewise.
+ * doc/posix-functions/freopen.texi: Likewise.
+ * doc/posix-functions/fsetpos.texi: Likewise.
+ * doc/posix-functions/fstatvfs.texi: Likewise.
+ * doc/posix-functions/ftruncate.texi: Likewise.
+ * doc/posix-functions/ftw.texi: Likewise.
+ * doc/posix-functions/getrlimit.texi: Likewise.
+ * doc/posix-functions/glob.texi: Likewise.
+ * doc/posix-functions/lio_listio.texi: Likewise.
+ * doc/posix-functions/lockf.texi: Likewise.
+ * doc/posix-functions/mkstemp.texi: Likewise.
+ * doc/posix-functions/mmap.texi: Likewise.
+ * doc/posix-functions/nftw.texi: Likewise.
+ * doc/posix-functions/openat.texi: Likewise.
+ * doc/posix-functions/opendir.texi: Likewise.
+ * doc/posix-functions/posix_fadvise.texi: Likewise.
+ * doc/posix-functions/posix_fallocate.texi: Likewise.
+ * doc/posix-functions/pread.texi: Likewise.
+ * doc/posix-functions/pwrite.texi: Likewise.
+ * doc/posix-functions/readdir.texi: Likewise.
+ * doc/posix-functions/readdir_r.texi: Likewise.
+ * doc/posix-functions/rewinddir.texi: Likewise.
+ * doc/posix-functions/scandir.texi: Likewise.
+ * doc/posix-functions/seekdir.texi: Likewise.
+ * doc/posix-functions/setrlimit.texi: Likewise.
+ * doc/posix-functions/statvfs.texi: Likewise.
+ * doc/posix-functions/telldir.texi: Likewise.
+ * doc/posix-functions/tmpfile.texi: Likewise.
+ * doc/posix-functions/truncate.texi: Likewise.
+ * doc/glibc-functions/fallocate.texi: Likewise.
+ * doc/glibc-functions/fstatfs.texi: Likewise.
+ * doc/glibc-functions/fts_children.texi: Likewise.
+ * doc/glibc-functions/fts_read.texi: Likewise.
+ * doc/glibc-functions/getdirentries.texi: Likewise.
+ * doc/glibc-functions/mkostemp.texi: Likewise.
+ * doc/glibc-functions/mkostemps.texi: Likewise.
+ * doc/glibc-functions/mkstemps.texi: Likewise.
+ * doc/glibc-functions/preadv.texi: Likewise.
+ * doc/glibc-functions/pwritev.texi: Likewise.
+ * doc/glibc-functions/sendfile.texi: Likewise.
+ * doc/glibc-functions/statfs.texi: Likewise.
+
2011-07-24 Bruno Haible <bruno@clisp.org>
doc: Fix typo.
@item
This function is missing on older glibc versions and all non-glibc platforms:
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, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly across the entire data range of files larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
AIX 5.1, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{f_blocks} in @samp{struct statfs} is a 32-bit
+value, this function may not work correctly on files systems larger than
+4 TiB. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects
+MacOS X.
@end itemize
@item
This function is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+correctly report the size of files or block devices larger than 2 GB and
+may not work correctly on huge directories larger than 2 GB. Also, on
+platforms where @code{ino_t} is a 32-bit type, this function may report
+inode numbers incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE}
+macro (only on MacOS X systems).
@end itemize
@item
This function is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+correctly report the size of files or block devices larger than 2 GB and
+may not work correctly on huge directories larger than 2 GB. Also, on
+platforms where @code{ino_t} is a 32-bit type, this function may report
+inode numbers incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE}
+macro (only on MacOS X systems).
@end itemize
@item
This function is missing on some platforms:
AIX 4.3.2, IRIX 6.5, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS.
+@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. The fix is to use
+the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{mkostemp} may not work
+correctly to create files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
The gnulib module @code{clean-temp} can create temporary files that will not
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{mkostemps} may not work
+correctly to create files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
The gnulib module @code{clean-temp} can create temporary files that will not
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{mkstemps} may not work
+correctly to create files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
The gnulib module @code{clean-temp} can create temporary files that will not
@item
This function is missing on some platforms:
glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
glibc 2.9, MacOS X 10.5, FreeBSD 5.2.1, AIX 5.2, HP-UX 11.31, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
MacOS X 10.4, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, IRIX 6.5, OSF/1 4.0, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
AIX 5.1, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{f_blocks} in @samp{struct statfs} is a 32-bit
+value, this function may not work correctly on files systems larger than
+4 TiB. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects
+MacOS X.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, AIX 5.1, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
on input streams that are opened in @code{O_TEXT} mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
+@item
On platforms where @code{off_t} is a 64-bit type, but @code{fseeko} is
not present, stream operations on files larger than 2 GB silently do
the wrong thing. This affects BSD/OS, which is mostly obsolete.
this means that it translates @code{'\n'} to CR/LF by default. Use the
@code{"b"} flag if you need reliable binary I/O.
@item
+On platforms where @code{off_t} is a 32-bit type, @code{fopen} may not work
+correctly with files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
+@item
On Windows platforms (excluding Cygwin), this function fails to open
directories for reading. Such streams have implementation-defined
semantics on other platforms. To avoid directory streams with a
directory, on some platforms:
HP-UX 11.00, Solaris 9, Irix 5.3.
@item
+On platforms where @code{off_t} is a 32-bit type, @code{freopen} may not work
+correctly with files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
+@item
Applications should not assume that @code{fileno(f)} will be the same
before and after a call to @code{freopen(name,mode,f)}. However, the
module freopen-safer can at least protect @code{stdin}, @code{stdout},
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
MacOS X 10.3, OpenBSD 3.8, mingw.
+@item
+On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit
+value, this function may not work correctly on files systems larger than
+4 TiB. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects
+glibc/Hurd, HP-UX 11, Solaris.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, this function is not
+applicable to arbitrary lengths for files larger than 2 GB. The fix is to
+use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, mingw, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+correctly report the size of files or block devices larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
mingw, BeOS.
+@item
+On platforms where @code{rlim_t} is a 32-bit type, this function does not
+allow to retrieve limits larger than 4 GB, such as for RLIMIT_FSIZE. The
+fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@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. The fix is to use
+the @code{AC_SYS_LARGEFILE} macro.
+@item
Some platforms may store additional flags in the @code{gl_flags} field.
@end itemize
@item
This function is missing on some platforms:
NetBSD 3.0, OpenBSD 3.8, OSF/1 5.1, Solaris 2.4, Cygwin, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
Cygwin 1.5.x, mingw, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly across the entire data range of files larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{mkstemp} may not work
+correctly to create files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
The gnulib module @code{clean-temp} can create temporary files that will not
This function is missing on some platforms:
mingw, BeOS.
@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly across the entire data range of files larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
+@item
To get anonymous memory, on some platforms, you can use the flags
@code{MAP_ANONYMOUS | MAP_PRIVATE} and @code{-1} instead of a file descriptor;
on others you have to use a read-only file descriptor of @file{/dev/zero}.
@item
This function is missing on some platforms:
MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, mingw, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+correctly report the size of files or block devices larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{open} may not work
+correctly with files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@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. Also, on platforms
+where @code{ino_t} is a 32-bit type, this function may report inode numbers
+incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
This function is missing on some platforms:
MacOS X 10.5, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11.23,
IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly across the entire data range of files larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
This function is missing on some platforms:
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 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly across the entire data range of files larger than 2 GB.
+The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, this function may not
+work correctly on files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@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. Also, on platforms
+where @code{ino_t} is a 32-bit type, this function may report inode numbers
+incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
mingw, BeOS.
+@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. Also, on platforms
+where @code{ino_t} is a 32-bit type, this function may report inode numbers
+incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{long int} is a 32-bit type, this function may not
+work correctly on huge directories larger than 2 GB. The fix is to use
+the @code{AC_SYS_LARGEFILE} macro (only on MacOS X systems).
@end itemize
@item
The fourth parameter of this function is declared as @code{int (*) (void *, void *)} on some platforms:
AIX 5.1.
+@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. Also, on platforms
+where @code{ino_t} is a 32-bit type, this function may report inode numbers
+incorrectly. The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
BeOS.
+@item
+On platforms where @code{long int} is a 32-bit type, this function may not
+work correctly on huge directories larger than 2 GB. The fix is to use
+the @code{AC_SYS_LARGEFILE} macro (only on MacOS X systems).
@end itemize
@item
This function is missing on some platforms:
mingw, BeOS.
+@item
+On platforms where @code{rlim_t} is a 32-bit type, this function does not
+allow to set limits larger than 4 GB, such as for RLIMIT_FSIZE. The fix is
+to use the @code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
MacOS X 10.3, OpenBSD 3.8, mingw.
+@item
+On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit
+value, this function may not work correctly on files systems larger than
+4 TiB. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects
+glibc/Hurd, HP-UX 11, Solaris.
@end itemize
Gnulib provides a module @code{fsusage} that provides similar information
@item
This function is missing on some platforms:
BeOS.
+@item
+On platforms where @code{long int} is a 32-bit type, this function may not
+work correctly on huge directories larger than 2 GB. The fix is to use
+the @code{AC_SYS_LARGEFILE} macro (only on MacOS X systems).
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{tmpfile} may not work
+correctly to create files larger than 2 GB. The fix is to use the
+@code{AC_SYS_LARGEFILE} macro.
@end itemize
@item
This function is missing on some platforms:
mingw.
+@item
+On platforms where @code{off_t} is a 32-bit type, this function is not
+applicable to arbitrary lengths for files larger than 2 GB. The fix is to
+use the @code{AC_SYS_LARGEFILE} macro.
@end itemize