From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id B7A5039A0037 for ; Fri, 4 Jun 2021 19:38:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B7A5039A0037 Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-455-SUI-_o3iPM2r7ZEiBXLzuA-1; Fri, 04 Jun 2021 15:38:48 -0400 X-MC-Unique: SUI-_o3iPM2r7ZEiBXLzuA-1 Received: by mail-qk1-f197.google.com with SMTP id s123-20020a3777810000b02902e9adec2313so7295934qkc.4 for ; Fri, 04 Jun 2021 12:38:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=iIgKrDqj822UzHo1Xzm+nJWX4m3v9cr0vTqy7/ivSa4=; b=Noi3Egkma2JBV2t4vyIC/ooS6cCaQiE2BuBK2JDtQf8lGIEmXONUpBny4ZadhmKV8Q XVLSewZ5go8xSvs1QWomR1Xhkc4ZLN+hhcxObQGjPpbcR8oTyC+e7OMXH3kw/QeG1CsP 5XNPplsj/k6hiYDtolQ2cJMEqIfclvztksVqsY6FAx3EEd24I6FIyKyKB/S+fBDEw9Sv pZZvJ//eM5hDQSie8BrMmtxrS0WKSoNzePWawqVPXgSaNgPUrZlGmRXDT0RDNYK5SwGz 1qgaQijisK1xOf/6HB5zz7XMan4isSkvRjmYjk/E3R3nokxicNIRpQLEuNq7rI7Hc3Ts 8xxA== X-Gm-Message-State: AOAM530QzNq3d+gxKkuCJooUJHmy2flHV8bMWoq+AZE4c56OfMEr8wuF cAnEcB1Kxjtd8gtgFQDLLPJYfG1tcWcrN1svE5QKhAwelWCjS/UImgP0inmui6pO5kmQxNPk4GS 2aE+JsSJbAF2dNvx2LaHX X-Received: by 2002:a05:620a:164f:: with SMTP id c15mr5828008qko.183.1622835527337; Fri, 04 Jun 2021 12:38:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJvu1P06owxhIoMeCKi6e4vCETHd+b5AFZ6BFMzsXAA3zUvH8N+oUYuPgQ/TmHo8E+7FZDGA== X-Received: by 2002:a05:620a:164f:: with SMTP id c15mr5827994qko.183.1622835527134; Fri, 04 Jun 2021 12:38:47 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id c20sm4326423qtm.52.2021.06.04.12.38.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Jun 2021 12:38:46 -0700 (PDT) From: Carlos O'Donell Subject: Re: [PATCH v2 17/25] y2038: Add __USE_TIME_BITS64 support for socket-constants.h To: Adhemerval Zanella , libc-alpha@sourceware.org References: <20210518205613.1487824-1-adhemerval.zanella@linaro.org> <20210518205613.1487824-18-adhemerval.zanella@linaro.org> Organization: Red Hat Message-ID: <91a3de1b-25f3-663a-58ca-1821822a7179@redhat.com> Date: Fri, 4 Jun 2021 15:38:45 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210518205613.1487824-18-adhemerval.zanella@linaro.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Fri, 04 Jun 2021 19:38:51 -0000 On 5/18/21 4:56 PM, Adhemerval Zanella wrote: > It is only used for !__USE_MISC, the default way uses the kernel > headers. The patch also adds the SO_TIMESTAMP, SO_TIMESTAMPNS, and > SO_TIMESTAMPING which uses new values for 64 bit time_t kernel > interfaces. > > The __USE_TIME_BITS64 is not defined internally yet, although the > internal header is used when building the 64-bit stat implementations. LGTM. No regressions on x86_64, i686, ppc64le, aarch64, s390x. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell > --- > .../unix/sysv/linux/bits/socket-constants.h | 47 +++++++++++++++---- > .../sysv/linux/hppa/bits/socket-constants.h | 36 +++++++++++++- > .../sysv/linux/mips/bits/socket-constants.h | 36 +++++++++++++- > .../linux/powerpc/bits/socket-constants.h | 36 +++++++++++++- > .../sysv/linux/sparc/bits/socket-constants.h | 36 +++++++++++++- > 5 files changed, 175 insertions(+), 16 deletions(-) > > diff --git a/sysdeps/unix/sysv/linux/bits/socket-constants.h b/sysdeps/unix/sysv/linux/bits/socket-constants.h > index 84f7a333a2..c52e72bb73 100644 > --- a/sysdeps/unix/sysv/linux/bits/socket-constants.h > +++ b/sysdeps/unix/sysv/linux/bits/socket-constants.h > @@ -32,19 +32,50 @@ > #define SO_OOBINLINE 10 > #define SO_RCVBUF 8 > #define SO_RCVLOWAT 18 > -#if (__TIMESIZE == 64 && __WORDSIZE == 32 \ > - && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) > -# define SO_RCVTIMEO 66 > -#else > -# define SO_RCVTIMEO 20 > -#endif > #define SO_REUSEADDR 2 > #define SO_SNDBUF 7 > #define SO_SNDLOWAT 19 > +#define SO_TYPE 3 > + > #if (__TIMESIZE == 64 && __WORDSIZE == 32 \ > && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) > +# define SO_RCVTIMEO 66 > # define SO_SNDTIMEO 67 > +# define SO_TIMESTAMP 63 > +# define SO_TIMESTAMPNS 64 > +# define SO_TIMESTAMPING 65 > #else > -# define SO_SNDTIMEO 21 > +# if __TIMESIZE == 64 > +# define SO_RCVTIMEO 20 > +# define SO_SNDTIMEO 21 > +# define SO_TIMESTAMP 29 > +# define SO_TIMESTAMPNS 35 > +# define SO_TIMESTAMPING 37 > +# else > +# define SO_RCVTIMEO_OLD 20 > +# define SO_SNDTIMEO_OLD 21 > +# define SO_RCVTIMEO_NEW 66 > +# define SO_SNDTIMEO_NEW 67 > + > +# define SO_TIMESTAMP_OLD 29 > +# define SO_TIMESTAMPNS_OLD 35 > +# define SO_TIMESTAMPING_OLD 37 > +# define SO_TIMESTAMP_NEW 63 > +# define SO_TIMESTAMPNS_NEW 64 > +# define SO_TIMESTAMPING_NEW 65 > + > +# ifdef __USE_TIME_BITS64 > +# define SO_RCVTIMEO SO_RCVTIMEO_NEW > +# define SO_SNDTIMEO SO_SNDTIMEO_NEW > +# define SO_TIMESTAMP SO_TIMESTAMP_NEW > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW > +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW > +# else > +# define SO_RCVTIMEO SO_RCVTIMEO_OLD > +# define SO_SNDTIMEO SO_SNDTIMEO_OLD > +# define SO_TIMESTAMP SO_TIMESTAMP_OLD > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD > +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD > +# endif > +# endif OK. > #endif > -#define SO_TYPE 3 > diff --git a/sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h b/sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h > index b4fb65b9f1..68b42d4606 100644 > --- a/sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h > +++ b/sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h > @@ -30,9 +30,41 @@ > #define SO_OOBINLINE 256 > #define SO_RCVBUF 4098 > #define SO_RCVLOWAT 4100 > -#define SO_RCVTIMEO 4102 > #define SO_REUSEADDR 4 > #define SO_SNDBUF 4097 > #define SO_SNDLOWAT 4099 > -#define SO_SNDTIMEO 4101 > #define SO_TYPE 4104 > + > +#if __TIMESIZE == 64 > +# define SO_RCVTIMEO 4102 > +# define SO_SNDTIMEO 4101 > +# define SO_TIMESTAMP 16402 > +# define SO_TIMESTAMPNS 16403 > +# define SO_TIMESTAMPING 16416 > +#else > +# define SO_RCVTIMEO_OLD 4102 > +# define SO_SNDTIMEO_OLD 4101 > +# define SO_RCVTIMEO_NEW 16448 > +# define SO_SNDTIMEO_NEW 16449 > + > +# define SO_TIMESTAMP_OLD 0x4012 > +# define SO_TIMESTAMPNS_OLD 0x4013 > +# define SO_TIMESTAMPING_OLD 0x4020 > +# define SO_TIMESTAMP_NEW 0x4038 > +# define SO_TIMESTAMPNS_NEW 0x4039 > +# define SO_TIMESTAMPING_NEW 0x403A > + > +# ifdef __USE_TIME_BITS64 > +# define SO_RCVTIMEO SO_RCVTIMEO_NEW > +# define SO_SNDTIMEO SO_SNDTIMEO_NEW > +# define SO_TIMESTAMP SO_TIMESTAMP_NEW > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW > +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW > +# else > +# define SO_RCVTIMEO SO_RCVTIMEO_OLD > +# define SO_SNDTIMEO SO_SNDTIMEO_OLD > +# define SO_TIMESTAMP SO_TIMESTAMP_OLD > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD > +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD > +# endif OK. > +#endif > diff --git a/sysdeps/unix/sysv/linux/mips/bits/socket-constants.h b/sysdeps/unix/sysv/linux/mips/bits/socket-constants.h > index a5264536e9..b18a854e99 100644 > --- a/sysdeps/unix/sysv/linux/mips/bits/socket-constants.h > +++ b/sysdeps/unix/sysv/linux/mips/bits/socket-constants.h > @@ -30,9 +30,41 @@ > #define SO_OOBINLINE 256 > #define SO_RCVBUF 4098 > #define SO_RCVLOWAT 4100 > -#define SO_RCVTIMEO 4102 > #define SO_REUSEADDR 4 > #define SO_SNDBUF 4097 > #define SO_SNDLOWAT 4099 > -#define SO_SNDTIMEO 4101 > #define SO_TYPE 4104 > + > +#if __TIMESIZE == 64 > +# define SO_RCVTIMEO 4102 > +# define SO_SNDTIMEO 4101 > +# define SO_TIMESTAMP 29 > +# define SO_TIMESTAMPNS 35 > +# define SO_TIMESTAMPING 37 > +#else > +# define SO_RCVTIMEO_OLD 4102 > +# define SO_SNDTIMEO_OLD 4101 > +# define SO_RCVTIMEO_NEW 66 > +# define SO_SNDTIMEO_NEW 67 > + > +# define SO_TIMESTAMP_OLD 29 > +# define SO_TIMESTAMPNS_OLD 35 > +# define SO_TIMESTAMPING_OLD 37 > +# define SO_TIMESTAMP_NEW 63 > +# define SO_TIMESTAMPNS_NEW 64 > +# define SO_TIMESTAMPING_NEW 65 > + > +# ifdef __USE_TIME_BITS64 > +# define SO_RCVTIMEO SO_RCVTIMEO_NEW > +# define SO_SNDTIMEO SO_SNDTIMEO_NEW > +# define SO_TIMESTAMP SO_TIMESTAMP_NEW > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW > +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW > +# else > +# define SO_RCVTIMEO SO_RCVTIMEO_OLD > +# define SO_SNDTIMEO SO_SNDTIMEO_OLD > +# define SO_TIMESTAMP SO_TIMESTAMP_OLD > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD > +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD > +# endif > +#endif OK. > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h b/sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h > index f35488b375..c03141bb8c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h > @@ -30,9 +30,41 @@ > #define SO_OOBINLINE 10 > #define SO_RCVBUF 8 > #define SO_RCVLOWAT 16 > -#define SO_RCVTIMEO 18 > #define SO_REUSEADDR 2 > #define SO_SNDBUF 7 > #define SO_SNDLOWAT 17 > -#define SO_SNDTIMEO 19 > #define SO_TYPE 3 > + > +#if __TIMESIZE == 64 > +# define SO_RCVTIMEO 18 > +# define SO_SNDTIMEO 19 > +# define SO_TIMESTAMP 29 > +# define SO_TIMESTAMPNS 35 > +# define SO_TIMESTAMPING 37 > +#else > +# define SO_RCVTIMEO_OLD 18 > +# define SO_SNDTIMEO_OLD 19 > +# define SO_RCVTIMEO_NEW 66 > +# define SO_SNDTIMEO_NEW 67 > + > +# define SO_TIMESTAMP_OLD 29 > +# define SO_TIMESTAMPNS_OLD 35 > +# define SO_TIMESTAMPING_OLD 37 > +# define SO_TIMESTAMP_NEW 63 > +# define SO_TIMESTAMPNS_NEW 64 > +# define SO_TIMESTAMPING_NEW 65 > + > +# ifdef __USE_TIME_BITS64 > +# define SO_RCVTIMEO SO_RCVTIMEO_NEW > +# define SO_SNDTIMEO SO_SNDTIMEO_NEW > +# define SO_TIMESTAMP SO_TIMESTAMP_NEW > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW > +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW > +# else > +# define SO_RCVTIMEO SO_RCVTIMEO_OLD > +# define SO_SNDTIMEO SO_SNDTIMEO_OLD > +# define SO_TIMESTAMP SO_TIMESTAMP_OLD > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD > +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD > +# endif > +#endif OK. > diff --git a/sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h b/sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h > index a58d0b5f96..5c4ed76c8c 100644 > --- a/sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h > +++ b/sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h > @@ -30,9 +30,41 @@ > #define SO_OOBINLINE 256 > #define SO_RCVBUF 4098 > #define SO_RCVLOWAT 2048 > -#define SO_RCVTIMEO 8192 > #define SO_REUSEADDR 4 > #define SO_SNDBUF 4097 > #define SO_SNDLOWAT 4096 > -#define SO_SNDTIMEO 16384 > #define SO_TYPE 4104 > + > +#if __TIMESIZE == 64 > +# define SO_RCVTIMEO 8192 > +# define SO_SNDTIMEO 16384 > +# define SO_TIMESTAMP 29 > +# define SO_TIMESTAMPNS 33 > +# define SO_TIMESTAMPING 35 > +#else > +# define SO_RCVTIMEO_OLD 8192 > +# define SO_SNDTIMEO_OLD 16384 > +# define SO_RCVTIMEO_NEW 68 > +# define SO_SNDTIMEO_NEW 69 > + > +# define SO_TIMESTAMP_OLD 0x001d > +# define SO_TIMESTAMPNS_OLD 0x0021 > +# define SO_TIMESTAMPING_OLD 0x0023 > +# define SO_TIMESTAMP_NEW 0x0046 > +# define SO_TIMESTAMPNS_NEW 0x0042 > +# define SO_TIMESTAMPING_NEW 0x0043 > + > +# ifdef __USE_TIME_BITS64 > +# define SO_RCVTIMEO SO_RCVTIMEO_NEW > +# define SO_SNDTIMEO SO_SNDTIMEO_NEW > +# define SO_TIMESTAMP SO_TIMESTAMP_NEW > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW > +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW > +# else > +# define SO_RCVTIMEO SO_RCVTIMEO_OLD > +# define SO_SNDTIMEO SO_SNDTIMEO_OLD > +# define SO_TIMESTAMP SO_TIMESTAMP_OLD > +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD > +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD OK. > +# endif > +#endif > -- Cheers, Carlos.