[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] coverage: filter out lib{fdt,elf}-temp.o
At the moment, trying to run xencov read/reset (calling SYSCTL_coverage_op under the hood) results in a crash. This is due to an attempt to access code in the .init.* sections (libfdt for Arm and libelf for x86) that are stripped after boot. Normally, the build system compiles any *.init.o file without COV_FLAGS. However, these two libraries are handled differently as sections will be renamed to init after linking. This worked until e321576f4047 ("xen/build: start using if_changed") that added lib{fdt,elf}-temp.o to extra-y. Any file listed there without *.init.o suffix will be part of non-init-objects for which COV_FLAGS will be appended. In such case, the solution is to add a file to nocov-y. Also, for libfdt, append to nocov-y only if CONFIG_OVERLAY_DTB is not set. Otherwise, there is no section renaming and we should be able to run the coverage. Fixes: e321576f4047 ("xen/build: start using if_changed") Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> --- xen/common/libelf/Makefile | 2 +- xen/common/libfdt/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/libelf/Makefile b/xen/common/libelf/Makefile index 8a4522e4e141..f618f70d5c8e 100644 --- a/xen/common/libelf/Makefile +++ b/xen/common/libelf/Makefile @@ -1,5 +1,5 @@ obj-bin-y := libelf.o -nocov-y += libelf.o +nocov-y += libelf.o libelf-temp.o libelf-objs := libelf-tools.o libelf-loader.o libelf-dominfo.o SECTIONS := text data $(SPECIAL_DATA_SECTIONS) diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile index d50487aa6e32..fb0d8a48eee2 100644 --- a/xen/common/libfdt/Makefile +++ b/xen/common/libfdt/Makefile @@ -5,10 +5,10 @@ SECTIONS := text data $(SPECIAL_DATA_SECTIONS) # For CONFIG_OVERLAY_DTB, libfdt functionalities will be needed during runtime. ifneq ($(CONFIG_OVERLAY_DTB),y) OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s)) +nocov-y += libfdt.o libfdt-temp.o endif obj-y += libfdt.o -nocov-y += libfdt.o CFLAGS-y += -I$(srctree)/include/xen/libfdt/ -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |