If I understand gcov is a part of gcc project. In manuals for gcov is said that it was designed to work out-of-the box for setups where kernels are built and run on the same machine. But, in fact, it absolutely unuseful for kernel testing in virtual machines. In QEMU I need to make new user like on my host-machine and make paths with kernel sources files under this paths because that what gcov needs (or am I wrong???). Is any agreeable methods for testing profiled kernel in qemu? I think is a good way to rewrite gcov that it can be designed and used for defferent machines or used without hard-link with source trees. For example: create convolution for every .c file and put as head in .gcda file. Run gcov --gcda <path_to_this_gcda> -f <source_file> and after gcov make convolution for <source_file> and compare with head's convolution in gcda file. If OK - does something usefull.