From aea82c003a1826ebd9bf53194bb40fe911f9c23e Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Tue, 2 Jun 2020 09:18:07 +0200 Subject: sys/linux: first 64bit big-endian architecture s390x * mmap syscall is special on Linux s390x because the parameters for this syscall are passed as a struct on user stack instead of registers. * Introduce the SyscallTrampolines table into targets.Target to address the above problem. * There is a bug in Linux kernel s390x which causes QEMU TCG to hang when KASAN is enabled. The bug has been fixed in the forthcoming Linux 5.8 version. Until then do not enable KASAN when using QEMU TCG, QEMU KVM shall have no problems with KASAN. Signed-off-by: Alexander Egorenkov --- Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 690b43c83..1fb98b09d 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,7 @@ endif arch_freebsd_amd64_host arch_netbsd_amd64_host \ arch_linux_amd64_target arch_linux_386_target \ arch_linux_arm64_target arch_linux_arm_target arch_linux_ppc64le_target arch_linux_mips64le_target \ - arch_freebsd_amd64_target arch_freebsd_386_target \ + arch_linux_s390x_target arch_freebsd_amd64_target arch_freebsd_386_target \ arch_netbsd_amd64_target arch_windows_amd64_target \ arch_akaros_target arch_fuchsia_target \ arch_test presubmit presubmit_parallel clean @@ -284,6 +284,9 @@ arch_linux_mips64le_target: arch_linux_ppc64le_target: env TARGETOS=linux TARGETARCH=ppc64le $(MAKE) target +arch_linux_s390x_target: + env TARGETOS=linux TARGETARCH=s390x $(MAKE) target + arch_freebsd_amd64_host: env HOSTOS=freebsd HOSTARCH=amd64 $(MAKE) host @@ -348,6 +351,7 @@ presubmit_arch: descriptions $(MAKE) arch_linux_arm_target $(MAKE) arch_linux_ppc64le_target $(MAKE) arch_linux_mips64le_target + $(MAKE) arch_linux_s390x_target $(MAKE) arch_freebsd_amd64_target $(MAKE) arch_freebsd_386_target $(MAKE) arch_netbsd_amd64_target @@ -387,6 +391,7 @@ install_prerequisites: sudo apt-get install -y -q g++-powerpc64le-linux-gnu || true sudo apt-get install -y -q g++-arm-linux-gnueabi || true sudo apt-get install -y -q g++-mips64el-linux-gnuabi64 || true + sudo apt-get install -y -q g++-s390x-linux-gnu || true sudo apt-get install -y -q ragel clang-format go get -u golang.org/x/tools/cmd/goyacc \ github.com/dvyukov/go-fuzz/go-fuzz-build -- cgit mrf-deployment