summaryrefslogtreecommitdiff
path: root/doc/HACKING
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-06-08 10:57:25 -0400
committerNick Mathewson <nickm@torproject.org>2015-06-08 10:57:25 -0400
commit64bdf040f021ca3ccb661c4056ee857e2ed44a4e (patch)
tree3689d15413df8d64d94d21420cfed966d807f6b0 /doc/HACKING
parentc0c0a6085e7e6395e4f5819ba47076786ae2f2b0 (diff)
parent7f3b15a8ec119f696f666dc2d98e25d71c69e19c (diff)
downloadtor-64bdf040f021ca3ccb661c4056ee857e2ed44a4e.tar.gz
tor-64bdf040f021ca3ccb661c4056ee857e2ed44a4e.zip
Merge remote-tracking branch 'teor/feature15817-clang-sanitizers'
Diffstat (limited to 'doc/HACKING')
-rw-r--r--doc/HACKING26
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/HACKING b/doc/HACKING
index 0d78f797fc..511e3fbe41 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -115,6 +115,32 @@ valgrind --leak-check=yes --error-limit=no --show-reachable=yes src/or/tor
pass --undef-value-errors=no to valgrind, or rebuild your openssl
with -DPURIFY.)
+Coverity
+~~~~~~~~
+
+Nick regularly runs the coverity static analyzer on the Tor codebase.
+
+The preprocessor define __COVERITY__ is used to work around instances
+where coverity picks up behavior that we wish to permit.
+
+clang Static Analyzer
+~~~~~~~~~~~~~~~~~~~~~
+
+The clang static analyzer can be run on the Tor codebase using Xcode (WIP)
+or a command-line build.
+
+The preprocessor define __clang_analyzer__ is used to work around instances
+where clang picks up behavior that we wish to permit.
+
+clang Runtime Sanitizers
+~~~~~~~~~~~~~~~~
+
+To build the Tor codebase with the clang Address and Undefined Behavior
+sanitizers, see the file contrib/clang/sanitize_blacklist.txt.
+
+Preprocessor workarounds for instances where clang picks up behavior that
+we wish to permit are also documented in the blacklist file.
+
Running lcov for unit test coverage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~