From patchwork Wed Jun 21 12:54:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhangjin Wu X-Patchwork-Id: 111011 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp4359992vqr; Wed, 21 Jun 2023 06:21:38 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6/GoYf6jD3KVz7O866xDWmhoxS/3WrNM/461t9QiLhD02CMR9Pn8icCxms9/T/3Nfg9ZrE X-Received: by 2002:a17:90b:2353:b0:260:bf66:bb7b with SMTP id ms19-20020a17090b235300b00260bf66bb7bmr5136314pjb.39.1687353698183; Wed, 21 Jun 2023 06:21:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687353698; cv=none; d=google.com; s=arc-20160816; b=sASGUrEcHSAj+VyGr1s8+UcxW/bqcvSOpL0rbt9z4i2myBLKvpBZ5aVwChaDt9WP2D VSFeXUYo6BlwGOxdNN+fmgHtKmCf0DxenOntNi0TB7BcJazW4anL4+R8udnrF9uE5uUh UHyRMbHbBDH9y8cAbck7NEmmnGS0GBUKQS5qVZDkrayGKoOvP8DQWMoG9qGOHhoTtqQc M0BCGrLMciOEhHjnzlSgBemkLJw+QeOz/zTXTHAF6g9jU4J3e4AZEI1yHBBk7Lh4t7RP qDX2pm/SgX7p+OZQlBCvOKF1N8IJrhlAsvvOgX2mZRJrDGZCuUi2sf4dVOOqD7rPV8Iq WP+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:feedback-id:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from; bh=gTZyw1Clpvc3vYnuwcDhG/hBzJ3KaaTHZNdxqyN8zS4=; b=oSdTyg0Czo6cpN259A0avLqol7wbQ8XK64jwambh4UKz6WtGP3vYF+BYWpZr3bNSbc PyM9kOJlTV2Ppm+RsjkQN0a8EKe2SyIy5BMuyjF0gqn9+pWyrnyKtYJumUlB7FCMHvOs nM6v3e89KaZehcbJ40JsI6ewMrfOA6t8lKxkj8LmG8g/Lm94eVZ+xo7fZD3/DQHKQFEY QV73RNCjjGiAe611YgrAkRDqZQh3vnvH4RPTbg0ce/m7kBWQbxIdfJEX7lq36LVLoUry YF/UnGoEkk/n4TFr03OT/KlnD1hXjmPKU4T+Pi/FYeumk9lktz8BchO17S0m53kd/6U+ 7Rkw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id rj6-20020a17090b3e8600b00260f28b14e4si1850551pjb.4.2023.06.21.06.21.24; Wed, 21 Jun 2023 06:21:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232086AbjFUMzM (ORCPT + 99 others); Wed, 21 Jun 2023 08:55:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230226AbjFUMzK (ORCPT ); Wed, 21 Jun 2023 08:55:10 -0400 Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.154.54.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 029FAE7D; Wed, 21 Jun 2023 05:55:08 -0700 (PDT) X-QQ-mid: bizesmtp66t1687352100tvb06x1e Received: from linux-lab-host.localdomain ( [116.30.126.60]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 21 Jun 2023 20:54:59 +0800 (CST) X-QQ-SSF: 01200000000000D0V000000A0000000 X-QQ-FEAT: znfcQSa1hKZcFXPQnd4RVj09C3OnkJWSkgLOL6bViSkPod9ouiMy9YOYaykXy MyO4BJF4HrBpb3CtZbIMxoxb0B6lkVlmh6fyGDCoX2fTYobW1h4DSy7NbZaBbeHKZE+Zi4C cvR4FQVVd+Cf4yDQRUKYc12aKstmn0hMbRbzp5rrpjwlrDEAarUPxpISJH7M8eSOMheHt+a 8oFAgquo0VJe41uTRGNumpHRqWbHfBcrCNjHOWvi4qAkef7DYMfiC6Uy/g7pm+tYbXaq/wO jUkX3tm2VVyxKprhTftxC7sgB/SLY5moBwhe3r7d0gAPAEQovCVxRFjIE8JEmo59d7CC69D VMjtnLwhGv/WiaoO/Ns0yAp9xcRJWoyympa24xwUHueqaviAbk= X-QQ-GoodBg: 0 X-BIZMAIL-ID: 455061309582853142 From: Zhangjin Wu To: w@1wt.eu Cc: thomas@t-8ch.de, arnd@arndb.de, falcon@tinylab.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH v1 02/17] selftests/nolibc: gettid: restore for glibc and musl Date: Wed, 21 Jun 2023 20:54:53 +0800 Message-Id: <7268483c95af54c95c1da6fd5d6d0d08c1be2392.1687344643.git.falcon@tinylab.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:tinylab.org:qybglogicsvrsz:qybglogicsvrsz3a-3 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769318591160014020?= X-GMAIL-MSGID: =?utf-8?q?1769318591160014020?= As the gettid manpage [1] shows, glibc 2.30 has gettid support, so, let's enable the test for glibc >= 2.30. gettid works on musl too. [1]: https://man7.org/linux/man-pages/man2/gettid.2.html Signed-off-by: Zhangjin Wu --- tools/testing/selftests/nolibc/nolibc-test.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index 99afec93dfae..739c9daa91b6 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -548,6 +548,7 @@ int run_syscall(int min, int max) int tmp; int ret = 0; void *p1, *p2; + int has_gettid = 1; /* indicates whether or not /proc is mounted */ proc = stat("/proc", &stat_buf) == 0; @@ -555,6 +556,11 @@ int run_syscall(int min, int max) /* this will be used to skip certain tests that can't be run unprivileged */ euid0 = geteuid() == 0; + /* from 2.30, glibc provides gettid() */ +#if defined(__GLIBC_MINOR__) && defined(__GLIBC__) + has_gettid = __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 30); +#endif + for (test = min; test >= 0 && test <= max; test++) { int llen = 0; /* line length */ @@ -564,9 +570,7 @@ int run_syscall(int min, int max) switch (test + __LINE__ + 1) { CASE_TEST(getpid); EXPECT_SYSNE(1, getpid(), -1); break; CASE_TEST(getppid); EXPECT_SYSNE(1, getppid(), -1); break; -#ifdef NOLIBC - CASE_TEST(gettid); EXPECT_SYSNE(1, gettid(), -1); break; -#endif + CASE_TEST(gettid); EXPECT_SYSNE(has_gettid, gettid(), -1); break; CASE_TEST(getpgid_self); EXPECT_SYSNE(1, getpgid(0), -1); break; CASE_TEST(getpgid_bad); EXPECT_SYSER(1, getpgid(-1), -1, ESRCH); break; CASE_TEST(kill_0); EXPECT_SYSZR(1, kill(getpid(), 0)); break;