[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v2] build: fix dependency tracking for preprocessed files



> -----Original Message-----
> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: 05 June 2020 15:23
> To: xen-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>; George Dunlap 
> <george.dunlap@xxxxxxxxxx>; Ian Jackson
> <ian.jackson@xxxxxxxxxxxxx>; Julien Grall <julien@xxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>; Wei Liu <wl@xxxxxxx>; Paul Durrant <paul@xxxxxxx>
> Subject: [PATCH v2] build: fix dependency tracking for preprocessed files
> 
> While the issue is more general, I noticed that asm-macros.i not getting
> re-generated as needed. This was due to its .*.d file mentioning
> asm-macros.o instead of asm-macros.i. Use -MQ here as well, and while at
> it also use -MQ to avoid the somewhat fragile sed-ary on the *.lds
> dependency tracking files. While there, further avoid open-coding $(CPP)
> and drop the bogus (Arm) / stale (x86) -Ui386.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> ---
> v2: Move -MQ ahead on command lines.

Looks like this is a fairly low risk fix to pull into 4.14 and it looks like it 
would be worth it...

Release-acked-by: Paul Durrant <paul@xxxxxxx>

> 
> --- a/xen/Rules.mk
> +++ b/xen/Rules.mk
> @@ -201,13 +201,13 @@ $(filter %.init.o,$(obj-y) $(obj-bin-y)
>       $(call if_changed,obj_init_o)
> 
>  quiet_cmd_cpp_i_c = CPP     $@
> -cmd_cpp_i_c = $(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) $< -o $@
> +cmd_cpp_i_c = $(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -MQ $@ -o $@ $<
> 
>  quiet_cmd_cc_s_c = CC      $@
>  cmd_cc_s_c = $(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -S $< -o $@
> 
>  quiet_cmd_s_S = CPP     $@
> -cmd_s_S = $(CPP) $(filter-out -Wa$(comma)%,$(a_flags)) $< -o $@
> +cmd_s_S = $(CPP) $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $<
> 
>  %.i: %.c FORCE
>       $(call if_changed,cpp_i_c)
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -123,9 +123,7 @@ asm-offsets.s: $(TARGET_SUBARCH)/asm-off
>       $(CC) $(filter-out -flto,$(c_flags)) -S -o $@ $<
> 
>  xen.lds: xen.lds.S
> -     $(CC) -P -E -Ui386 $(a_flags) -o $@ $<
> -     sed -e 's/xen\.lds\.o:/xen\.lds:/g' <.xen.lds.d >.xen.lds.d.new
> -     mv -f .xen.lds.d.new .xen.lds.d
> +     $(CPP) -P $(a_flags) -MQ $@ -o $@ $<
> 
>  dtb.o: $(CONFIG_DTB_FILE)
> 
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -244,9 +244,7 @@ $(BASEDIR)/include/asm-x86/asm-macros.h:
> 
>  efi.lds: AFLAGS-y += -DEFI
>  xen.lds efi.lds: xen.lds.S
> -     $(CC) -P -E -Ui386 $(filter-out -Wa$(comma)%,$(a_flags)) -o $@ $<
> -     sed -e 's/.*\.lds\.o:/$(@F):/g' <.$(@F).d >.$(@F).d.new
> -     mv -f .$(@F).d.new .$(@F).d
> +     $(CPP) -P $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $<
> 
>  boot/mkelf32: boot/mkelf32.c
>       $(HOSTCC) $(HOSTCFLAGS) -o $@ $<




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.