From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id C49E93858C41 for ; Fri, 19 May 2023 18:27:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C49E93858C41 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q04pH-0003cq-CU; Fri, 19 May 2023 14:27:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=In-Reply-To:MIME-Version:References:Subject:To:From: Date; bh=ViqBTY8pJWSt2SQUkXeZu/hxANtM+aYUOHc68WCT3UQ=; b=h3LWAZFsNdxJSYF0Zdm1 bg6rljo+RTrB4jwiyerI51iUwW0Z1DPlJj+R41iZlcqnwYk/OuR+Z+8bPc0V6WpT70UGk4sbpwpWg WlqFLzwsXYNTu+JhOMB/h8JOgfPr6AgHk9IIkmKxhTpB+TE2EeXrEkT3isrymZdBjfTsYSNESlpj1 2EITA2ucJJK9o79mHvwY5AlAeEff+HUzKr3a/9xbBqtUgu0/M1euV/iZSA69cPxKyG6GkPWItxX+p g0MhqyniZSsNRFtGVeZ7N2d1eMTh08xk8r3vOukRIvFvWfJnrbenTwQeoRRIgf9Sj2vYIRNE9Vof6 Kqm3FyGP5d5WQw==; Received: from 2a01cb008c251f00de41a9fffe47ec49.ipv6.abo.wanadoo.fr ([2a01:cb00:8c25:1f00:de41:a9ff:fe47:ec49] helo=begin.home) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q04pH-0002hW-5T; Fri, 19 May 2023 14:27:39 -0400 Received: from samy by begin.home with local (Exim 4.96) (envelope-from ) id 1q04pE-006TIb-18; Fri, 19 May 2023 20:27:36 +0200 Date: Fri, 19 May 2023 20:27:36 +0200 From: Samuel Thibault To: Sergey Bugaev Cc: libc-alpha@sourceware.org, bug-hurd@gnu.org Subject: Re: [PATCH] hurd: Fix __TIMESIZE on x86_64 Message-ID: <20230519182736.smbpphfekajdudrz@begin> Mail-Followup-To: Sergey Bugaev , libc-alpha@sourceware.org, bug-hurd@gnu.org References: <20230519171516.3698754-1-bugaevc@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230519171516.3698754-1-bugaevc@gmail.com> Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_NUMSUBJECT,KAM_SHORT,SPF_HELO_PASS,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: Applied, thanks! Sergey Bugaev, le ven. 19 mai 2023 20:15:16 +0300, a ecrit: > We had sizeof (time_t) == 8, but __TIMESIZE == 32. > > Signed-off-by: Sergey Bugaev > --- > > ...oops. > > I have not tested whether this breaks anything (other then checking > that it still builds), but it's kind of amazing that it had worked at > all before this, There aren't that many users of time_t actually. > and there's a higher chance of this fixing something > than breaking something. > > Unfortunately I believe this means that all binaries built for > x86_64-gnu so far will have to be rebuilt. It's not a problem on my side, I'm still always reboostraping everything everytime. Until we have made a careful review of the types we expose, I'm not considering the ABI as stable. Samuel > Fortunately I don't think > anybody except for myself (and Samuel himself) had installed them. > > Discovered while attempting to hack on fcntl{,64,_time64}. > > sysdeps/mach/clock_gettime.c | 2 ++ > sysdeps/mach/hurd/bits/timesize.h | 4 +++- > sysdeps/mach/hurd/x86_64/libanl.abilist | 1 - > 3 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/sysdeps/mach/clock_gettime.c b/sysdeps/mach/clock_gettime.c > index be775ed2..9124a32e 100644 > --- a/sysdeps/mach/clock_gettime.c > +++ b/sysdeps/mach/clock_gettime.c > @@ -111,6 +111,7 @@ strong_alias (__clock_gettime, __clock_gettime_2); > compat_symbol (libc, __clock_gettime_2, clock_gettime, GLIBC_2_2); > #endif > > +#if __TIMESIZE != 64 > int > __clock_gettime64 (clockid_t clock_id, struct __timespec64 *ts64) > { > @@ -124,3 +125,4 @@ __clock_gettime64 (clockid_t clock_id, struct __timespec64 *ts64) > return ret; > } > libc_hidden_def (__clock_gettime64) > +#endif > diff --git a/sysdeps/mach/hurd/bits/timesize.h b/sysdeps/mach/hurd/bits/timesize.h > index 900a0a23..981452c0 100644 > --- a/sysdeps/mach/hurd/bits/timesize.h > +++ b/sysdeps/mach/hurd/bits/timesize.h > @@ -16,5 +16,7 @@ > License along with the GNU C Library; if not, see > . */ > > +#include > + > /* Size in bits of the 'time_t' type of the default ABI. */ > -#define __TIMESIZE 32 > +#define __TIMESIZE __WORDSIZE > diff --git a/sysdeps/mach/hurd/x86_64/libanl.abilist b/sysdeps/mach/hurd/x86_64/libanl.abilist > index c0a6a009..baad6de2 100644 > --- a/sysdeps/mach/hurd/x86_64/libanl.abilist > +++ b/sysdeps/mach/hurd/x86_64/libanl.abilist > @@ -1,4 +1,3 @@ > GLIBC_2.38 gai_cancel F > GLIBC_2.38 gai_error F > -GLIBC_2.38 gai_suspend F > GLIBC_2.38 getaddrinfo_a F > -- > 2.40.1 > -- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.