docs: asan: update doc to match current status
[vpp.git] / docs / troubleshooting / sanitizer.rst
index af23994..cbe72bc 100644 (file)
@@ -1,15 +1,15 @@
 .. _sanitizer:
 
-**************
+*****************
 Google Sanitizers
-**************
+*****************
 
 VPP is instrumented to support `Google Sanitizers <https://github.com/google/sanitizers>`_.
 As of today, only `AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_
-is supported and only for the heap.
+is supported, only for GCC and only for the heap.
 
 AddressSanitizer
-==============
+================
 
 `AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_  (aka ASan) is a memory
 error detector for C/C++. Think Valgrind but much faster.
@@ -20,27 +20,25 @@ build option, so all VPP targets should be supported. For example:
 .. code-block:: console
 
     # build a debug image with ASan support:
-    $ make rebuild VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+    $ make rebuild VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON CC=gcc-8
     ....
 
     # build a release image with ASan support:
-    $ make rebuild-release VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+    $ make rebuild-release VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON CC=gcc-8
     ....
 
     # build packages in debug mode with ASan support:
-    $ make pkg-deb-debug VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+    $ make pkg-deb-debug VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON CC=gcc-8
     ....
 
     # run GBP plugin tests in debug mode with ASan
-    $ make test-debug TEST=test_gbp VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+    $ make test-debug TEST=test_gbp VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON CC=gcc-8
     ....
 
-Once VPP has been built with ASan support, you can use it as usual. When
-running under a debugger it can be useful to disable LeakSanitizer which is
-not compatible with a debugger and displays spurious warnings at exit:
-
+Once VPP has been built with ASan support you can use it as usual including
+under gdb:
 .. code-block:: console
 
-    $ ASAN_OPTIONS=detect_leaks=0 gdb --args $PWD/build-root/install-vpp_debug-native/vpp/bin/vpp "unix { interactive }"
+    $ gdb --args $PWD/build-root/install-vpp_debug-native/vpp/bin/vpp "unix { interactive }"
     ....