diff options
author | Niels de Vos <ndevos@redhat.com> | 2018-11-13 12:53:17 +0100 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-11-27 05:21:06 +0000 |
commit | b2a50989822c135c2e4cb84ad7ad400957a49d10 (patch) | |
tree | 6b247db491e1ac1dc6398100f130b2445fd6755d /glusterfs.spec.in | |
parent | fc9889d0373c323aab0d93f8ca31d2d8151bd041 (diff) |
build: add option to compile with ThreadSanitizer
ThreadSanitizer is a debugging tool that can detect threads that race
for data modifications. These races can result in data corruption and
are difficult to track and fix.
Change-Id: Ibbdaf17c811e30e79cd5bdcf9cd9ff2d0cdb2abb
URL: https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
Reported-by: Yaniv Kaul <ykaul@redhat.com>
Fixes: #543
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Diffstat (limited to 'glusterfs.spec.in')
-rw-r--r-- | glusterfs.spec.in | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 81fef8e9ac0..58d5c6bfd5b 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -112,6 +112,15 @@ %global _without_syslog --disable-syslog %endif +# tsan +# if you wish to compile an rpm with thread sanitizer... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with tsan +%{?_with_tsan:%global _with_tsan --enable-tsan} + +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +%global _with_tsan %{nil} +%endif + # valgrind # if you wish to compile an rpm to run all processes under valgrind... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with valgrind @@ -247,6 +256,9 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: libasan %endif +%if 0%{?_with_tsan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) +BuildRequires: libtsan +%endif BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel @@ -684,6 +696,7 @@ done %{?_with_firewalld} \ %{?_with_gnfs} \ %{?_with_tmpfilesdir} \ + %{?_with_tsan} \ %{?_with_valgrind} \ %{?_without_epoll} \ %{?_without_events} \ @@ -1373,6 +1386,9 @@ exit 0 %endif %changelog +* Tue Nov 13 2018 Niels de Vos <ndevos@redhat.com> +- Add an option to build with ThreadSanitizer (TSAN) + * Fri Sep 7 2018 Niels de Vos <ndevos@redhat.com> - Add an option to build with address sanitizer (ASAN) |