From: Wei Liu Date: Wed, 31 Aug 2016 15:26:51 +0000 (+0100) Subject: xen: fix gcov compilation X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~505 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=dcf22aa0dc08c0414fa31a20db8d054711e45961;p=xen.git xen: fix gcov compilation Currently enabling gcov in hypervisor won't build because although 26c9d03d ("gcov: Adding support for coverage information") claimed that %.init.o files were excluded from applying compilation options, it was in fact not true. Fix that by filtering out the options correctly. Because the dependency of stub.o in x86 EFI build can't be eliminated easily and we prefer a generalised method going forward, we introduce nogcov-y to explicitly mark objects that don't need to build with gcov support. Signed-off-by: Wei Liu Signed-off-by: Jan Beulich Acked-by: Ian Jackson --- diff --git a/xen/Rules.mk b/xen/Rules.mk index a190ff0ad1..22aca0ac69 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -115,7 +115,9 @@ subdir-all := $(subdir-y) $(subdir-n) $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -DINIT_SECTIONS_ONLY -$(obj-$(coverage)): CFLAGS += -fprofile-arcs -ftest-coverage -DTEST_COVERAGE +ifeq ($(coverage),y) +$(filter-out %.init.o $(nogcov-y),$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -fprofile-arcs -ftest-coverage -DTEST_COVERAGE +endif ifeq ($(lto),y) # Would like to handle all object files as bitcode, but objects made from diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile index 5099430600..d62b14fcff 100644 --- a/xen/arch/x86/efi/Makefile +++ b/xen/arch/x86/efi/Makefile @@ -12,3 +12,4 @@ efi := $(if $(efi),$(shell rm disabled)y,$(shell $(call create,boot.init.o); $(c extra-$(efi) += boot.init.o relocs-dummy.o runtime.o compat.o stub.o: $(extra-y) +nogcov-$(efi) += stub.o