mbox series

[v1,0/4] selftests/nolibc: customize CROSS_COMPILE for all supported architectures

Message ID cover.1691263493.git.falcon@tinylab.org
Headers show
Series selftests/nolibc: customize CROSS_COMPILE for all supported architectures | expand

Message

Zhangjin Wu Aug. 5, 2023, 7:36 p.m. UTC
Hi, Willy

Based on the CROSS_COMPILE customize support [1] from the last ppc
patchset, to further make run-user/run targets happy for all of the
nolibc supported architectures, let's customize CROSS_COMPILE for all of
them.

Beside loongarch, all of the other architectures have local toolchains.
let's use the one from [2] for loongarch, it has a different prefix.

And also, as suggested by you in our previous discuss, let's add some
notes for the toolchains and firmwares instead of automatically download
them.

Now, the test iteration becomes very simple and pretty:

    $ 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

(I have no qemu-user currently for loongarch, so, no test result above)

Best regards,
Zhangjin
---
[1] https://lore.kernel.org/lkml/cover.1691259983.git.falcon@tinylab.org/
[2] https://mirrors.edge.kernel.org/pub/tools/crosstool/

Zhangjin Wu (4):
  selftests/nolibc: allow use x86_64 toolchain for i386
  selftests/nolibc: customize CROSS_COMPILE for many architectures
  selftests/nolibc: customize CROSS_COMPILE for loongarch
  selftests/nolibc: add some notes about qemu tools

 tools/testing/selftests/nolibc/Makefile | 32 ++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

Comments

Willy Tarreau Aug. 6, 2023, 10:12 a.m. UTC | #1
On Sun, Aug 06, 2023 at 03:51:24AM +0800, Zhangjin Wu wrote:
> Almost all distributions provide qemu-system-$(XARCH), their firmwares
> and qemu-$(XARCH), but for the new riscv and loongarch, users may still
> need to download external firmwares or compile qemu from scratch, let's
> add some notes about them.

That's indeed useful information but I think that we should really move
all the download instructions to a separate file. I wanted to write one
anyway, but didn't have the time with all the build tests to run :-(

I may propose one to be merged late, possibly.

Willy