From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from brightrain.aerifal.cx (brightrain.aerifal.cx [216.12.86.13]) by sourceware.org (Postfix) with ESMTPS id C68843858D35 for ; Wed, 28 Jun 2023 17:53:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C68843858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=libc.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=libc.org Date: Wed, 28 Jun 2023 13:53:30 -0400 From: Rich Felker To: linux-man@vger.kernel.org Cc: musl@lists.openwall.com, libc-alpha@sourceware.org, libc-coord@lists.openwall.com Subject: regression in man pages for interfaces using loff_t Message-ID: <20230628175329.GA16113@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: https://github.com/mkerrisk/man-pages/commit/9bebb17e5b5794e495ba8e6c0a75266c65b9d2d7 https://github.com/mkerrisk/man-pages/commit/76c5631fb442f1c7c0b5ec8c653e84f2997249c8 and perhaps related changes for other functions introduced a breaking change in the documentation for the way applications should call libc functions for Linux-specific APIs that always take a 64-bit file offset. The type for this is loff_t, not off64_t, which is an LFS64 type which only exists when LFS64 is supported and enabled. Applications following the documentation change will not compile on musl libc, and in theory would not compile even on glibc if it followed reasonable policy for exposing visibility of off64_t, though it might happen to be that on glibc, all feature profiles that expose the relevant functions also expose LFS64. The whole reason loff_t exists is to avoid this problem and make a type that's "always full width offset, regardless of _FILE_OFFSET_BITS or _LARGEFILE64_SOURCE" to match with the kernel expectation for these interfaces. For an example of the breakage resulting from following the change in documentation, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110462 Please revert this. Rich