mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/build: Add cppcheck and cppcheck-html make rules
cppcheck can be used to check Xen code quality. To create a report do "make cppcheck" on a built tree adding any options you added during the process you used to build xen (like CROSS_COMPILE or XEN_TARGET_ARCH). This will generate an xml report xen-cppcheck.xml. To create a html report do "make cppcheck-html" in the same way and a full report to be seen in a browser will be generated in cppcheck-htmlreport/index.html. For better results it is recommended to build your own cppcheck from the latest sources that you can find at [1]. Development and result analysis has been done with cppcheck 2.7. The Makefile rule is searching for all C files which have been compiled (ie which have a generated .o file) and is running cppcheck on all of them using the current configuration of xen so only the code actually compiled is checked. A new tool is introduced to merge all cppcheck reports into one global report including all findings and removing duplicates. Some extra variables can be used to customize the report: - CPPCHECK can be used to give the full path to the cppcheck binary to use (default is to use the one from the standard path). - CPPCHECK_HTMLREPORT can be used to give the full path to cppcheck-htmlreport (default is to use the one from the standard path). This has been tested on several arm configurations (x86 should work but has not been tested). [1] https://cppcheck.sourceforge.io/ Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Michal Orzel <michal.orzel@arm.com> [stefano: add in-code comment on commit] Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com> Tested-by: Stefano Stabellini <sstabellini@kernel.org> Acked-by: Stefano Stabellini <sstabellini@kernel.org> Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
1 parent
540645212a
commit
43aa3f6e72
6 files changed
+186
-2
No files matched your search
@@ -7,6 +7,7 @@
|
||||
*.o
|
||||
*.d
|
||||
*.d2
|
||||
*.c.cppcheck
|
||||
*.opic
|
||||
*.a
|
||||
*.so
|
||||
@@ -296,6 +297,7 @@ xen/.banner
|
||||
xen/.config
|
||||
xen/.config.old
|
||||
xen/.xen.elf32
|
||||
xen/xen-cppcheck.xml
|
||||
xen/System.map
|
||||
xen/arch/x86/boot/mkelf32
|
||||
xen/arch/x86/boot/cmdline.S
|
||||
@@ -316,6 +318,7 @@ xen/arch/*/efi/runtime.c
|
||||
xen/arch/*/include/asm/asm-offsets.h
|
||||
xen/common/config_data.S
|
||||
xen/common/config.gz
|
||||
xen/cppcheck-htmlreport
|
||||
xen/include/headers*.chk
|
||||
xen/include/compat/*
|
||||
xen/include/config/
|
||||
|
||||