summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 13:10:07 +0000
committertimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 13:10:07 +0000
commit08b975b2b57f20d6e2c9ea5c3ee8db5f14bbb37a (patch)
treee1d1e511e9b7cdcd9e3d06a794c30c54c0c93334
parent1cc6db18c1b61c1c10651d08902d461ff85c1136 (diff)
downloadchromium_src-08b975b2b57f20d6e2c9ea5c3ee8db5f14bbb37a.zip
chromium_src-08b975b2b57f20d6e2c9ea5c3ee8db5f14bbb37a.tar.gz
chromium_src-08b975b2b57f20d6e2c9ea5c3ee8db5f14bbb37a.tar.bz2
Set --free-is-write TSan flag default value to "no".
As of r2200 (in Chromium SVN now), the default value is "no". As of r2344 (planned to check-in soon), the default value is "yes" but some false positive reports are not yet eliminated for this mode. BUG=http://code.google.com/p/data-race-test/issues/detail?id=40 Review URL: http://codereview.chromium.org/3041024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53780 0039d316-1c4b-4281-b951-d872f2087c98
-rwxr-xr-xtools/valgrind/valgrind_test.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/valgrind/valgrind_test.py b/tools/valgrind/valgrind_test.py
index b63ca892..2da5644 100755
--- a/tools/valgrind/valgrind_test.py
+++ b/tools/valgrind/valgrind_test.py
@@ -587,6 +587,13 @@ class ThreadSanitizerBase(object):
parser.add_option("", "--announce-threads", default="yes",
dest="announce_threads",
help="Show the the stack traces of thread creation")
+ parser.add_option("", "--free-is-write", default="no",
+ dest="free_is_write",
+ help="Treat free()/operator delete as memory write. "
+ "This helps finding more data races, but (currently) "
+ "this may give false positive reports on std::string "
+ "internals, see http://code.google.com/p/data-race-test"
+ "/issues/detail?id=40")
def EvalBoolFlag(self, flag_value):
if (flag_value in ["1", "true", "yes"]):
@@ -622,6 +629,12 @@ class ThreadSanitizerBase(object):
if self.EvalBoolFlag(self._options.announce_threads):
ret += ["--announce-threads"]
+ if self.EvalBoolFlag(self._options.free_is_write):
+ ret += ["--free-is-write=yes"]
+ else:
+ ret += ["--free-is-write=no"]
+
+
# --show-pc flag is needed for parsing the error logs on Darwin.
if platform_suffix == 'mac':
ret += ["--show-pc=yes"]