RANDCONFIG builds discover efi.lds is not updated when autogenerated headers are updated.
Upon inspection, the generated .d file contains xen.lds.o as target, not the once thought efi.lds.o. That's because gcc disregards the output object name specified by -o when generating dependency, so the sed invocation has no effect. Arguably that's a bug in gcc, which can be fixed at some point, so we make the sed rune to work with *.lds. At the same time replace the hardcoded sed run for xen.lds with the new one. Signed-off-by: Wei Liu <wei.l...@citrix.com> --- xen/arch/x86/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 162b0b94c0..c102dcd323 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -234,12 +234,12 @@ $(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile xen.lds: xen.lds.S $(CC) -P -E -Ui386 $(filter-out -Wa$(comma)%,$(AFLAGS)) -o $@ $< - sed -e 's/xen\.lds\.o:/xen\.lds:/g' <.xen.lds.d >.xen.lds.d.new + sed -e 's/.*\.lds\.o:/$(@F):/g' <.$(@F).d >.$(@F).d.new mv -f .xen.lds.d.new .xen.lds.d efi.lds: xen.lds.S $(CC) -P -E -Ui386 -DEFI $(filter-out -Wa$(comma)%,$(AFLAGS)) -o $@ $< - sed -e 's/efi\.lds\.o:/efi\.lds:/g' <.$(@F).d >.$(@F).d.new + sed -e 's/.*\.lds\.o:/$(@F):/g' <.$(@F).d >.$(@F).d.new mv -f .$(@F).d.new .$(@F).d boot/mkelf32: boot/mkelf32.c -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel