On 23.01.2019 00:37, Tri Vo wrote: > This patch series adds Clang supoprt for gcov. > > Patch 1 refactors existing code in preparation for Clang support. > Patch 2 implements necessary LLVM runtime hooks and gcov kernel interfaces. > Patch 3 updates documentation.
Thanks for the updates! I've provided suggestions for some minor improvements in my other review e-mails. With those changes applied, the patch set is in my opinion ready for inclusion into the mainline kernel. My suggestion would be to re-post the resulting version while putting Andrew Morton on CC as gcov changes are typically integrated via his tree. Also I've successfully re-tested this patch set version on s390 using GCC 7.3.0 to ensure that the existing GCC support is still working. Unfortunately I wasn't able to test the Clang version due to some compile problems on s390 (unrelated to this patch set). If you haven't done so, I would like to suggest to run the following tests with the Clang gcov-kernel version that should catch problems in some corner cases: 1. Unload a module, then use llvm-cov on the associated coverage file. Expectation: correct llvm-cov output including coverage of module exit code. 2. Unload a module, modify its source, re-compile it and load it again, then use llvm-cov on the associated coverage file. Expectation: kernel message "discarding saved data", correct llvm-cov output with no coverage of module exit code. 3. Unload a module, then reset all coverage data by writing to /sys/kernel/debug/gcov/reset. Expectation: all coverage files associated with the module are removed from debugfs. -- Peter Oberparleiter Linux on Z Development - IBM Germany