From patchwork Fri Mar 5 20:15:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 42318 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 76469399F030; Fri, 5 Mar 2021 20:16:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 76469399F030 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1614975371; bh=4UWpsPSRXxlmMTCwQvh6yVYFATG8kPn0GoKIyWW/zWs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=c3JSuS9/9f0ordqSIjIZFMCi1if7Y3oiscF8gVJPGHu3SCFO1p0Q9d0PYU0UcoQ6s Ann1mQgtglRnbWraakqARGF0gtebyY73UVE3+Nc+NXahPYnHeso3IOJ78lJR8tE3yd AlSTJi5g/EHBfJtGeEh3fjQzcPdmBzUI2MbIdT3E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) by sourceware.org (Postfix) with ESMTPS id 98904399F00D for ; Fri, 5 Mar 2021 20:16:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 98904399F00D Received: by mail-qk1-x735.google.com with SMTP id l132so3272523qke.7 for ; Fri, 05 Mar 2021 12:16:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4UWpsPSRXxlmMTCwQvh6yVYFATG8kPn0GoKIyWW/zWs=; b=q0FFiDZcrRQoNj+pp5B5H7KE6RJcKpHss1GgriMJjtaELsXG44F5KiG12tF2YrKUJ3 1OM7EgSuYDVtZkTdkERXp7nnvesa+Y49GL9wFJM9lfcf7Opju/eKbbaoD02im5CAIDIq 4VOjfqDdcHW+iulsZ9LCb/p829Kt7fKmB+vV4Swftxi7c1JSw82rtxrV1UtrBX/Klo5d 6rppXcAD2C1ldFXGbwQZTU+qZ3jBt/Q6v/rR4pXDZCSoVflxQqmaPxY28BVfmWuIDEVx YBQifeBB7jJY5JQ3GpsBGVBXzjfEiGFQo52X9s1l25Qvz8k2lmtrKpq41nqLmB1Zrl/Q ahtg== X-Gm-Message-State: AOAM5338T0YC3RcalWU9jBnCb5LoY0d7ggB70MCzCObJFImt8SWxGOgs XEYKzP7ufAsJRmgQTdZll2bZSgLIPOCQHQ== X-Google-Smtp-Source: ABdhPJwZv09c/O17lvGqod+MrseC3x56FH2uBrwcsPZLt+R/FoUL2MttffkdlsI8m7FhuhRqJjdz+A== X-Received: by 2002:a05:620a:525:: with SMTP id h5mr9541268qkh.100.1614975366005; Fri, 05 Mar 2021 12:16:06 -0800 (PST) Received: from localhost.localdomain ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id c5sm2526145qkl.21.2021.03.05.12.16.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 12:16:05 -0800 (PST) To: libc-alpha@sourceware.org Subject: [PATCH 36/52] y2038: Add __USE_TIME_BITS64 support for socket-constants.h Date: Fri, 5 Mar 2021 17:15:02 -0300 Message-Id: <20210305201518.798584-37-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210305201518.798584-1-adhemerval.zanella@linaro.org> References: <20210305201518.798584-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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-Patchwork-Original-From: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Reply-To: Adhemerval Zanella Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" 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. --- .../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 #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 +#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 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 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 +# endif +#endif