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