diff options
Diffstat (limited to 'Makefile.fuzz')
-rw-r--r-- | Makefile.fuzz | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Makefile.fuzz b/Makefile.fuzz index 666f4c93d..b2340c420 100644 --- a/Makefile.fuzz +++ b/Makefile.fuzz @@ -14,6 +14,7 @@ #$ go get github.com/dvyukov/go-fuzz/go-fuzz-build REPO:="github.com/coredns/coredns" +# set LIBFUZZER=YES to build libfuzzer compatible targets FUZZ:=$(dir $(wildcard plugin/*/fuzz.go)) # plugin/cache/ PLUGINS:=$(foreach f,$(FUZZ),$(subst plugin, ,$(f:/=))) # > /cache @@ -25,13 +26,25 @@ echo: .PHONY: $(PLUGINS) $(PLUGINS): echo +ifeq ($(LIBFUZZER), YES) + go-fuzz-build -tags fuzz -libfuzzer -o $(@).a ./plugin/$(@) + clang -fsanitize=fuzzer $(@).a -o $(@) +else go-fuzz-build -tags fuzz $(REPO)/plugin/$(@) go-fuzz -bin=./$(@)-fuzz.zip -workdir=fuzz/$(@) +endif + .PHONY: corefile corefile: +ifeq ($(LIBFUZZER), YES) + go-fuzz-build -tags fuzz -libfuzzer -o $(@).a ./test + clang -fsanitize=fuzzer $(@).a -o $(@) +else go-fuzz-build -tags fuzz $(REPO)/test go-fuzz -bin=./test-fuzz.zip -workdir=fuzz/$(@) +endif + .PHONY: clean |