aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rwxr-xr-xtools/test.sh24
2 files changed, 27 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index ca27b35..7acaf35 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,9 @@ clean-gen: clean
check: qbe
tools/test.sh all
+check-x86_64: qbe
+ TARGET=x86_64 tools/test.sh all
+
check-arm64: qbe
TARGET=arm64 tools/test.sh all
diff --git a/tools/test.sh b/tools/test.sh
index 23c6663..0eb6593 100755
--- a/tools/test.sh
+++ b/tools/test.sh
@@ -62,6 +62,30 @@ init() {
fi
bin="$bin -t rv64"
;;
+ x86_64)
+ for p in x86_64-linux-musl x86_64-linux-gnu
+ do
+ cc="$p-gcc -no-pie -static"
+ qemu="qemu-x86_64"
+ 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 x86_64 compiler or qemu."
+ exit 1
+ fi
+ bin="$bin -t amd64_sysv"
+ ;;
"")
case `uname` in
*Darwin*)