mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 df79fd5667
			
		
	
	
		df79fd5667
		
	
	
	
	
		
			
			Added a new docker for ubuntu 20.04. This docker has support for Thread Sanitizer including one patch we need in one of the header files. https://github.com/llvm/llvm-project/commit/a72dc86cd This command will build with tsan enabled: make docker-test-tsan-ubuntu2004 V=1 Also added the TSAN suppresion file to disable certain cases of TSAN warnings. Cc: Fam Zheng <fam@euphon.net> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Robert Foley <robert.foley@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200609200738.445-10-robert.foley@linaro.org> Message-Id: <20200612190237.30436-13-alex.bennee@linaro.org>
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -e
 | |
| #
 | |
| # This test will use TSan as part of a build and a make check.
 | |
| #
 | |
| # Copyright (c) 2020 Linaro
 | |
| # Copyright (c) 2016 Red Hat Inc.
 | |
| #
 | |
| # Authors:
 | |
| #  Robert Foley <robert.foley@linaro.org>
 | |
| #  Originally based on test-quick from Fam Zheng <famz@redhat.com>
 | |
| #
 | |
| # This work is licensed under the terms of the GNU GPL, version 2
 | |
| # or (at your option) any later version. See the COPYING file in
 | |
| # the top-level directory.
 | |
| 
 | |
| . common.rc
 | |
| 
 | |
| setup_tsan()
 | |
| {
 | |
|     requires clang tsan
 | |
|     tsan_log_dir="/tmp/qemu-test/build/tsan"
 | |
|     mkdir -p $tsan_log_dir > /dev/null || true
 | |
|     EXTRA_CONFIGURE_OPTS="${EXTRA_CONFIGURE_OPTS} --enable-tsan \
 | |
|                           --cc=clang-10 --cxx=clang++-10 \
 | |
|                           --disable-werror --extra-cflags=-O0"
 | |
|     # detect deadlocks is false currently simply because
 | |
|     # TSan crashes immediately with deadlock detector enabled.
 | |
|     # We have maxed out the history size to get the best chance of finding
 | |
|     # warnings during testing.
 | |
|     # Note, to get TSan to fail on warning, use exitcode=66 below.
 | |
|     tsan_opts="suppressions=/tmp/qemu-test/src/tests/tsan/suppressions.tsan\
 | |
|                detect_deadlocks=false history_size=7\
 | |
|                halt_on_error=0 exitcode=0 verbose=5\
 | |
|                log_path=$tsan_log_dir/tsan_warning"
 | |
|     export TSAN_OPTIONS="$tsan_opts"
 | |
| }
 | |
| 
 | |
| cd "$BUILD_DIR"
 | |
| 
 | |
| TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
 | |
| setup_tsan
 | |
| build_qemu
 | |
| check_qemu
 | |
| install_qemu
 |