diff options
| author | Robert Foley | 2020-06-12 21:02:31 +0200 |
|---|---|---|
| committer | Alex Bennée | 2020-06-16 15:49:05 +0200 |
| commit | df79fd5667fb99c6fdfa0d295cb020e9e3eef1e7 (patch) | |
| tree | 9c80818d4c759488e72fcfe007280b6f0ea9c6ac /tests/tsan | |
| parent | thread: add tsan annotations to QemuSpin (diff) | |
| download | qemu-df79fd5667fb99c6fdfa0d295cb020e9e3eef1e7.tar.gz qemu-df79fd5667fb99c6fdfa0d295cb020e9e3eef1e7.tar.xz qemu-df79fd5667fb99c6fdfa0d295cb020e9e3eef1e7.zip | |
tests/docker: Added docker build support for TSan.
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>
Diffstat (limited to 'tests/tsan')
| -rw-r--r-- | tests/tsan/blacklist.tsan | 10 | ||||
| -rw-r--r-- | tests/tsan/suppressions.tsan | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/tsan/blacklist.tsan b/tests/tsan/blacklist.tsan new file mode 100644 index 0000000000..75e444f5dc --- /dev/null +++ b/tests/tsan/blacklist.tsan @@ -0,0 +1,10 @@ +# This is an example blacklist. +# To enable use of the blacklist add this to configure: +# "--extra-cflags=-fsanitize-blacklist=<src path>/tests/tsan/blacklist.tsan" +# The eventual goal would be to fix these warnings. + +# TSan is not happy about setting/getting of dirty bits, +# for example, cpu_physical_memory_set_dirty_range, +# and cpu_physical_memory_get_dirty. +src:bitops.c +src:bitmap.c diff --git a/tests/tsan/suppressions.tsan b/tests/tsan/suppressions.tsan new file mode 100644 index 0000000000..73414b9ebd --- /dev/null +++ b/tests/tsan/suppressions.tsan @@ -0,0 +1,14 @@ +# This is the set of runtime suppressions of TSan warnings. +# The goal would be to have here only items we do not +# plan to fix, and to explain why for each item. + +# TSan reports a double lock on RECURSIVE mutexes. +# Since the recursive lock is intentional, we choose to ignore it. +mutex:aio_context_acquire +mutex:pthread_mutex_lock + +# TSan reports a race betwen pthread_mutex_init() and +# pthread_mutex_lock(). Since this is outside of QEMU, +# we choose to ignore it. +race:pthread_mutex_init +race:pthread_mutex_lock |
