summaryrefslogtreecommitdiff
path: root/doc/developer
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-06-19 08:01:16 -0400
committerDonald Sharp <sharpd@nvidia.com>2024-06-19 08:01:16 -0400
commit248bf31a4f2880133c57e36a4a2bfbbdcf3d9a9a (patch)
tree444608183ab9b7fde7ca9d9a2ed2311da3f6e7e6 /doc/developer
parent64112ed9e65eacd9a706d59fd1345ae64ee6c4a4 (diff)
doc: Document the usage of --enable-undefined-sanitizer
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'doc/developer')
-rw-r--r--doc/developer/workflow.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst
index f720f6279e..166c96da33 100644
--- a/doc/developer/workflow.rst
+++ b/doc/developer/workflow.rst
@@ -1306,6 +1306,16 @@ MemorySanitizer
to ``configure``.
+UndefinedSanitizer
+ Similar to AddressSanitizer, this tool provides runtime instrumentation for
+ detecting use of undefined behavior in C. Testing your own code with this
+ tool before submission is encouraged. You can enable it by passing::
+
+ --enable-undefined-sanitizer
+
+ to ``configure``. If you run FRR with this you will probably also have
+ to set ``sudo sysctl vm.mmap_rnd_bits=28``
+
All of the above tools are available in the Clang/LLVM toolchain since 3.4.
AddressSanitizer and ThreadSanitizer are available in recent versions of GCC,
but are no longer actively maintained. MemorySanitizer is not available in GCC.