From: Zhangjin Wu <falcon@tinylab.org>
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 [thread overview]
Message-ID: <3ec048008a9b2c1ed7406214c6899e5412a97596.1691263493.git.falcon@tinylab.org> (raw)
In-Reply-To: <cover.1691263493.git.falcon@tinylab.org>
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 <falcon@tinylab.org>
---
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
--
2.25.1
next prev parent reply other threads:[~2023-08-05 19:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-05 19:36 [PATCH v1 0/4] selftests/nolibc: customize CROSS_COMPILE for all supported architectures Zhangjin Wu
2023-08-05 19:38 ` [PATCH v1 1/4] selftests/nolibc: allow use x86_64 toolchain for i386 Zhangjin Wu
2023-08-05 19:44 ` Zhangjin Wu [this message]
2023-08-05 19:49 ` [PATCH v1 3/4] selftests/nolibc: customize CROSS_COMPILE for loongarch Zhangjin Wu
2023-08-05 19:51 ` [PATCH v1 4/4] selftests/nolibc: add some notes about qemu tools Zhangjin Wu
2023-08-06 10:12 ` Willy Tarreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3ec048008a9b2c1ed7406214c6899e5412a97596.1691263493.git.falcon@tinylab.org \
--to=falcon@tinylab.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=tanyuan@tinylab.org \
--cc=thomas@t-8ch.de \
--cc=w@1wt.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.