From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id A49D11F487 for ; Tue, 31 Mar 2020 21:47:32 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CA8AA385DC00; Tue, 31 Mar 2020 21:47:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA8AA385DC00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1585691251; bh=Go8zzE6r1Cs+SxbT3deati2iHh/BO06bxz6PbBbglAI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=tOXV2n/nw+MOk1k8uYEIAz1MVOQpDAy+IF4BXHqhMNh+msDe/CBt9O3uuIpJiuPvk BGBJRjQ9zrwFUouW6JEyfB2AsbmdR7iKXlqp3tktAxq8kcj4m5y89Z5DK7fmhQLQXA mFd1il3QEMxbv3f0GboLBdJibEPXvoXWV2p+xU6o= Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.87.133]) by sourceware.org (Postfix) with ESMTPS id 5C83A385BF83 for ; Tue, 31 Mar 2020 21:47:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5C83A385BF83 Received: from mailhost.synopsys.com (sv2-mailhost2.synopsys.com [10.205.2.134]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 6E2F2C0F3B; Tue, 31 Mar 2020 21:47:28 +0000 (UTC) Received: from vineetg-Latitude-7400.internal.synopsys.com (unknown [10.13.183.89]) by mailhost.synopsys.com (Postfix) with ESMTP id ECCF0A007B; Tue, 31 Mar 2020 21:47:20 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3] Make any 32-bit time based syscalls unavailable for TIMESIZE==64 Date: Tue, 31 Mar 2020 14:47:17 -0700 Message-Id: <20200331214717.23902-1-vgupta@synopsys.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200312183325.594-1-vgupta@synopsys.com> References: <20200312183325.594-1-vgupta@synopsys.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: , From: Vineet Gupta via Libc-alpha Reply-To: Vineet Gupta Cc: Stepan Golosunov , Vineet Gupta , linux-snps-arc@lists.infradead.org, Alistair Francis Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Vineet Gupta via Libc-alpha An older asm-generic syscall ABI may have kernel provide 32-bit time syscalls, so undef them to not mix 32/64 in 64-bit time regime. Signed-off-by: Vineet Gupta --- Changes since v2 - Made x32 safe Changes since v1 - don't redirect these to 64-bit variants --- sysdeps/unix/sysv/linux/generic/sysdep.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sysdeps/unix/sysv/linux/generic/sysdep.h b/sysdeps/unix/sysv/linux/generic/sysdep.h index 40b4b955ca1b..b83e17e1c9d1 100644 --- a/sysdeps/unix/sysv/linux/generic/sysdep.h +++ b/sysdeps/unix/sysv/linux/generic/sysdep.h @@ -17,6 +17,7 @@ . */ #include +#include #include #include #include @@ -25,3 +26,26 @@ #ifdef __NR_llseek # define __NR__llseek __NR_llseek #endif + +#if (__TIMESIZE == 64 && __WORDSIZE == 32 \ + && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) + +/* Don't provide 32-bit time syscalls even if the kernel ABI provides + them (Older variants of asm-generic ABIs e.g. ARC). */ + +# undef __NR_futex +# undef __NR_rt_sigtimedwait +# undef __NR_ppoll +# undef __NR_utimensat +# undef __NR_pselect6 +# undef __NR_recvmmsg +# undef __NR_semtimedop +# undef __NR_mq_timedreceive +# undef __NR_mq_timedsend +# undef __NR_clock_getres +# undef __NR_timerfd_settime +# undef __NR_timerfd_gettime +# undef __NR_sched_rr_get_interval +# undef __NR_clock_adjtime + +#endif -- 2.20.1