Messages in this thread | | | From | Dmitry Vyukov <> | Date | Fri, 26 Jun 2020 16:28:54 +0200 | Subject | Re: [PATCH v2] riscv: Allow building with kcov coverage |
| |
On Fri, Jun 26, 2020 at 2:40 PM Tobias Klauser <tklauser@distanz.ch> wrote: > > Add ARCH_HAS_KCOV and HAVE_GCC_PLUGINS to the riscv Kconfig. > Also disable instrumentation of some early boot code and vdso. > > Boot-tested on QEMU's riscv64 virt machine. > > Cc: Björn Töpel <bjorn.topel@gmail.com> > Cc: Dmitry Vyukov <dvyukov@google.com> > Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Assuming it boots now :)
Acked-by: Dmitry Vyukov <dvyukov@google.com>
> --- > arch/riscv/Kconfig | 2 ++ > arch/riscv/boot/Makefile | 2 ++ > arch/riscv/kernel/vdso/Makefile | 1 + > arch/riscv/mm/Makefile | 2 ++ > 4 files changed, 7 insertions(+) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index 089293e4ad46..a7d7f8184f15 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -19,6 +19,7 @@ config RISCV > select ARCH_HAS_DEBUG_WX > select ARCH_HAS_GCOV_PROFILE_ALL > select ARCH_HAS_GIGANTIC_PAGE > + select ARCH_HAS_KCOV > select ARCH_HAS_MMIOWB > select ARCH_HAS_PTE_SPECIAL > select ARCH_HAS_SET_DIRECT_MAP > @@ -57,6 +58,7 @@ config RISCV > select HAVE_DMA_CONTIGUOUS if MMU > select HAVE_EBPF_JIT if MMU > select HAVE_FUTEX_CMPXCHG if FUTEX > + select HAVE_GCC_PLUGINS > select HAVE_GENERIC_VDSO if MMU && 64BIT > select HAVE_PCI > select HAVE_PERF_EVENTS > diff --git a/arch/riscv/boot/Makefile b/arch/riscv/boot/Makefile > index 3530c59b3ea7..c59fca695f9d 100644 > --- a/arch/riscv/boot/Makefile > +++ b/arch/riscv/boot/Makefile > @@ -14,6 +14,8 @@ > # Based on the ia64 and arm64 boot/Makefile. > # > > +KCOV_INSTRUMENT := n > + > OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S > > targets := Image loader > diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile > index 29cf052f6541..4b0d3bcc44e5 100644 > --- a/arch/riscv/kernel/vdso/Makefile > +++ b/arch/riscv/kernel/vdso/Makefile > @@ -29,6 +29,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH) > > # Disable gcov profiling for VDSO code > GCOV_PROFILE := n > +KCOV_INSTRUMENT := n > > # Force dependency > $(obj)/vdso.o: $(obj)/vdso.so > diff --git a/arch/riscv/mm/Makefile b/arch/riscv/mm/Makefile > index 363ef01c30b1..c0185e556ca5 100644 > --- a/arch/riscv/mm/Makefile > +++ b/arch/riscv/mm/Makefile > @@ -5,6 +5,8 @@ ifdef CONFIG_FTRACE > CFLAGS_REMOVE_init.o = -pg > endif > > +KCOV_INSTRUMENT_init.o := n > + > obj-y += init.o > obj-y += extable.o > obj-$(CONFIG_MMU) += fault.o pageattr.o > -- > 2.27.0 >
| |