On 05.12.2025 20:34, Grygorii Strashko wrote: > --- a/xen/Kconfig.debug > +++ b/xen/Kconfig.debug > @@ -39,11 +39,23 @@ config COVERAGE > bool "Code coverage support" > depends on SYSCTL && !LIVEPATCH > select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS > + select RELAX_INIT_CHECK > + select DO_NOT_FREE_INIT_MEMORY > help > Enable code coverage support. > > If unsure, say N here. > > +config RELAX_INIT_CHECK > + bool > + help > + Relax strict check for .init sections only in %.init.o files. > + > +config DO_NOT_FREE_INIT_MEMORY > + bool > + help > + Prevent freeing of .init sections at the end of Xen boot. > + > config CONDITION_COVERAGE > bool "Condition coverage support" > depends on COVERAGE && CC_HAS_MCDC
Please obey to the somewhat special indentation rules for Kconfig files. > @@ -259,6 +259,7 @@ $(obj)/%.o: $(src)/%.S FORCE > > > quiet_cmd_obj_init_o = INIT_O $@ > +ifneq ($(CONFIG_RELAX_INIT_CHECK),y) > define cmd_obj_init_o > $(OBJDUMP) -h $< | while read idx name sz rest; do \ > case "$$name" in \ > @@ -271,6 +272,11 @@ define cmd_obj_init_o > done || exit $$?; \ > $(OBJCOPY) $(foreach s,$(SPECIAL_DATA_SECTIONS),--rename-section > .$(s)=.init.$(s)) $< $@ > endef > +else > +define cmd_obj_init_o > + $(OBJCOPY) $(foreach s,$(SPECIAL_DATA_SECTIONS),--rename-section > .$(s)=.init.$(s)) $< $@ > +endef > +endif If the objcopy indeed needs suppressing altogether (as Andrew suggests), the unwanted redundancy here would go away anyway. Otherwise my (recurring) request to avoid such duplication. > --- a/xen/common/libfdt/Makefile > +++ b/xen/common/libfdt/Makefile > @@ -5,7 +5,6 @@ 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 > endif > > obj-y += libfdt.o Is this sufficient? Don't you first need to replace the custom objcopy use? Jan
