From bac964725a412c590498aba68f6b9a8e723ae474 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 24 Jul 2011 22:19:21 +0200 Subject: [PATCH] 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. --- ChangeLog | 54 ++++++++++++++++++++++++++++++++ doc/glibc-functions/fallocate.texi | 4 +++ doc/glibc-functions/fstatfs.texi | 5 +++ doc/glibc-functions/fts_children.texi | 7 +++++ doc/glibc-functions/fts_read.texi | 7 +++++ doc/glibc-functions/getdirentries.texi | 4 +++ doc/glibc-functions/mkostemp.texi | 4 +++ doc/glibc-functions/mkostemps.texi | 4 +++ doc/glibc-functions/mkstemps.texi | 4 +++ doc/glibc-functions/preadv.texi | 4 +++ doc/glibc-functions/pwritev.texi | 4 +++ doc/glibc-functions/sendfile.texi | 4 +++ doc/glibc-functions/statfs.texi | 5 +++ doc/posix-functions/aio_cancel.texi | 4 +++ doc/posix-functions/aio_error.texi | 4 +++ doc/posix-functions/aio_fsync.texi | 4 +++ doc/posix-functions/aio_read.texi | 4 +++ doc/posix-functions/aio_return.texi | 4 +++ doc/posix-functions/aio_suspend.texi | 4 +++ doc/posix-functions/aio_write.texi | 4 +++ doc/posix-functions/fgetpos.texi | 4 +++ doc/posix-functions/fopen.texi | 4 +++ doc/posix-functions/freopen.texi | 4 +++ doc/posix-functions/fsetpos.texi | 4 +++ doc/posix-functions/fstatvfs.texi | 5 +++ doc/posix-functions/ftruncate.texi | 4 +++ doc/posix-functions/ftw.texi | 4 +++ doc/posix-functions/getrlimit.texi | 4 +++ doc/posix-functions/glob.texi | 4 +++ doc/posix-functions/lio_listio.texi | 4 +++ doc/posix-functions/lockf.texi | 4 +++ doc/posix-functions/mkstemp.texi | 4 +++ doc/posix-functions/mmap.texi | 4 +++ doc/posix-functions/nftw.texi | 4 +++ doc/posix-functions/openat.texi | 4 +++ doc/posix-functions/opendir.texi | 5 +++ doc/posix-functions/posix_fadvise.texi | 4 +++ doc/posix-functions/posix_fallocate.texi | 4 +++ doc/posix-functions/pread.texi | 4 +++ doc/posix-functions/pwrite.texi | 4 +++ doc/posix-functions/readdir.texi | 5 +++ doc/posix-functions/readdir_r.texi | 5 +++ doc/posix-functions/rewinddir.texi | 4 +++ doc/posix-functions/scandir.texi | 5 +++ doc/posix-functions/seekdir.texi | 4 +++ doc/posix-functions/setrlimit.texi | 4 +++ doc/posix-functions/statvfs.texi | 5 +++ doc/posix-functions/telldir.texi | 4 +++ doc/posix-functions/tmpfile.texi | 4 +++ doc/posix-functions/truncate.texi | 4 +++ 50 files changed, 264 insertions(+) diff --git a/ChangeLog b/ChangeLog index ddfa08904..2d8964ff1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,59 @@ 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. * doc/posix-functions/fstat.texi: Talk about fstat, not stat. diff --git a/doc/glibc-functions/fallocate.texi b/doc/glibc-functions/fallocate.texi index c8a3fb339..8141571aa 100644 --- a/doc/glibc-functions/fallocate.texi +++ b/doc/glibc-functions/fallocate.texi @@ -13,4 +13,8 @@ Portability problems not fixed by Gnulib: @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 index 6c4c50d2c..080d1af87 100644 --- a/doc/glibc-functions/fstatfs.texi +++ b/doc/glibc-functions/fstatfs.texi @@ -13,4 +13,9 @@ Portability problems not fixed by Gnulib: @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 index 5acca48a5..64bbe824d 100644 --- a/doc/glibc-functions/fts_children.texi +++ b/doc/glibc-functions/fts_children.texi @@ -13,4 +13,11 @@ Portability problems not fixed by Gnulib: @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 index 24a91c431..363f051ab 100644 --- a/doc/glibc-functions/fts_read.texi +++ b/doc/glibc-functions/fts_read.texi @@ -13,4 +13,11 @@ Portability problems not fixed by Gnulib: @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 index b89335ed8..f45f65030 100644 --- a/doc/glibc-functions/getdirentries.texi +++ b/doc/glibc-functions/getdirentries.texi @@ -13,4 +13,8 @@ Portability problems not fixed by Gnulib: @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 index 44e3ab313..f9635ed55 100644 --- a/doc/glibc-functions/mkostemp.texi +++ b/doc/glibc-functions/mkostemp.texi @@ -14,6 +14,10 @@ IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.5, mingw, Interix 3.5, BeOS. 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 index 033d462c7..07e5e18a9 100644 --- a/doc/glibc-functions/mkostemps.texi +++ b/doc/glibc-functions/mkostemps.texi @@ -14,6 +14,10 @@ glibc 2.10, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 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 index 845d5dcf3..5cd0b3bce 100644 --- a/doc/glibc-functions/mkstemps.texi +++ b/doc/glibc-functions/mkstemps.texi @@ -18,6 +18,10 @@ MacOS X 10.5. 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 index d23b58c8e..7dc226b3b 100644 --- a/doc/glibc-functions/preadv.texi +++ b/doc/glibc-functions/preadv.texi @@ -13,4 +13,8 @@ Portability problems not fixed by Gnulib: @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 index e08fe3fac..f69acb879 100644 --- a/doc/glibc-functions/pwritev.texi +++ b/doc/glibc-functions/pwritev.texi @@ -13,4 +13,8 @@ Portability problems not fixed by Gnulib: @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 index 756f6bd9f..3870f1682 100644 --- a/doc/glibc-functions/sendfile.texi +++ b/doc/glibc-functions/sendfile.texi @@ -13,4 +13,8 @@ Portability problems not fixed by Gnulib: @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 index b2182b10b..8fcee6567 100644 --- a/doc/glibc-functions/statfs.texi +++ b/doc/glibc-functions/statfs.texi @@ -13,4 +13,9 @@ Portability problems not fixed by Gnulib: @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 index 44f2687ff..86e89a438 100644 --- a/doc/posix-functions/aio_cancel.texi +++ b/doc/posix-functions/aio_cancel.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 43de4fc21..971f4c0af 100644 --- a/doc/posix-functions/aio_error.texi +++ b/doc/posix-functions/aio_error.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index a77a264b7..38d6f6888 100644 --- a/doc/posix-functions/aio_fsync.texi +++ b/doc/posix-functions/aio_fsync.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index e2a99d2b6..b216df759 100644 --- a/doc/posix-functions/aio_read.texi +++ b/doc/posix-functions/aio_read.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 9dff96824..15d3214f8 100644 --- a/doc/posix-functions/aio_return.texi +++ b/doc/posix-functions/aio_return.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 57e049959..f40a12454 100644 --- a/doc/posix-functions/aio_suspend.texi +++ b/doc/posix-functions/aio_suspend.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 57a8eed07..9f1337c65 100644 --- a/doc/posix-functions/aio_write.texi +++ b/doc/posix-functions/aio_write.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index ecdc0cd83..52ffc1288 100644 --- a/doc/posix-functions/fgetpos.texi +++ b/doc/posix-functions/fgetpos.texi @@ -17,6 +17,10 @@ Portability problems not fixed by Gnulib: 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 index 3affa3981..77f671d36 100644 --- a/doc/posix-functions/fopen.texi +++ b/doc/posix-functions/fopen.texi @@ -28,6 +28,10 @@ On Windows, this function returns a file stream in ``text'' mode by default; 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 index b33b5aeac..23595e003 100644 --- a/doc/posix-functions/freopen.texi +++ b/doc/posix-functions/freopen.texi @@ -24,6 +24,10 @@ and (without the slash) names a nonexistent file or a file that is not 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}, diff --git a/doc/posix-functions/fsetpos.texi b/doc/posix-functions/fsetpos.texi index 8cf598d4e..547f866a2 100644 --- a/doc/posix-functions/fsetpos.texi +++ b/doc/posix-functions/fsetpos.texi @@ -12,4 +12,8 @@ Portability problems fixed by Gnulib: 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 index 87831e97f..a17c816af 100644 --- a/doc/posix-functions/fstatvfs.texi +++ b/doc/posix-functions/fstatvfs.texi @@ -15,4 +15,9 @@ Portability problems not fixed by Gnulib: @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 index ebd8f27eb..60d31882b 100644 --- a/doc/posix-functions/ftruncate.texi +++ b/doc/posix-functions/ftruncate.texi @@ -12,4 +12,8 @@ Portability problems fixed by Gnulib: 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 index 1ec247284..cc84ec57a 100644 --- a/doc/posix-functions/ftw.texi +++ b/doc/posix-functions/ftw.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 5cc925195..61377a1c3 100644 --- a/doc/posix-functions/getrlimit.texi +++ b/doc/posix-functions/getrlimit.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 96ae5ff4d..1f236bf0c 100644 --- a/doc/posix-functions/glob.texi +++ b/doc/posix-functions/glob.texi @@ -19,5 +19,9 @@ on some platforms. 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 index 35b75ff61..b3c06eba2 100644 --- a/doc/posix-functions/lio_listio.texi +++ b/doc/posix-functions/lio_listio.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 329dc8d73..a68a62385 100644 --- a/doc/posix-functions/lockf.texi +++ b/doc/posix-functions/lockf.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index ebe8c50c8..b31bd07bc 100644 --- a/doc/posix-functions/mkstemp.texi +++ b/doc/posix-functions/mkstemp.texi @@ -27,6 +27,10 @@ writable or readable file, if you haven't set the process umask to 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 index 4343e3f5e..8e3e5f330 100644 --- a/doc/posix-functions/mmap.texi +++ b/doc/posix-functions/mmap.texi @@ -16,6 +16,10 @@ Portability problems not fixed by Gnulib: 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 index bd915b016..a4bfaf6f0 100644 --- a/doc/posix-functions/nftw.texi +++ b/doc/posix-functions/nftw.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 4f494b2df..631151541 100644 --- a/doc/posix-functions/openat.texi +++ b/doc/posix-functions/openat.texi @@ -22,4 +22,8 @@ Solaris 9. 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 index b86734341..e004987ef 100644 --- a/doc/posix-functions/opendir.texi +++ b/doc/posix-functions/opendir.texi @@ -12,4 +12,9 @@ Portability problems fixed by Gnulib: 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 index b84971845..277b1223a 100644 --- a/doc/posix-functions/posix_fadvise.texi +++ b/doc/posix-functions/posix_fadvise.texi @@ -16,4 +16,8 @@ Portability problems not fixed by Gnulib: 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 index 372a61945..03ccd54e2 100644 --- a/doc/posix-functions/posix_fallocate.texi +++ b/doc/posix-functions/posix_fallocate.texi @@ -16,4 +16,8 @@ Portability problems not fixed by Gnulib: 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 index 0a4fc7c1c..b86e8a412 100644 --- a/doc/posix-functions/pread.texi +++ b/doc/posix-functions/pread.texi @@ -22,4 +22,8 @@ HP-UX 11.31. 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 index 599c7d2a9..713e07e4d 100644 --- a/doc/posix-functions/pwrite.texi +++ b/doc/posix-functions/pwrite.texi @@ -23,4 +23,8 @@ HP-UX 11.11. 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 index 8b5331c75..8bed94f18 100644 --- a/doc/posix-functions/readdir.texi +++ b/doc/posix-functions/readdir.texi @@ -12,4 +12,9 @@ Portability problems fixed by Gnulib: 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 index 7cebe2799..5bcdc1473 100644 --- a/doc/posix-functions/readdir_r.texi +++ b/doc/posix-functions/readdir_r.texi @@ -18,4 +18,9 @@ Portability problems not fixed by Gnulib: @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 index 67dd28687..4492d4f38 100644 --- a/doc/posix-functions/rewinddir.texi +++ b/doc/posix-functions/rewinddir.texi @@ -12,4 +12,8 @@ Portability problems fixed by Gnulib: 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 index 2065c6eea..6a7f29428 100644 --- a/doc/posix-functions/scandir.texi +++ b/doc/posix-functions/scandir.texi @@ -21,4 +21,9 @@ glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Interix 3.5. @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 index b5a9ebecc..d1e8eebba 100644 --- a/doc/posix-functions/seekdir.texi +++ b/doc/posix-functions/seekdir.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index bc223aa41..a3abf0e7c 100644 --- a/doc/posix-functions/setrlimit.texi +++ b/doc/posix-functions/setrlimit.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 59a7f6504..d0133555b 100644 --- a/doc/posix-functions/statvfs.texi +++ b/doc/posix-functions/statvfs.texi @@ -15,6 +15,11 @@ Portability problems not fixed by Gnulib: @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 index 60942183c..88b19080b 100644 --- a/doc/posix-functions/telldir.texi +++ b/doc/posix-functions/telldir.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 index 7ce07781c..186683603 100644 --- a/doc/posix-functions/tmpfile.texi +++ b/doc/posix-functions/tmpfile.texi @@ -15,4 +15,8 @@ mingw. 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 index eb1040619..55e7f1a43 100644 --- a/doc/posix-functions/truncate.texi +++ b/doc/posix-functions/truncate.texi @@ -15,4 +15,8 @@ Portability problems not fixed by Gnulib: @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 -- 2.11.0