Hello all, The first release of stoat is available.
Stoat is a S.T.atic (LLVM) O.bject file A.nalysis T.ool which is a rewrite of sfpv (Static Function Property Verification) due to the very quick bitrot of the clang API (stoat uses only the llvm optimizer pass API). This tool is designed to evaulate if any realtime function can end up calling a non-realtime function eg a jack process callback being able to call malloc or free. It does this by: 1) Using either inline or external function whitelists and function blacklists to establish which functions are safe and unsafe. 2) Extracting a function callgraph (including virtual function calls) from the LLVM IR representation of code (which is effectively one level above assembly) 3) Perform simple deductions based upon the callgraph This approach is designed to work best for C/C++ projects and for realtime verification, but fairly little stops it from generalizing to other languages (assuming the other languages compile with llvm) and other function properties. Existing annotations from sfpv should still work, though the only project that I've seen using them has been jalv so far. As this might seem quite abstract, here is an example usage with non-timeline: http://log.fundamental-code.com/2014/08/15/stoat-tutorial-example Project Home: https://github.com/fundamental/stoat Report bugs to: https://github.com/fundamental/stoat/issues Mark
pgpd42pf55bBX.pgp
Description: PGP signature
_______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
