From patchwork Thu Sep 14 16:01:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 139857 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp642283vqi; Thu, 14 Sep 2023 14:43:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFwwWAZGzkmO3BF4pxRKU7/atxoTWAoFHD6ncWjFyOcimlmzlBqVWDRujS3L3K+f1RpNa8H X-Received: by 2002:a05:6870:b493:b0:1b0:e98:163b with SMTP id y19-20020a056870b49300b001b00e98163bmr7736477oap.21.1694727784282; Thu, 14 Sep 2023 14:43:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694727784; cv=none; d=google.com; s=arc-20160816; b=INt6L3ubA50Trx854ytVXyqza70Z77xLzxjZ/mLUN5deZ6y17ClFXahGJ+r3UVoGtG TlpSpvWcCwYG7ut4xJHBcueqM3cvKVhaWKYQDg80DuE8S9L4Jg9H60dEmeDAesCz32y3 GvJzaWgj7UdshFMlcMLfNmw2JPrJimV4l3Pqee0R3jCVtHaXIAqYXrta/JZjyT+Cucpo QT5DYPgJC8COPlMTvCn2hF7uJetjWf/slyjt3yN4PQs++hsBvt5E8Hv4s1lk8vL1U4QX b9t2yTjy4lU8T4jCIlDAwRO5PcNFykfUH4JCE877DMFhz9CxbHzf2PqPBScwBs+/DLUH oqUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=iUpyg+ZbCOEe3HyXhRlCA9/KVSU9oVgqH2h1eIWdLGI=; fh=azYK+WW57en7GGRdjKWjQOHkHDsNRqF/+6hheqDI200=; b=qhvs7xqj8nlLiPsn3RC/JlRUm70C3KC1Z0Y3kT7XeHYAPi8slpX8BMpIhWot8YeJNU Q5WzssP+E2E4ScWBYUbm1TT7liQ2ADs/m3u8UmxzUqxofKjQPVj8xvU/CaTv7nIixgO3 pc943PZPL2luHtY8t/yhjT+/ik1jI6irOEH7xe1fMXCTVSvWECq3OrB/WwNiuOZUgTuo l+6oIKAqy7Bt99fr7OaJ/VziovjjnvU6oLMVs47PzCJ7AucQbWpNUCiDOUCTPcGEFNk7 xPj96gSYodbGfmMW4+3BRGA3Gb4PA3SCF4Sky+bNGzkRCObkWNaAj3SxywNMMnVaRK+V GamA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=fQaMl0ZA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id e1-20020a636901000000b0056956177395si2078418pgc.512.2023.09.14.14.43.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 14:43:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=fQaMl0ZA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 417F2839FBA6; Thu, 14 Sep 2023 09:02:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241771AbjINQCN (ORCPT + 34 others); Thu, 14 Sep 2023 12:02:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37066 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241659AbjINQCA (ORCPT ); Thu, 14 Sep 2023 12:02:00 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49014271E; Thu, 14 Sep 2023 09:01:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1694707293; bh=9Dr/Qlwz9Z5VVtmbM8JisJIKlg1q6mK4mMaDaT8aZHA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=fQaMl0ZADkTcn1qLdesYc0JElUD9GU3vjgALM2c2J2mMVoWd0UxMkI4DTYNLV6u71 N/euTGpE0aCdUp0gXHiuUqU+DXM1U0oq5wlWc4hq/C+9whepDaEWRX8wla4vJnezGV hLGAFnCFKk+1Kvk3qK+d/aFnNWNHlinSmp956LPU= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 14 Sep 2023 18:01:17 +0200 Subject: [PATCH 1/4] selftests/nolibc: allow building i386 with multiarch compiler MIME-Version: 1.0 Message-Id: <20230914-nolibc-syscall-nr-v1-1-e50df410da11@weissschuh.net> References: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> In-Reply-To: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> To: Willy Tarreau , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1694707292; l=915; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=9Dr/Qlwz9Z5VVtmbM8JisJIKlg1q6mK4mMaDaT8aZHA=; b=4hV3jmCa9Owq/qDwKo7tLD8BIPuEx78VNy7e+gUuEGgiBDFvmAUaNjzfTv12ywRmmXc39/n+P t1qzu7r4eSGA1L3Bu5s4gUucQV1Iy2C30Ct+vTxX9WnaFcRJ9QUf+Yd X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Thu, 14 Sep 2023 09:02:21 -0700 (PDT) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777050881149562923 X-GMAIL-MSGID: 1777050881149562923 When building with a multiarch-capable compiler, like those provided by common distributions the -m32 argument is required to build 32bit code. Wrap it in cc-option in case the compiler is not multiarch-capable. Signed-off-by: Thomas Weißschuh Acked-by: Willy Tarreau --- tools/testing/selftests/nolibc/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index 689658f81a19..19096a9ded55 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -113,6 +113,7 @@ else Q=@ endif +CFLAGS_i386 = $(call cc-option,-m32) CFLAGS_ppc = -m32 -mbig-endian -mno-vsx $(call cc-option,-mmultiple) CFLAGS_ppc64 = -m64 -mbig-endian -mno-vsx $(call cc-option,-mmultiple) CFLAGS_ppc64le = -m64 -mlittle-endian -mno-vsx $(call cc-option,-mabi=elfv2) From patchwork Thu Sep 14 16:01:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 139670 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp458537vqi; Thu, 14 Sep 2023 09:10:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEtQBPToYg6lj2aUdkoy0a9MmNM8VviQyUvt9tJU8gS7KKD+ukTPDX04h8iSqTZu/x5Jfu1 X-Received: by 2002:a17:90b:4ad0:b0:262:ee7d:2d20 with SMTP id mh16-20020a17090b4ad000b00262ee7d2d20mr5870513pjb.12.1694707808203; Thu, 14 Sep 2023 09:10:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694707808; cv=none; d=google.com; s=arc-20160816; b=kmioqp2+gvmAYhgugtr369Wql+KdXQdCVYWIaI6AJxiPkJsTOzil/H46HyAZceSL1g 5+6fHKZDBVOTpkmiPoTbuVa4HV0ZnzChnyKXnmnRS/2f1OyvaQi9RcGiyxO0bWxYt05z 6aDV9u0i6fEE5ogC1Pd5+eT3GZR9goeEOSWuJHPZdONBJV8D/b76iss4R27N4VKR5DaH zBB1adXvYZAuWGLBMOgoT0uej0d7FyG39W1DJ/0F1BmvPIjaJOndk8iE7mgCqnxsmHs7 B2SXJAazRVKF21/gaRJJNfr3ZK518PmDn+0rd5HVwS9dlOIQGpp2zR0XLZx0hRl3C7oy 4/+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=1JyR3SiVxwWb7dvLAewKEzYLq3P1HydneB5Caa8lTZQ=; fh=azYK+WW57en7GGRdjKWjQOHkHDsNRqF/+6hheqDI200=; b=NZvdLq4phwrKqfwKfxLvA5WKHTK7+k/xJRmzlqcRz3qLrR+nWYYChf+Q8q73qFlZ/3 UIEFpJdUE2FfC3BNJl+o0BYNji+WTt0Wye7GOkJJqSYQ54/izhlJCFndDR5pp7+IJLVU fRSrthzidBluourVu9SNRoyJEeYTKHVbDqD+j+JZUFJ5eePeJCb+wAKafsBPRpwbMy+9 nAo0ba2i14JxxNjQcW+fVlDYP182IBBd+a1xz+CKjAMsFc6XC1j+eDlsLijajomlI/QK 11RWsptSl5B2uPTkg/CStCVSWjlRDnho8qyPunfLFHdMCuNxtPTOhrPKYLzIREDEOVd4 Za/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=l0Q201ay; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id nv7-20020a17090b1b4700b0026b31ed4895si4533933pjb.29.2023.09.14.09.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 09:10:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=l0Q201ay; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 9AB51838C5BB; Thu, 14 Sep 2023 09:02:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241727AbjINQCV (ORCPT + 34 others); Thu, 14 Sep 2023 12:02:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241675AbjINQCA (ORCPT ); Thu, 14 Sep 2023 12:02:00 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 385682726; Thu, 14 Sep 2023 09:01:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1694707293; bh=rklkaKmuEop2mkqsY9+prLbWDx4KQ6pug1wWbwN/pUU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=l0Q201ayEAQrclQ0up4pYQXtSYdkzEK6uNrRoR2Ydz94iDRpFdRko733hWRKljKnX ek6mnVsHkN6wTlz9/mww7YXQUCAYev+O1cs3rkGQ/+0U4BHjqbkFa6enJpUr0UJXSr m4iTLUZQUUJE93+vAqr0qmdRE9D8GGyIxx+th+Tc= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 14 Sep 2023 18:01:18 +0200 Subject: [PATCH 2/4] tools/nolibc: avoid unused parameter warnings for ENOSYS fallbacks MIME-Version: 1.0 Message-Id: <20230914-nolibc-syscall-nr-v1-2-e50df410da11@weissschuh.net> References: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> In-Reply-To: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> To: Willy Tarreau , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1694707292; l=3290; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=rklkaKmuEop2mkqsY9+prLbWDx4KQ6pug1wWbwN/pUU=; b=3ASFNj+C1ZmK459CmYHIr9/+BQymJpv0Mz8eFVb1MBFyHEdV/HJa8qwuKaUDzvCrAjBT06SAh 2EY0avaf7rvCgBGFJj+0E3x0xKlFz9hy/NC6XYAJ7QBGapHZ5vh9TUM X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Thu, 14 Sep 2023 09:02:25 -0700 (PDT) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777029934668376349 X-GMAIL-MSGID: 1777029934668376349 The ENOSYS fallback code does not use its functions parameters. This can lead to compiler warnings about unused parameters. Explicitly avoid these warnings. Signed-off-by: Thomas Weißschuh --- tools/include/nolibc/sys.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tools/include/nolibc/sys.h b/tools/include/nolibc/sys.h index b478750c9004..bc56310c6bdf 100644 --- a/tools/include/nolibc/sys.h +++ b/tools/include/nolibc/sys.h @@ -133,6 +133,8 @@ int sys_chmod(const char *path, mode_t mode) #elif defined(__NR_chmod) return my_syscall2(__NR_chmod, path, mode); #else + (void)path; + (void)mode; return -ENOSYS; #endif } @@ -156,6 +158,9 @@ int sys_chown(const char *path, uid_t owner, gid_t group) #elif defined(__NR_chown) return my_syscall3(__NR_chown, path, owner, group); #else + (void)path; + (void)owner; + (void)group; return -ENOSYS; #endif } @@ -230,6 +235,8 @@ int sys_dup2(int old, int new) #elif defined(__NR_dup2) return my_syscall2(__NR_dup2, old, new); #else + (void)old; + (void)new; return -ENOSYS; #endif } @@ -486,6 +493,8 @@ int sys_gettimeofday(struct timeval *tv, struct timezone *tz) #ifdef __NR_gettimeofday return my_syscall2(__NR_gettimeofday, tv, tz); #else + (void)tv; + (void)tz; return -ENOSYS; #endif } @@ -563,6 +572,8 @@ int sys_link(const char *old, const char *new) #elif defined(__NR_link) return my_syscall2(__NR_link, old, new); #else + (void)old; + (void)new; return -ENOSYS; #endif } @@ -584,6 +595,9 @@ off_t sys_lseek(int fd, off_t offset, int whence) #ifdef __NR_lseek return my_syscall3(__NR_lseek, fd, offset, whence); #else + (void)fd; + (void)offset; + (void)whence; return -ENOSYS; #endif } @@ -607,6 +621,8 @@ int sys_mkdir(const char *path, mode_t mode) #elif defined(__NR_mkdir) return my_syscall2(__NR_mkdir, path, mode); #else + (void)path; + (void)mode; return -ENOSYS; #endif } @@ -629,6 +645,7 @@ int sys_rmdir(const char *path) #elif defined(__NR_unlinkat) return my_syscall3(__NR_unlinkat, AT_FDCWD, path, AT_REMOVEDIR); #else + (void)path; return -ENOSYS; #endif } @@ -652,6 +669,9 @@ long sys_mknod(const char *path, mode_t mode, dev_t dev) #elif defined(__NR_mknod) return my_syscall3(__NR_mknod, path, mode, dev); #else + (void)path; + (void)mode; + (void)dev; return -ENOSYS; #endif } @@ -742,6 +762,9 @@ int sys_open(const char *path, int flags, mode_t mode) #elif defined(__NR_open) return my_syscall3(__NR_open, path, flags, mode); #else + (void)path; + (void)flags; + (void)mode; return -ENOSYS; #endif } @@ -842,6 +865,9 @@ int sys_poll(struct pollfd *fds, int nfds, int timeout) #elif defined(__NR_poll) return my_syscall3(__NR_poll, fds, nfds, timeout); #else + (void)fds; + (void)nfds; + (void)timeout; return -ENOSYS; #endif } @@ -934,6 +960,11 @@ int sys_select(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeva #endif return my_syscall5(__NR__newselect, nfds, rfds, wfds, efds, timeout); #else + (void)nfds; + (void)rfds; + (void)wfds; + (void)efds; + (void)timeout; return -ENOSYS; #endif } From patchwork Thu Sep 14 16:01:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 139771 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp549482vqi; Thu, 14 Sep 2023 11:40:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGpjhMONAfL8O+eISkPLNWQbVWc9rDGqJ2wkUIvz4IoAAQ85dgKe75v0q5yC3k1hd5OvKH8 X-Received: by 2002:a17:902:e884:b0:1bf:8916:8d21 with SMTP id w4-20020a170902e88400b001bf89168d21mr4116929plg.13.1694716852100; Thu, 14 Sep 2023 11:40:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694716852; cv=none; d=google.com; s=arc-20160816; b=rgqY5EPjddnYTvizTPX36yoPMlgug0rFEHzE6tgF+Jxbj99cLNG3CYSD9mBl5rqSCH PrdF7r60yDzSM1Z3sPrdmjwzxHNW9epOjwK5eRAcYnlNwb20GGOETdFcnP9+Wqqz+zaT Uu5kDPNnAilMs3fZJ/uVk/i9mr4KWrsTWfU00E7htTgEKQUWAGYG92Uj8qGSLOpoyXLu +td+/l/pfgT7FWXG3SS/gEvXeu/QYw/O7la4hxK57ET/G5eZkCpI67eNMTCojcW9POeH 3nziHTUaK3u5TLGhc4FFeLF39qTM+PU7VedGuS0t/NMVulplau2dxLdNC/K7l69XvjtI 4uEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=dxkdN82OQPZWSIi/R5RnFnxBkFSgvugw29WpRg5bIqE=; fh=azYK+WW57en7GGRdjKWjQOHkHDsNRqF/+6hheqDI200=; b=yFEPE6QufdNDazh6vYaezDMJiez+mkVQvh/ZWlh43iV3xUDtMLm5BzhNiqBW1CdiFa go30R+bRa8HFKLMhJtOw/kf1OZsnWw+KtchtMxCglXV+5+T+QPQiMWxjZWtggkWynUuc OdzH+uAPxvn6VD4NZ3cTjzfVk+6a9kFUtlCa2PEvZewP5Kt2yXHjxAjXzdh3YEPC0efr ARGELT+hC+qpuYipPTuYirO+X11GuJAwCJZ6UUaobm8N4rXSS9YprQbbuih5zc/9CLXR lu51VhRc0vxbpvI38irCXytMQjGMQd+XlctVivg4mfEmVqk/4JOlVVZCMEaumu8eIm6u fYIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=nJXJ1xXH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id q143-20020a632a95000000b005641dfc74casi1884766pgq.745.2023.09.14.11.40.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 11:40:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=nJXJ1xXH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id E7FE483A3E20; Thu, 14 Sep 2023 09:02:36 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241457AbjINQC1 (ORCPT + 34 others); Thu, 14 Sep 2023 12:02:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241679AbjINQCB (ORCPT ); Thu, 14 Sep 2023 12:02:01 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39953272A; Thu, 14 Sep 2023 09:01:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1694707293; bh=Cu53Z9oyo5nGu95h1+MArmP5k33gYn4AQCWOgwsV/Ac=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=nJXJ1xXHesT1KczhMwLWfm4v2NTSTPtV6KAFS2C4/pVvhrkdw5iJnNuZPfzcNH81X EtTjjm+ZcV9Z7OFkbIZxH8hQi/WlF1z44FUARs5NxJ4SAmGq+cjERWC0zZPVi655jx B+V7D+nxIi6ovzre3715c/cC7TfgIxPeombwOIp4= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 14 Sep 2023 18:01:19 +0200 Subject: [PATCH 3/4] tools/nolibc: don't define new syscall number MIME-Version: 1.0 Message-Id: <20230914-nolibc-syscall-nr-v1-3-e50df410da11@weissschuh.net> References: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> In-Reply-To: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> To: Willy Tarreau , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1694707292; l=1227; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=Cu53Z9oyo5nGu95h1+MArmP5k33gYn4AQCWOgwsV/Ac=; b=gJVRysrB+1Fm++kEZkA6QvwJaFYmt27QWy1msKjd+eJjR2FaQgck9iIwYB4bxpA6by3xzT2p2 PzfnrKof6pvBVVTgIWWtMX9cfqisWMmTH2n3Am9bIT64PWNQbOqeho2 X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Thu, 14 Sep 2023 09:02:37 -0700 (PDT) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777039417685282049 X-GMAIL-MSGID: 1777039417685282049 All symbols created by nolibc are also visible to user code. Syscall constants are expected to come from the kernel headers and should not be made up by nolibc. Refactor the logic to avoid defining syscall numbers. Also the new code is easier to understand. Signed-off-by: Thomas Weißschuh Acked-by: Willy Tarreau --- tools/include/nolibc/sys.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/include/nolibc/sys.h b/tools/include/nolibc/sys.h index bc56310c6bdf..d96f2aa7d987 100644 --- a/tools/include/nolibc/sys.h +++ b/tools/include/nolibc/sys.h @@ -954,11 +954,10 @@ int sys_select(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeva t.tv_nsec = timeout->tv_usec * 1000; } return my_syscall6(__NR_pselect6, nfds, rfds, wfds, efds, timeout ? &t : NULL, NULL); -#elif defined(__NR__newselect) || defined(__NR_select) -#ifndef __NR__newselect -#define __NR__newselect __NR_select -#endif +#elif defined(__NR__newselect) return my_syscall5(__NR__newselect, nfds, rfds, wfds, efds, timeout); +#elif defined(__NR_select) + return my_syscall5(__NR_select, nfds, rfds, wfds, efds, timeout); #else (void)nfds; (void)rfds; From patchwork Thu Sep 14 16:01:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 139867 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp651930vqi; Thu, 14 Sep 2023 15:05:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHOcgNDSXpH7CNqt4Fs3NE3iUVvqOcY2ydozINGnswjY2CRLxbibwY+Ml2khoEjKHTxjXuf X-Received: by 2002:a05:6a00:178e:b0:68b:eb3d:8030 with SMTP id s14-20020a056a00178e00b0068beb3d8030mr7826317pfg.1.1694729118077; Thu, 14 Sep 2023 15:05:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694729118; cv=none; d=google.com; s=arc-20160816; b=SaOIQvz3xIEagHMMATrMsg+9hXVx6BYQjO00Bi1FDJW2u7tWD85qPEkoONxYmyccxL 5bng/KEUyjK0valrnY945bQOEYWew/cg3PdBzXTQVqfPQB06QIlGzvgqX5LNXNAsHPSm 4gtwlf0+3jhrBQZYn4I2zikU8CCsFBMT3pVIfAIACZiu7sWtC1QlKKYBcYO/Jcr0oWZE KyqXIIgya31bm5s9SDCUWSKhD77bTV2czlBpzQc1eOZiTEoUzPsRRTGoFmytPQna/nYk 7rJDSgzEEa/M7o7xil+dgMXFUesUfICf/a5OeGeobtIEa582OPfrl8dsHiu8ZHVkXoTX k8fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=w+mZslg83klDZg4HdBctlqgWb4VXPkwSh/vg2tJ5iSs=; fh=azYK+WW57en7GGRdjKWjQOHkHDsNRqF/+6hheqDI200=; b=rBrUI1/cUZk1d9wwHhFiF14/kAa99x/c6FEuESErYRUpnup/Jrz4g4GmcXCy6G3+hB O3p44bAnQcFTRbr7yfiU/kTCX6dbB8O0Lp7dcTm0LB5igDnWwwOJZFFXG8FVq9hjV9wm mmTHPkQikYriEJjlG15QaerXhHxYfVXGm3W9CFNOT7huUpG5XqXkPCUQT6xhf55sFVc4 Yh3z4GQcPhaKYZvlxc7MzTJ/+FopCOdZ+o4L8IBPoi7tQAi8Xl+yontp6Csvtlf9goVI eEGhEWrdj4g0bqKIpiuyGgZG7DnCTpL/YIPi4lvE2JPM13vn0sx4/Cl2tjzKYD2f7Ydi 9rbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=Y4CgCkNk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id k129-20020a632487000000b00573fcfe9f19si2151093pgk.283.2023.09.14.15.05.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 15:05:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=Y4CgCkNk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id C974D85BE6EC; Thu, 14 Sep 2023 09:02:26 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241740AbjINQCY (ORCPT + 34 others); Thu, 14 Sep 2023 12:02:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51680 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241677AbjINQCB (ORCPT ); Thu, 14 Sep 2023 12:02:01 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 390F32728; Thu, 14 Sep 2023 09:01:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1694707293; bh=zl3Xj+oQp2Dr3MQfACk4EonlZTHBYeQ+nfTgGzZOwVE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Y4CgCkNksk2J13ulVehJe/Ytv0sKK+LNKe/GNZXCdeZIMaFoGW9OlGrjttaz0ylS7 8g4puMZEVbV9XFppWL5QlcvofBOAiR5tgNLSdD9NuZ2Pm7iohQOcRlAjM7DXz6bvSU /5r2kwjn23Ssc99K6I0h63VzuV3TANTgNMTVA9vo= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 14 Sep 2023 18:01:20 +0200 Subject: [PATCH 4/4] tools/nolibc: automatically detect necessity to use pselect6 MIME-Version: 1.0 Message-Id: <20230914-nolibc-syscall-nr-v1-4-e50df410da11@weissschuh.net> References: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> In-Reply-To: <20230914-nolibc-syscall-nr-v1-0-e50df410da11@weissschuh.net> To: Willy Tarreau , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1694707292; l=3914; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=zl3Xj+oQp2Dr3MQfACk4EonlZTHBYeQ+nfTgGzZOwVE=; b=F8EbEV7tGvVpu68Qr3EK6RIfDob0u0Yj2Wok7lOtDs9Z1s+WoEBEmIuIiU5hgIybWgIAnW2VT o284s51I2qYDdkhTq5ZYHZcd9Vboi/EkkwezL5N2eZpLKzuMwT1pykA X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 14 Sep 2023 09:02:26 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777052279504541435 X-GMAIL-MSGID: 1777052279504541435 We can automatically detect if pselect6 is needed or not from the kernel headers. This removes the need to manually specify it. Signed-off-by: Thomas Weißschuh Acked-by: Willy Tarreau --- tools/include/nolibc/arch-aarch64.h | 3 --- tools/include/nolibc/arch-loongarch.h | 4 +--- tools/include/nolibc/arch-riscv.h | 3 --- tools/include/nolibc/sys.h | 10 +++++----- 4 files changed, 6 insertions(+), 14 deletions(-) diff --git a/tools/include/nolibc/arch-aarch64.h b/tools/include/nolibc/arch-aarch64.h index 6c33c46848e3..b23ac1f04035 100644 --- a/tools/include/nolibc/arch-aarch64.h +++ b/tools/include/nolibc/arch-aarch64.h @@ -20,10 +20,7 @@ * - the arguments are cast to long and assigned into the target registers * which are then simply passed as registers to the asm code, so that we * don't have to experience issues with register constraints. - * - * On aarch64, select() is not implemented so we have to use pselect6(). */ -#define __ARCH_WANT_SYS_PSELECT6 #define my_syscall0(num) \ ({ \ diff --git a/tools/include/nolibc/arch-loongarch.h b/tools/include/nolibc/arch-loongarch.h index bf98f6220195..3f8ef8f86c0f 100644 --- a/tools/include/nolibc/arch-loongarch.h +++ b/tools/include/nolibc/arch-loongarch.h @@ -19,10 +19,8 @@ * - the arguments are cast to long and assigned into the target * registers which are then simply passed as registers to the asm code, * so that we don't have to experience issues with register constraints. - * - * On LoongArch, select() is not implemented so we have to use pselect6(). */ -#define __ARCH_WANT_SYS_PSELECT6 + #define _NOLIBC_SYSCALL_CLOBBERLIST \ "memory", "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8" diff --git a/tools/include/nolibc/arch-riscv.h b/tools/include/nolibc/arch-riscv.h index 950cc2283fd7..1927c643c739 100644 --- a/tools/include/nolibc/arch-riscv.h +++ b/tools/include/nolibc/arch-riscv.h @@ -19,10 +19,7 @@ * - the arguments are cast to long and assigned into the target * registers which are then simply passed as registers to the asm code, * so that we don't have to experience issues with register constraints. - * - * On riscv, select() is not implemented so we have to use pselect6(). */ -#define __ARCH_WANT_SYS_PSELECT6 #define my_syscall0(num) \ ({ \ diff --git a/tools/include/nolibc/sys.h b/tools/include/nolibc/sys.h index d96f2aa7d987..dbf5cc92181b 100644 --- a/tools/include/nolibc/sys.h +++ b/tools/include/nolibc/sys.h @@ -946,7 +946,11 @@ int sys_select(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeva struct timeval *t; } arg = { .n = nfds, .r = rfds, .w = wfds, .e = efds, .t = timeout }; return my_syscall1(__NR_select, &arg); -#elif defined(__ARCH_WANT_SYS_PSELECT6) && defined(__NR_pselect6) +#elif defined(__NR__newselect) + return my_syscall5(__NR__newselect, nfds, rfds, wfds, efds, timeout); +#elif defined(__NR_select) + return my_syscall5(__NR_select, nfds, rfds, wfds, efds, timeout); +#elif defined(__NR_pselect6) struct timespec t; if (timeout) { @@ -954,10 +958,6 @@ int sys_select(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeva t.tv_nsec = timeout->tv_usec * 1000; } return my_syscall6(__NR_pselect6, nfds, rfds, wfds, efds, timeout ? &t : NULL, NULL); -#elif defined(__NR__newselect) - return my_syscall5(__NR__newselect, nfds, rfds, wfds, efds, timeout); -#elif defined(__NR_select) - return my_syscall5(__NR_select, nfds, rfds, wfds, efds, timeout); #else (void)nfds; (void)rfds;