From patchwork Sat Aug 5 19:44:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhangjin Wu X-Patchwork-Id: 131542 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp623059vqr; Sat, 5 Aug 2023 13:29:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEklQFDqC/Xsg38qgvNH6M5nxqit4xfk7J7m0tjn+JxGdGnTLCmd1y7PITN5YljKB3OIoJ0 X-Received: by 2002:a05:6402:1049:b0:522:3849:48d8 with SMTP id e9-20020a056402104900b00522384948d8mr4460853edu.9.1691267362902; Sat, 05 Aug 2023 13:29:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691267362; cv=none; d=google.com; s=arc-20160816; b=osLAYQHF6Q/u523mNc9gQEqGmg28TEBLyFsXX1dfz2XzAJQoo8ZYhvT4wDJmMx3f1J YACt2ygJmuS/YeduEzu96y4M5Vtle6Ucb70kHaANN/ql8UQ+1qY1+b4zJRMzwyOzbMFI zee6QBj1yEF5o4d+w1+sP0EMetR4X2uEqsFMtghAuR0gwidIVsdfm6QMKImSh0oYjGWD CrojH6NKMyrObu7N5po5lmqJNhYhnhq4mQpzgkRHxOy2Mde0chtcP/6sZXCf3NIJcGXP E16ph6HZipuzJS+2SNpTiFtCRu6TXu7u+oP4FKdtTYrwyeQYL2/Q088OOUwZu/X1Zw7R obkw== 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=ov0nffO7bjGb0ytkw9iCZXHAlicf057jeEFQ/0DyAQY=; fh=DrC1ao6zWEVelNCseScP4CYabbtnw3Q97iD7eRX9jLs=; b=Q0KdeBkfGpF3mg+Y+bxUkclOoh2tWfJCAhiO9x7ysmHThvMDO+ZALjxo1YaTSSHJ6A HmyqHL4ZZDyCsUsxTFg/V2pixARe0HprzWEs9hMHo06if957ix1RJIz6rPP6U3V3vrmF QKeyASk0u9irP8iY0mXSiIpD1Q0X8nvGewvdu6qbozyG59d1yyWYIKTooags68oL0ZE4 2ItXss+HjXTZ3X23ccDWOIaq3io/j13ZhZqL9wYHlPMMSava0k/DRkDDEC3pZ6PnLW45 VL89iHlYDQ5l+iCCOp+m7Yw1zcutgKKsT9yX3/6gP6B9RyA4n3ZwImRSpvyjmg3fWH3q hGVA== 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 w14-20020a50fa8e000000b0052288239e89si3531173edr.231.2023.08.05.13.28.57; Sat, 05 Aug 2023 13:29:22 -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 S229897AbjHEToq (ORCPT + 99 others); Sat, 5 Aug 2023 15:44:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229445AbjHETop (ORCPT ); Sat, 5 Aug 2023 15:44:45 -0400 X-Greylist: delayed 388 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sat, 05 Aug 2023 12:44:39 PDT Received: from smtpbgeu1.qq.com (smtpbgeu1.qq.com [52.59.177.22]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B7D91732; Sat, 5 Aug 2023 12:44:38 -0700 (PDT) X-QQ-mid: bizesmtp70t1691264671t108lc7o Received: from linux-lab-host.localdomain ( [116.30.131.233]) by bizesmtp.qq.com (ESMTP) with id ; Sun, 06 Aug 2023 03:44:30 +0800 (CST) X-QQ-SSF: 01200000000000E0X000000A0000000 X-QQ-FEAT: zT6n3Y95oi1y8fInte+k+VHvD3XvDVwfE8g+6rqb4AalVd+4Dp8ranF9L+Uj4 FgiLWpRUWNssQ6BCu3QpEgULh0+D/vQtwuqkIXWYGYlD+YIAz5eQv/h/FUeYLMOXuvHWr3U iZVd5cYtdKsLGjzv0XBVn8z2/lm0WxRoq4SwkO4RpyypFtUdzMcoI1cJDkq62YP1K3/H/W+ wE6UYkpZpbAwgMGvNLShExMa42TNO0QIB4hfIYreA0tA1Hg7gukvqVND8Z0HWwXn6bT2kdP MSQLwxMRj5O4r50e1fdPek4yKGvwE/wGNjf29Tijk9xfzyE5HP/JMcYACthhu3MZ7M1uMch ji0eYxYDIBWe/zp5CyFRzpVGCZPo25ZKSscKXyVDtlNgvHXJQ1CPYQTW4+H9oUG8CotnEqf X-QQ-GoodBg: 0 X-BIZMAIL-ID: 7505355185918316706 From: Zhangjin Wu To: w@1wt.eu Cc: falcon@tinylab.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, tanyuan@tinylab.org, thomas@t-8ch.de Subject: [PATCH v1 2/4] selftests/nolibc: customize CROSS_COMPILE for many architectures Date: Sun, 6 Aug 2023 03:44:29 +0800 Message-Id: <3ec048008a9b2c1ed7406214c6899e5412a97596.1691263493.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:qybglogicsvrgz:qybglogicsvrgz5a-1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_PASS, T_SPF_HELO_TEMPERROR 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: INBOX X-GMAIL-THRID: 1773422366469936526 X-GMAIL-MSGID: 1773422366469936526 This simplifies the 'make' commands for most of nolibc supported architectures, only requires the XARCH option now. Almost all distributions provide qemu and toolchains for i386, x86_64, arm64, arm, mips, riscv and s390, let's customize the local toolchains for them. The fresh new loongarch is an exception, which is not covered here. If want to use another toolchain which is not customized here, we can also pass CROSS_COMPILE, CROSS_COMPILE_$(XARCH) and even CC from command line. After carefully install and configure $(CROSS_COMPILE_$(XARCH)) and qemu-$(XARCH), it is able to run tests for the architectures or their variants like this: $ ARCHS="i386 x86_64 arm64 arm mips ppc ppc64 ppc64le riscv s390" $ for arch in ${ARCHS[@]}; do printf "%9s: " $arch; make run-user XARCH=$arch | grep status; done i386: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning x86_64: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning arm64: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning arm: 165 test(s): 156 passed, 9 skipped, 0 failed => status: warning mips: 165 test(s): 156 passed, 9 skipped, 0 failed => status: warning ppc: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning ppc64: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning ppc64le: 165 test(s): 157 passed, 8 skipped, 0 failed => status: warning riscv: 165 test(s): 156 passed, 9 skipped, 0 failed => status: warning s390: 165 test(s): 156 passed, 9 skipped, 0 failed => status: warning [1]: https://mirrors.edge.kernel.org/pub/tools/crosstool/ Signed-off-by: Zhangjin Wu --- tools/testing/selftests/nolibc/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index e2b02761ad44..d32694656221 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -56,9 +56,17 @@ IMAGE = $(IMAGE_$(XARCH)) IMAGE_NAME = $(notdir $(IMAGE)) # CROSS_COMPILE: cross toolchain prefix by architecture +CROSS_COMPILE_i386 ?= x86_64-linux-gnu- +CROSS_COMPILE_x86_64 ?= x86_64-linux-gnu- +CROSS_COMPILE_x86 ?= x86_64-linux-gnu- +CROSS_COMPILE_arm64 ?= aarch64-linux-gnu- +CROSS_COMPILE_arm ?= arm-linux-gnueabi- +CROSS_COMPILE_mips ?= mipsel-linux-gnu- CROSS_COMPILE_ppc ?= powerpc-linux-gnu- CROSS_COMPILE_ppc64 ?= powerpc64le-linux-gnu- CROSS_COMPILE_ppc64le ?= powerpc64le-linux-gnu- +CROSS_COMPILE_riscv ?= riscv64-linux-gnu- +CROSS_COMPILE_s390 ?= s390x-linux-gnu- CROSS_COMPILE ?= $(CROSS_COMPILE_$(XARCH)) # make sure CC is prefixed with CROSS_COMPILE