# HG changeset patch # User Bruno Haible # Date 1311538761 -7200 # Node ID f4cc0c20e892181dba388c856383433e4c72322d # Parent d446838e2a336327f884049454bcf168cb8da622 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. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,57 @@ +2011-07-24 Bruno Haible + + 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 doc: Fix typo. diff --git a/doc/glibc-functions/fallocate.texi b/doc/glibc-functions/fallocate.texi --- a/doc/glibc-functions/fallocate.texi +++ b/doc/glibc-functions/fallocate.texi @@ -13,4 +13,8 @@ @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 diff --git a/doc/glibc-functions/fstatfs.texi b/doc/glibc-functions/fstatfs.texi --- a/doc/glibc-functions/fstatfs.texi +++ b/doc/glibc-functions/fstatfs.texi @@ -13,4 +13,9 @@ @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 diff --git a/doc/glibc-functions/fts_children.texi b/doc/glibc-functions/fts_children.texi --- a/doc/glibc-functions/fts_children.texi +++ b/doc/glibc-functions/fts_children.texi @@ -13,4 +13,11 @@ @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 diff --git a/doc/glibc-functions/fts_read.texi b/doc/glibc-functions/fts_read.texi --- a/doc/glibc-functions/fts_read.texi +++ b/doc/glibc-functions/fts_read.texi @@ -13,4 +13,11 @@ @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 diff --git a/doc/glibc-functions/getdirentries.texi b/doc/glibc-functions/getdirentries.texi --- a/doc/glibc-functions/getdirentries.texi +++ b/doc/glibc-functions/getdirentries.texi @@ -13,4 +13,8 @@ @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 diff --git a/doc/glibc-functions/mkostemp.texi b/doc/glibc-functions/mkostemp.texi --- a/doc/glibc-functions/mkostemp.texi +++ b/doc/glibc-functions/mkostemp.texi @@ -14,6 +14,10 @@ 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 diff --git a/doc/glibc-functions/mkostemps.texi b/doc/glibc-functions/mkostemps.texi --- a/doc/glibc-functions/mkostemps.texi +++ b/doc/glibc-functions/mkostemps.texi @@ -14,6 +14,10 @@ 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 diff --git a/doc/glibc-functions/mkstemps.texi b/doc/glibc-functions/mkstemps.texi --- a/doc/glibc-functions/mkstemps.texi +++ b/doc/glibc-functions/mkstemps.texi @@ -18,6 +18,10 @@ 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 diff --git a/doc/glibc-functions/preadv.texi b/doc/glibc-functions/preadv.texi --- a/doc/glibc-functions/preadv.texi +++ b/doc/glibc-functions/preadv.texi @@ -13,4 +13,8 @@ @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 diff --git a/doc/glibc-functions/pwritev.texi b/doc/glibc-functions/pwritev.texi --- a/doc/glibc-functions/pwritev.texi +++ b/doc/glibc-functions/pwritev.texi @@ -13,4 +13,8 @@ @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 diff --git a/doc/glibc-functions/sendfile.texi b/doc/glibc-functions/sendfile.texi --- a/doc/glibc-functions/sendfile.texi +++ b/doc/glibc-functions/sendfile.texi @@ -13,4 +13,8 @@ @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 diff --git a/doc/glibc-functions/statfs.texi b/doc/glibc-functions/statfs.texi --- a/doc/glibc-functions/statfs.texi +++ b/doc/glibc-functions/statfs.texi @@ -13,4 +13,9 @@ @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 diff --git a/doc/posix-functions/aio_cancel.texi b/doc/posix-functions/aio_cancel.texi --- a/doc/posix-functions/aio_cancel.texi +++ b/doc/posix-functions/aio_cancel.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_error.texi b/doc/posix-functions/aio_error.texi --- a/doc/posix-functions/aio_error.texi +++ b/doc/posix-functions/aio_error.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_fsync.texi b/doc/posix-functions/aio_fsync.texi --- a/doc/posix-functions/aio_fsync.texi +++ b/doc/posix-functions/aio_fsync.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_read.texi b/doc/posix-functions/aio_read.texi --- a/doc/posix-functions/aio_read.texi +++ b/doc/posix-functions/aio_read.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_return.texi b/doc/posix-functions/aio_return.texi --- a/doc/posix-functions/aio_return.texi +++ b/doc/posix-functions/aio_return.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_suspend.texi b/doc/posix-functions/aio_suspend.texi --- a/doc/posix-functions/aio_suspend.texi +++ b/doc/posix-functions/aio_suspend.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/aio_write.texi b/doc/posix-functions/aio_write.texi --- a/doc/posix-functions/aio_write.texi +++ b/doc/posix-functions/aio_write.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/fgetpos.texi b/doc/posix-functions/fgetpos.texi --- a/doc/posix-functions/fgetpos.texi +++ b/doc/posix-functions/fgetpos.texi @@ -17,6 +17,10 @@ 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. diff --git a/doc/posix-functions/fopen.texi b/doc/posix-functions/fopen.texi --- a/doc/posix-functions/fopen.texi +++ b/doc/posix-functions/fopen.texi @@ -28,6 +28,10 @@ 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 diff --git a/doc/posix-functions/freopen.texi b/doc/posix-functions/freopen.texi --- a/doc/posix-functions/freopen.texi +++ b/doc/posix-functions/freopen.texi @@ -24,6 +24,10 @@ 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}, diff --git a/doc/posix-functions/fsetpos.texi b/doc/posix-functions/fsetpos.texi --- a/doc/posix-functions/fsetpos.texi +++ b/doc/posix-functions/fsetpos.texi @@ -12,4 +12,8 @@ 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 diff --git a/doc/posix-functions/fstatvfs.texi b/doc/posix-functions/fstatvfs.texi --- a/doc/posix-functions/fstatvfs.texi +++ b/doc/posix-functions/fstatvfs.texi @@ -15,4 +15,9 @@ @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 diff --git a/doc/posix-functions/ftruncate.texi b/doc/posix-functions/ftruncate.texi --- a/doc/posix-functions/ftruncate.texi +++ b/doc/posix-functions/ftruncate.texi @@ -12,4 +12,8 @@ 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 diff --git a/doc/posix-functions/ftw.texi b/doc/posix-functions/ftw.texi --- a/doc/posix-functions/ftw.texi +++ b/doc/posix-functions/ftw.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/getrlimit.texi b/doc/posix-functions/getrlimit.texi --- a/doc/posix-functions/getrlimit.texi +++ b/doc/posix-functions/getrlimit.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/glob.texi b/doc/posix-functions/glob.texi --- a/doc/posix-functions/glob.texi +++ b/doc/posix-functions/glob.texi @@ -19,5 +19,9 @@ 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 diff --git a/doc/posix-functions/lio_listio.texi b/doc/posix-functions/lio_listio.texi --- a/doc/posix-functions/lio_listio.texi +++ b/doc/posix-functions/lio_listio.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/lockf.texi b/doc/posix-functions/lockf.texi --- a/doc/posix-functions/lockf.texi +++ b/doc/posix-functions/lockf.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/mkstemp.texi b/doc/posix-functions/mkstemp.texi --- a/doc/posix-functions/mkstemp.texi +++ b/doc/posix-functions/mkstemp.texi @@ -27,6 +27,10 @@ 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 diff --git a/doc/posix-functions/mmap.texi b/doc/posix-functions/mmap.texi --- a/doc/posix-functions/mmap.texi +++ b/doc/posix-functions/mmap.texi @@ -16,6 +16,10 @@ 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}. diff --git a/doc/posix-functions/nftw.texi b/doc/posix-functions/nftw.texi --- a/doc/posix-functions/nftw.texi +++ b/doc/posix-functions/nftw.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/openat.texi b/doc/posix-functions/openat.texi --- a/doc/posix-functions/openat.texi +++ b/doc/posix-functions/openat.texi @@ -22,4 +22,8 @@ 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 diff --git a/doc/posix-functions/opendir.texi b/doc/posix-functions/opendir.texi --- a/doc/posix-functions/opendir.texi +++ b/doc/posix-functions/opendir.texi @@ -12,4 +12,9 @@ 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 diff --git a/doc/posix-functions/posix_fadvise.texi b/doc/posix-functions/posix_fadvise.texi --- a/doc/posix-functions/posix_fadvise.texi +++ b/doc/posix-functions/posix_fadvise.texi @@ -16,4 +16,8 @@ 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 diff --git a/doc/posix-functions/posix_fallocate.texi b/doc/posix-functions/posix_fallocate.texi --- a/doc/posix-functions/posix_fallocate.texi +++ b/doc/posix-functions/posix_fallocate.texi @@ -16,4 +16,8 @@ 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 diff --git a/doc/posix-functions/pread.texi b/doc/posix-functions/pread.texi --- a/doc/posix-functions/pread.texi +++ b/doc/posix-functions/pread.texi @@ -22,4 +22,8 @@ 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 diff --git a/doc/posix-functions/pwrite.texi b/doc/posix-functions/pwrite.texi --- a/doc/posix-functions/pwrite.texi +++ b/doc/posix-functions/pwrite.texi @@ -23,4 +23,8 @@ 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 diff --git a/doc/posix-functions/readdir.texi b/doc/posix-functions/readdir.texi --- a/doc/posix-functions/readdir.texi +++ b/doc/posix-functions/readdir.texi @@ -12,4 +12,9 @@ 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 diff --git a/doc/posix-functions/readdir_r.texi b/doc/posix-functions/readdir_r.texi --- a/doc/posix-functions/readdir_r.texi +++ b/doc/posix-functions/readdir_r.texi @@ -18,4 +18,9 @@ @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 diff --git a/doc/posix-functions/rewinddir.texi b/doc/posix-functions/rewinddir.texi --- a/doc/posix-functions/rewinddir.texi +++ b/doc/posix-functions/rewinddir.texi @@ -12,4 +12,8 @@ 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 diff --git a/doc/posix-functions/scandir.texi b/doc/posix-functions/scandir.texi --- a/doc/posix-functions/scandir.texi +++ b/doc/posix-functions/scandir.texi @@ -21,4 +21,9 @@ @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 diff --git a/doc/posix-functions/seekdir.texi b/doc/posix-functions/seekdir.texi --- a/doc/posix-functions/seekdir.texi +++ b/doc/posix-functions/seekdir.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/setrlimit.texi b/doc/posix-functions/setrlimit.texi --- a/doc/posix-functions/setrlimit.texi +++ b/doc/posix-functions/setrlimit.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/statvfs.texi b/doc/posix-functions/statvfs.texi --- a/doc/posix-functions/statvfs.texi +++ b/doc/posix-functions/statvfs.texi @@ -15,6 +15,11 @@ @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 diff --git a/doc/posix-functions/telldir.texi b/doc/posix-functions/telldir.texi --- a/doc/posix-functions/telldir.texi +++ b/doc/posix-functions/telldir.texi @@ -15,4 +15,8 @@ @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 diff --git a/doc/posix-functions/tmpfile.texi b/doc/posix-functions/tmpfile.texi --- a/doc/posix-functions/tmpfile.texi +++ b/doc/posix-functions/tmpfile.texi @@ -15,4 +15,8 @@ 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 diff --git a/doc/posix-functions/truncate.texi b/doc/posix-functions/truncate.texi --- a/doc/posix-functions/truncate.texi +++ b/doc/posix-functions/truncate.texi @@ -15,4 +15,8 @@ @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