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

Re: [Xen-devel] [PATCH v2.1 2/2] x86emul: fix test harness and fuzzer build dependencies



On Fri, Jan 25, 2019 at 12:34:18AM -0700, Jan Beulich wrote:
> Commit fd35f32b4b ("tools/x86emul: Use struct cpuid_policy in the
> userspace test harnesses") didn't account for the dependencies of
> cpuid-autogen.h to potentially change between incremental builds.
> In particular the harness has a "run" goal which is supposed to be
> usable independently of the rest of the tools sub-tree building, and
> both the harness and the fuzzer code are also supposed to be buildable
> independently. Therefore they need to recursively invoke make to re-
> build the generated header if needed, but only when these rules did not
> get invoked recursively themselves.
> 
> Finally cpuid.o did not have any dependencies added for it.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> v2.1: Split controversial parts from (hopefully) non-controversial ones.
> v2: Guard $(MAKE) invocations by $(MAKELEVEL) checks.
> 
> --- a/tools/fuzz/x86_instruction_emulator/Makefile
> +++ b/tools/fuzz/x86_instruction_emulator/Makefile
> @@ -26,13 +26,15 @@ GCOV_FLAGS := --coverage
>       $(CC) -c $(CFLAGS) $(GCOV_FLAGS) $< -o $@
>  
>  x86.h := $(addprefix $(XEN_ROOT)/tools/include/xen/asm/,\
> -                     x86-vendors.h x86-defns.h msr-index.h)
> +                     x86-vendors.h x86-defns.h msr-index.h) \
> +         $(addprefix $(XEN_ROOT)/tools/include/xen/lib/x86/, \
> +                     cpuid.h cpuid-autogen.h)
>  x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
>  
>  # x86-emulate.c will be implicit for both
>  x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h)
>  
> -fuzz-emul.o fuzz-emulate-cov.o wrappers.o: $(x86_emulate.h)
> +fuzz-emul.o fuzz-emulate-cov.o cpuid.o wrappers.o: $(x86_emulate.h)
>  
>  x86-insn-fuzzer.a: fuzz-emul.o x86-emulate.o cpuid.o
>       $(AR) rc $@ $^
> @@ -43,6 +45,11 @@ afl-harness: afl-harness.o fuzz-emul.o x
>  afl-harness-cov: afl-harness-cov.o fuzz-emul-cov.o x86-emulate-cov.o cpuid.o 
> wrappers.o
>       $(CC) $(CFLAGS) $(GCOV_FLAGS) $^ -o $@
>  
> +ifeq ($(MAKELEVEL),0)
> +$(XEN_ROOT)/tools/include/xen/lib/x86/cpuid-autogen.h: FORCE
> +     $(MAKE) -C $(XEN_ROOT)/tools/include build
> +endif
> +

I'm not a big fan of this.  But Andrew and you are the maintainers of
this facility so I won't block this patch.

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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