[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 07/13] fuzz/x86_emulate: Add 'afl-cov' target
>>> On 25.09.17 at 16:26, <george.dunlap@xxxxxxxxxx> wrote: > --- a/tools/fuzz/README.afl > +++ b/tools/fuzz/README.afl > @@ -41,3 +41,17 @@ Use the x86 instruction emulator fuzzer as an example. > $ $AFLPATH/afl-fuzz -t 1000 -i testcase_dir -o findings_dir -- > ./afl-harness > > Please see AFL documentation for more information. > + > +# GENERATING COVERAGE INFORMATION > + > +To use afl-cov or gcov, you need a separate binary instrumented to > +generate coverage data. To do this, use the target `afl-cov`: > + > + $ make afl-cov #produces afl-harness-cov > + > +NOTE: Please also note that the coverage instrumentation hard-codes > +the absolute path for the instrumentation read and write files in the > +binary; so coverage data will always show up in the build directory no > +matter where you run the binary from. > + > +Please see afl-cov and/or gcov documentation for more information. > \ No newline at end of file Would you please add the missing newline? > --- a/tools/fuzz/x86_instruction_emulator/Makefile > +++ b/tools/fuzz/x86_instruction_emulator/Makefile > @@ -23,19 +23,34 @@ x86_emulate_user.c x86_emulate_user.h: %: > > CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -I. > > +GCOV_FLAGS=--coverage := ? > x86.h := asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h > x86_emulate.h := x86_emulate_user.h x86_emulate/x86_emulate.h $(x86.h) > > -x86_emulate_user.o: x86_emulate_user.c x86_emulate/x86_emulate.c > $(x86_emulate.h) > +X86_EMULATE_INPUTS = x86_emulate_user.c x86_emulate/x86_emulate.c > $(x86_emulate.h) > +x86_emulate_user.o: $(X86_EMULATE_INPUTS) > + > +x86_emulate_user-cov.o: $(X86_EMULATE_INPUTS) > + $(CC) -c $(CFLAGS) $(GCOV_FLAGS) -o $@ x86_emulate_user.c > > fuzz-emul.o: $(x86_emulate.h) > > +fuzz-emul-cov.o: fuzz-emul.c $(x86_emulate.h) > + $(CC) -c $(CFLAGS) $(GCOV_FLAGS) -o $@ fuzz-emul.c > + > +afl-harness-cov.o: afl-harness.c > + $(CC) -c $(CFLAGS) $(GCOV_FLAGS) $^ -o $@ Rather than effectively repeating this command three time, I think someone else had already suggested to use a pattern rule instead. > @@ -46,7 +61,7 @@ distclean: clean > > .PHONY: clean > clean: > - rm -f *.a *.o .*.d afl-harness > + rm -f *.a *.o .*.d afl-harness afl-harness-cov *.gcda *.gcno *.gcov Perhaps simply *.gc* to cover for possible future generated file types? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |