From 4e93eeaa3b63b6ae50954a29662cc3ea6be48b23 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 12 Feb 2022 02:27:50 -0800 Subject: add rv64 backend It is mostly complete, but still has a few ABI bugs when passing floats in structs, or when structs are passed partly in register, and partly on stack. --- tools/test.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tools') diff --git a/tools/test.sh b/tools/test.sh index c5e5b37..1b23469 100755 --- a/tools/test.sh +++ b/tools/test.sh @@ -43,6 +43,30 @@ init() { fi bin="$bin -t arm64" ;; + rv64) + for p in riscv64-linux-musl riscv64-linux-gnu + do + cc="$p-gcc -no-pie" + qemu="qemu-riscv64" + if + $cc -v >/dev/null 2>&1 && + $qemu -version >/dev/null 2>&1 + then + if sysroot=$($cc -print-sysroot) && test -n "$sysroot" + then + qemu="$qemu -L $sysroot" + fi + break + fi + cc= + done + if test -z "$cc" + then + echo "Cannot find riscv64 compiler or qemu." + exit 1 + fi + bin="$bin -t rv64" + ;; "") case `uname` in *Darwin*) -- cgit v1.2.3