diff options
author | Vegard Nossum <vegard.nossum@oracle.com> | 2016-05-21 17:46:10 +0200 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2016-08-04 00:18:06 +0200 |
commit | 915eed20e40f4dcb142cb29a3de6f6ba67f4bb5a (patch) | |
tree | dc606eee62b4f6ed16b456450c4cc3523aab719f /arch/um/kernel | |
parent | 8e99bc70468dcc42a756ca4b100e2fb2c30c4c89 (diff) | |
download | linux-915eed20e40f4dcb142cb29a3de6f6ba67f4bb5a.tar.gz linux-915eed20e40f4dcb142cb29a3de6f6ba67f4bb5a.tar.bz2 linux-915eed20e40f4dcb142cb29a3de6f6ba67f4bb5a.zip |
um: Support kcov
This adds support for kcov to UML.
There is a small problem where UML will randomly segfault during boot;
this is because current_thread_info() occasionally returns an invalid
(non-NULL) pointer and we try to dereference it in
__sanitizer_cov_trace_pc(). I consider this a bug in UML itself and this
patch merely exposes it.
[v2: disable instrumentation in UML-specific code]
Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Thomas Meyer <thomas@m3y3r.de>
Cc: user-mode-linux-devel <user-mode-linux-devel@lists.sourceforge.net>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/kernel')
-rw-r--r-- | arch/um/kernel/Makefile | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile index a6a5e42caaef..2f36d515762e 100644 --- a/arch/um/kernel/Makefile +++ b/arch/um/kernel/Makefile @@ -3,6 +3,11 @@ # Licensed under the GPL # +# Don't instrument UML-specific code; without this, we may crash when +# accessing the instrumentation buffer for the first time from the +# kernel. +KCOV_INSTRUMENT := n + CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START) \ -DELF_ARCH=$(LDS_ELF_ARCH) \ -DELF_FORMAT=$(LDS_ELF_FORMAT) \ |