mirror of
https://github.com/openvswitch/ovs
synced 2025-10-21 14:49:41 +00:00
Makefile.am: Add clang static analysis support
Clang Static Analyzer is a source code analysis tool to find bugs. This patch adds make target to trigger static analysis using below commands. ./boot.sh For Clang: ./configure CC=clang --with-dpdk For GCC: ./configure CC=gcc --with-dpdk CFLAGS="-std=gnu99" make clang-analyze Run 'scan-view <results dir>' command to examine the bug report. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com> Acked-By: Lance Richardson <lrichard@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
committed by
Ben Pfaff
parent
dde5ea7bd6
commit
30b79363b9
22
INSTALL.md
22
INSTALL.md
@@ -746,6 +746,28 @@ Instructions to setup travis-ci for your GitHub repository:
|
||||
4. Pushing a commit to the repository which breaks the build or the
|
||||
testsuite will now trigger a email sent to mylist@mydomain.org
|
||||
|
||||
Static Code Analysis
|
||||
--------------------
|
||||
|
||||
Static Analysis is a method of debugging Software by examining code rather
|
||||
than actually executing it. This can be done through 'scan-build' commandline
|
||||
utility which internally uses clang (or) gcc to compile the code and also
|
||||
invokes a static analyzer to do the code analysis. At the end of the build, the
|
||||
reports are aggregated in to a common folder and can later be analyzed using
|
||||
'scan-view'.
|
||||
|
||||
Open vSwitch includes a Makefile target to trigger static code Analysis and
|
||||
the instructions are below.
|
||||
|
||||
1. ./boot.sh
|
||||
2. ./configure CC=clang (when using clang compiler)
|
||||
./configure CC=gcc CFLAGS="-std=gnu99" (when using GCC)
|
||||
3. make clang-analyze
|
||||
|
||||
You should invoke scan-view to view analysis results. The last line of output
|
||||
from 'make clang-analyze' shall list the command (containing results directory)
|
||||
that you should invoke to view the results on a browser.
|
||||
|
||||
Bug Reporting
|
||||
=============
|
||||
|
||||
|
@@ -401,6 +401,13 @@ ovsext_clean: datapath-windows/ovsext.sln
|
||||
endif
|
||||
.PHONY: ovsext
|
||||
|
||||
clang-analyze: clean
|
||||
@which clang scan-build >/dev/null 2>&1 || \
|
||||
(echo "Unable to find clang/scan-build, Install clang,clang-analyzer packages"; exit 1)
|
||||
@$(MKDIR_P) "$(srcdir)/tests/clang-analyzer-results"
|
||||
@scan-build -o $(srcdir)/tests/clang-analyzer-results --use-cc=$(CC) $(MAKE)
|
||||
.PHONY: clang-analyze
|
||||
|
||||
dist-hook: $(DIST_HOOKS)
|
||||
all-local: $(ALL_LOCAL)
|
||||
clean-local: $(CLEAN_LOCAL)
|
||||
|
Reference in New Issue
Block a user