summaryrefslogtreecommitdiffstats
path: root/glusterfs.spec.in
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2018-11-13 12:53:17 +0100
committerAmar Tumballi <amarts@redhat.com>2018-11-27 05:21:06 +0000
commitb2a50989822c135c2e4cb84ad7ad400957a49d10 (patch)
tree6b247db491e1ac1dc6398100f130b2445fd6755d /glusterfs.spec.in
parentfc9889d0373c323aab0d93f8ca31d2d8151bd041 (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.in16
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)