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 4805C3858408 for ; Wed, 8 Dec 2021 00:29:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4805C3858408 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=libc.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=libc.org Date: Tue, 7 Dec 2021 19:29:11 -0500 From: Rich Felker To: Alejandro Colomar Cc: libc-alpha@sourceware.org, =?utf-8?B?0L3QsNCx?= , Jakub Wilk , Zack Weinberg , Stefan Puiu , Michael Kerrisk , "H . J . Lu" , Joseph Myers Subject: Re: [RFC v2 1/2] sys/types.h: Define new type: snseconds_t Message-ID: <20211208002911.GR7074@brightrain.aerifal.cx> References: <20211207111957.8087-1-alx.manpages@gmail.com> <20211207214814.18553-1-alx.manpages@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211207214814.18553-1-alx.manpages@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Dec 2021 00:29:14 -0000 On Tue, Dec 07, 2021 at 10:48:14PM +0100, Alejandro Colomar wrote: > Based on the existing suseconds_t type. > > The timespec(3) structure uses long for tv_nsec, > except if __x86_64__ && __ILP32__, > in which case it uses long long. > Let's define a stable type that can be relied upon by users, > for example for creating pointers. This is a non-starter because the relevant standards already require the tv_nsec member to have type long. x32 just needs to be fixed to match the requirement. This is really easy to do; just change the definition to have the appropriate padding. Don't make a huge mess for the sake of a barely-used target that just had a messy but fixable bug. Rich