Re: [PATCH v6] kernel: add kcov code coverage

From: Dmitry Vyukov
Date: Thu Feb 04 2016 - 10:08:54 EST


On Tue, Feb 2, 2016 at 6:19 PM, Jiri Slaby <jslaby@xxxxxxx> wrote:
> On 01/25/2016, 02:00 PM, Dmitry Vyukov wrote:
>> --- a/scripts/Makefile.lib
>> +++ b/scripts/Makefile.lib
>> @@ -136,6 +136,12 @@ _c_flags += $(if $(patsubst n%,, \
>> $(CFLAGS_UBSAN))
>> endif
>>
>> +ifeq ($(CONFIG_KCOV),y)
>> +_c_flags += $(if $(patsubst n%,, \
>> + $(KCOV_INSTRUMENT_$(basetarget).o)$(KCOV_INSTRUMENT)y), \
>> + $(CFLAGS_KCOV))
>
> Now that KCOV does not inherit KASAN's "n"s, I see link errors in efi
> lib with EFI_STUB:
> drivers/firmware/efi/libstub/lib.a(efi-stub-helper.o): In function
> `efi_printk':
> efi-stub-helper.c:(.text+0x13): undefined reference to
> `__sanitizer_cov_trace_pc'
> efi-stub-helper.c:(.text+0x31): undefined reference to
> `__sanitizer_cov_trace_pc'
> ...
>
> I fixed it by adding "KCOV_INSTRUMENT := n" to
> drivers/firmware/efi/libstub/Makefile


Done in v7
Thanks for testing!