From patchwork Tue Jan 6 11:57:20 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ondrej Bilka X-Patchwork-Id: 4519 Received: (qmail 20329 invoked by alias); 6 Jan 2015 11:57:33 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 20315 invoked by uid 89); 6 Jan 2015 11:57:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.7 required=5.0 tests=AWL, BAYES_50, FREEMAIL_FROM, SPF_NEUTRAL autolearn=no version=3.3.2 X-HELO: popelka.ms.mff.cuni.cz Date: Tue, 6 Jan 2015 12:57:20 +0100 From: =?utf-8?B?T25kxZllaiBCw61sa2E=?= To: Andreas Schwab Cc: libc-alpha@sourceware.org Subject: Re: [PATCH][BZ #17787] Fix exponents in manual. Message-ID: <20150106115720.GA19882@domone> References: <20150105121124.GA20619@domone> <871tn9joub.fsf@igel.home> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <871tn9joub.fsf@igel.home> User-Agent: Mutt/1.5.20 (2009-06-14) On Mon, Jan 05, 2015 at 03:15:24PM +0100, Andreas Schwab wrote: > Ondřej Bílka writes: > > > Is this ok to commit or is there trick to also handle info? > > Use different renditions for @iftex and @ifnottex (html output will also > be verbatim like info output). > That makes patch look bit ugly but does job. Ok with this? * manual/filesys.texi: Fix exponents. * manual/llio.texi: Likewise. * manual/stdio.texi: Likewise. diff --git a/manual/filesys.texi b/manual/filesys.texi index 7d55b43..936ac2d 100644 --- a/manual/filesys.texi +++ b/manual/filesys.texi @@ -1833,7 +1833,12 @@ writing the file. (This is unrelated to @code{st_blocks}.) @end deftp The extensions for the Large File Support (LFS) require, even on 32-bit +@iftex +machines, types which can handle file sizes up to @math{2^{63}}. +@end iftex +@ifnottex machines, types which can handle file sizes up to @math{2^63}. +@end ifnottex Therefore a new definition of @code{struct stat} is necessary. @comment sys/stat.h @@ -3072,7 +3077,12 @@ systems do not support this feature and will leave the file unchanged. When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the @code{truncate} function is in fact @code{truncate64} and the type @code{off_t} has 64 bits which makes it possible to handle files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex The return value is @math{0} for success, or @math{-1} for an error. In addition to the usual file name errors, the following errors may occur: @@ -3109,7 +3119,12 @@ The operation was interrupted by a signal. This function is similar to the @code{truncate} function. The difference is that the @var{length} argument is 64 bits wide even on 32 bits machines, which allows the handling of files with sizes up to -@math{2^63} bytes. +@iftex +@math{2^{63}} bytes. +@end iftex +@ifnottex +@math{2^{63}} bytes. +@end ifnottex When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} on a 32 bits machine this function is actually available under the name @@ -3143,7 +3158,12 @@ The example below shows how this works. When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the @code{ftruncate} function is in fact @code{ftruncate64} and the type @code{off_t} has 64 bits which makes it possible to handle files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex The return value is @math{0} for success, or @math{-1} for an error. The following errors may occur: @@ -3189,7 +3209,12 @@ The operation was interrupted by a signal. This function is similar to the @code{ftruncate} function. The difference is that the @var{length} argument is 64 bits wide even on 32 bits machines which allows the handling of files with sizes up to +@iftex +@math{2^{63}} bytes. +@end iftex +@ifnottex @math{2^63} bytes. +@end ifnottex When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} on a 32 bits machine this function is actually available under the name diff --git a/manual/llio.texi b/manual/llio.texi index 4f3fada..60662f7 100644 --- a/manual/llio.texi +++ b/manual/llio.texi @@ -150,8 +150,18 @@ or @code{O_CREAT} is set and the file does not already exist. If on a 32 bit machine the sources are translated with @code{_FILE_OFFSET_BITS == 64} the function @code{open} returns a file descriptor opened in the large file mode which enables the file handling +@iftex +functions to use files up to @math{2^{63}} bytes in size and offset from +@end iftex +@ifnottex functions to use files up to @math{2^63} bytes in size and offset from +@end ifnottex +@iftex +@math{-2^{63}} to @math{2^{63}}. This happens transparently for the user +@end iftex +@ifnottex @math{-2^63} to @math{2^63}. This happens transparently for the user +@end ifnottex since all of the lowlevel file handling functions are equally replaced. This function is a cancellation point in multi-threaded programs. This @@ -201,8 +211,18 @@ open (@var{filename}, O_WRONLY | O_CREAT | O_TRUNC, @var{mode}) If on a 32 bit machine the sources are translated with @code{_FILE_OFFSET_BITS == 64} the function @code{creat} returns a file descriptor opened in the large file mode which enables the file handling +@iftex +functions to use files up to @math{2^{63}} in size and offset from +@end iftex +@ifnottex functions to use files up to @math{2^63} in size and offset from +@end ifnottex +@iftex +@math{-2^{63}} to @math{2^{63}}. This happens transparently for the user +@end iftex +@ifnottex @math{-2^63} to @math{2^63}. This happens transparently for the user +@end ifnottex since all of the lowlevel file handling functions are equally replaced. @end deftypefn @@ -422,7 +442,12 @@ not affected by the operation. The value is the same as before the call. When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the @code{pread} function is in fact @code{pread64} and the type @code{off_t} has 64 bits, which makes it possible to handle files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex The return value of @code{pread} describes the number of bytes read. In the error case it returns @math{-1} like @code{read} does and the @@ -451,7 +476,12 @@ version 2. This function is similar to the @code{pread} function. The difference is that the @var{offset} parameter is of type @code{off64_t} instead of @code{off_t} which makes it possible on 32 bit machines to address +@iftex +files larger than @math{2^{31}} bytes and up to @math{2^{63}} bytes. The +@end iftex +@ifnottex files larger than @math{2^31} bytes and up to @math{2^63} bytes. The +@end ifnottex file descriptor @code{filedes} must be opened using @code{open64} since otherwise the large offsets possible with @code{off64_t} will lead to errors with a descriptor in small file mode. @@ -623,7 +653,12 @@ not affected by the operation. The value is the same as before the call. When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the @code{pwrite} function is in fact @code{pwrite64} and the type @code{off_t} has 64 bits, which makes it possible to handle files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex The return value of @code{pwrite} describes the number of written bytes. In the error case it returns @math{-1} like @code{write} does and the @@ -652,7 +687,12 @@ version 2. This function is similar to the @code{pwrite} function. The difference is that the @var{offset} parameter is of type @code{off64_t} instead of @code{off_t} which makes it possible on 32 bit machines to address +@iftex +files larger than @math{2^{31}} bytes and up to @math{2^{63}} bytes. The +@end iftex +@ifnottex files larger than @math{2^31} bytes and up to @math{2^63} bytes. The +@end ifnottex file descriptor @code{filedes} must be opened using @code{open64} since otherwise the large offsets possible with @code{off64_t} will lead to errors with a descriptor in small file mode. @@ -752,7 +792,12 @@ only for pipes and FIFOs, but on @gnusystems{}, you always get When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the @code{lseek} function is in fact @code{lseek64} and the type @code{off_t} has 64 bits which makes it possible to handle files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex This function is a cancellation point in multi-threaded programs. This is a problem if the thread allocates some resources (like memory, file @@ -775,7 +820,12 @@ descriptors. This function is similar to the @code{lseek} function. The difference is that the @var{offset} parameter is of type @code{off64_t} instead of @code{off_t} which makes it possible on 32 bit machines to address +@iftex +files larger than @math{2^{31}} bytes and up to @math{2^{63}} bytes. The +@end iftex +@ifnottex files larger than @math{2^31} bytes and up to @math{2^63} bytes. The +@end ifnottex file descriptor @code{filedes} must be opened using @code{open64} since otherwise the large offsets possible with @code{off64_t} will lead to errors with a descriptor in small file mode. @@ -848,7 +898,12 @@ is transparently replaced by @code{off64_t}. This type is used similar to @code{off_t}. The difference is that even on 32 bit machines, where the @code{off_t} type would have 32 bits, @code{off64_t} has 64 bits and so is able to address files up to +@iftex +@math{2^{63}} bytes in length. +@end iftex +@ifnottex @math{2^63} bytes in length. +@end ifnottex When compiling with @code{_FILE_OFFSET_BITS == 64} this type is available under the name @code{off_t}. diff --git a/manual/stdio.texi b/manual/stdio.texi index e407170..b50b27e 100644 --- a/manual/stdio.texi +++ b/manual/stdio.texi @@ -270,7 +270,12 @@ Locks}. @safety{@prelim{}@mtsafe{}@asunsafe{@ascuheap{} @asulock{}}@acunsafe{@acsmem{} @acsfd{} @aculock{}}} This function is similar to @code{fopen} but the stream it returns a pointer for is opened using @code{open64}. Therefore this stream can be +@iftex +used even on files larger than @math{2^{31}} bytes on 32 bit machines. +@end iftex +@ifnottex used even on files larger than @math{2^31} bytes on 32 bit machines. +@end ifnottex Please note that the return type is still @code{FILE *}. There is no special @code{FILE} type for the LFS interface. @@ -336,7 +341,12 @@ interface replaces transparently the old interface. @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @acsfd{}}} This function is similar to @code{freopen}. The only difference is that on 32 bit machine the stream returned is able to read beyond the +@iftex +@math{2^{31}} bytes limits imposed by the normal interface. It should be +@end iftex +@ifnottex @math{2^31} bytes limits imposed by the normal interface. It should be +@end ifnottex noted that the stream pointed to by @var{stream} need not be opened using @code{fopen64} or @code{freopen64} since its mode is not important for this function. @@ -4412,7 +4422,12 @@ This function is similar to @code{ftello} with the only difference that the return value is of type @code{off64_t}. This also requires that the stream @var{stream} was opened using either @code{fopen64}, @code{freopen64}, or @code{tmpfile64} since otherwise the underlying +@iftex +file operations to position the file pointer beyond the @math{2^{31}} +@end iftex +@ifnottex file operations to position the file pointer beyond the @math{2^31} +@end ifnottex bytes limit might fail. If the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a 32 @@ -4473,7 +4488,12 @@ the @var{offset} parameter is of type @code{off64_t}. This also requires that the stream @var{stream} was opened using either @code{fopen64}, @code{freopen64}, or @code{tmpfile64} since otherwise the underlying file operations to position the file pointer beyond the +@iftex +@math{2^{31}} bytes limit might fail. +@end iftex +@ifnottex @math{2^31} bytes limit might fail. +@end ifnottex If the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a 32 bits machine this function is available under the name @code{fseeko}