Re: [PATCH v3 0/3] gcov: add Clang support
From: Peter Oberparleiter
Date: Tue Mar 05 2019 - 09:30:01 EST
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