Page MenuHomeFreeBSD

Add a man page for kcov.
ClosedPublic

Authored by markj on Aug 18 2020, 5:47 PM.

Details

Reviewers
tuexen
andrew
Group Reviewers
manpages
Commits
rS364406: Add a KCOV man page.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 33068
Build 30446: arc lint + arc unit

Event Timeline

markj requested review of this revision.Aug 18 2020, 5:47 PM
markj created this revision.
gbe added a subscriber: gbe.

Good to go from manpages!

It would maybe feasible to include a notice about incompatibles about other kernel santinzing options.
I remember that I tried to build a kernel once with following options, which was not possible:

include GENERIC
ident GENERIC-SANTI
options		COVERAGE
options		KCOV
options		KCSAN
This revision is now accepted and ready to land.Aug 18 2020, 9:02 PM
In D26108#579497, @gbe wrote:

Good to go from manpages!

It would maybe feasible to include a notice about incompatibles about other kernel santinzing options.
I remember that I tried to build a kernel once with following options, which was not possible:

include GENERIC
ident GENERIC-SANTI
options		COVERAGE
options		KCOV
options		KCSAN

Yeah, I guess you can only build with a single sanitizer at a time. Since KCSAN is itself not yet documented, I'm inclined to just leave the KCOV page as-is. Once I've gotten a chance to try using KCSAN I might try documenting it.

Maybe you can mention that it is only supported on amd64 and arm64, possibly in the BUGS section.

Maybe you can mention that it is only supported on amd64 and arm64, possibly in the BUGS section.

It should work on all architectures. The only issue I know about is on 32-bit mips where we don't have the userspace 64-bit atomic operations to clear buf[0].

share/man/man4/kcov.4
177

It might pay to zero buf[0] before the printf otherwise the return path of the ioctl will also be in the trace.

Maybe you can mention that it is only supported on amd64 and arm64, possibly in the BUGS section.

It should work on all architectures.

Thanks for the clarification. For whatever reason I was assuming that it works only on amd64 and arm64. Not sure why...

In D26108#579497, @gbe wrote:

Good to go from manpages!

It would maybe feasible to include a notice about incompatibles about other kernel santinzing options.
I remember that I tried to build a kernel once with following options, which was not possible:

include GENERIC
ident GENERIC-SANTI
options		COVERAGE
options		KCOV
options		KCSAN

It should be possible to mix them with clang 11 or gcc.

markj marked an inline comment as done.

Clear the tracing buffer after ioctl(KIOENABLE).

This revision now requires review to proceed.Aug 19 2020, 1:57 PM
This revision is now accepted and ready to land.Aug 19 2020, 4:31 PM
This revision was automatically updated to reflect the committed changes.