[llvmlinux] GSoC status update
e.bachmakov at gmail.com
Wed Jul 24 21:11:05 UTC 2013
Hey guys, it's been a while!
So, good news! With my branch ("eduard") it is now possible to do static
analysis with both scan-build and the kbuild's $CHECK system.
How? make kernel-scan-build or make kernel-check-build.
Does it work? Depends. Both work if host=target. However, with
cross-compiles scan-build fails because clang -### gives wrong output.
See LLVM bug 16484. You can still use kernel-check-build but you would
have to give up the pretty HTML reports.
What about the results? Quite a few tests had to be disabled to a) not
be swarmed with false positives and b) speed. The attempt to reduce the
bug reports from 4400+ was pretty successful. Up until the crash about
2/3 through there were only 400 :-D. (Crash not due checking.)
What checkers were disabled? Basically anything relating to
* not C (e.g. objc, c++)
* glibc stuff (e.g. gets())
* garbage value (uninitialized_var() and the like are not recognized,
thus there is a lot of spamming)
* other minor things
You can see details on the wiki page:
Checkers can be disabled (and enabled) in arch/all/all.mk
Take a look see if there's anything else to be disabled. Some I left in
because although they shouldn't really be used in the core code, some
tools and the like might benefit.
So, please, try out for yourselves!
1. Optimize checker selection (i.e. check out those disabled by default)
2. Find real bugs
3. Report them and get developer attention
4. Get dev input on what other checkers should be implemented.
5. Implement them.
More information about the LLVMLinux