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 ddfa089046..2d8964ff11 100644 --- 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 index c8a3fb3398..8141571aa7 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 6c4c50d2ce..080d1af87d 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 5acca48a50..64bbe824dc 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 24a91c4319..363f051abd 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 b89335ed8a..f45f65030c 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 44e3ab3138..f9635ed55c 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 033d462c77..07e5e18a91 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 845d5dcf36..5cd0b3bceb 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 d23b58c8e5..7dc226b3bf 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 e08fe3face..f69acb8794 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 756f6bd9f9..3870f16828 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 b2182b10b5..8fcee65677 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 44f2687ff0..86e89a438f 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 43de4fc21b..971f4c0aff 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 a77a264b72..38d6f68884 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 e2a99d2b62..b216df7591 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 9dff96824a..15d3214f8a 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 57e0499594..f40a124544 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 57a8eed074..9f1337c650 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 ecdc0cd830..52ffc1288f 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 3affa3981c..77f671d36c 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 b33b5aeac0..23595e003c 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 8cf598d4e7..547f866a21 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 87831e97ff..a17c816af2 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 ebd8f27ebe..60d31882b5 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 1ec2472842..cc84ec57a4 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 5cc9251950..61377a1c31 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 96ae5ff4dc..1f236bf0cb 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 35b75ff61b..b3c06eba2d 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 329dc8d732..a68a62385a 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 ebe8c50c8b..b31bd07bc9 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 4343e3f5e9..8e3e5f330d 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 bd915b0162..a4bfaf6f0d 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 4f494b2df1..6311515416 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 b86734341b..e004987efc 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 b849718453..277b1223a2 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 372a619450..03ccd54e26 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 0a4fc7c1ca..b86e8a412f 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 599c7d2a91..713e07e4db 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 8b5331c75a..8bed94f18d 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 7cebe2799f..5bcdc1473b 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 67dd286870..4492d4f386 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 2065c6eea1..6a7f294289 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 b5a9ebecc8..d1e8eebba5 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 bc223aa416..a3abf0e7ca 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 59a7f65044..d0133555b3 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 60942183cf..88b19080ba 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 7ce07781c8..186683603c 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 eb10406197..55e7f1a43d 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.30.2