summaryrefslogtreecommitdiff
path: root/fuzz/build.mk
diff options
context:
space:
mode:
authorAllen Webb <allenwebb@google.com>2018-08-21 12:11:38 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-12-03 12:43:22 -0800
commita5e1a639e55d1c6382b4d690c6b78f6f85e8fbc9 (patch)
tree04ea72cd9750bc6b3e792550f7fd9515186a3636 /fuzz/build.mk
parentb343c963b38b03df97a1bc57f201e26640c89e47 (diff)
downloadchrome-ec-a5e1a639e55d1c6382b4d690c6b78f6f85e8fbc9.tar.gz
cr50_fuzz: Add libprotobuf-mutator support.
This uses protocol buffers to model what actions can be taken with pinweaver at a higher level of abstraction than the raw requests to greatly increase the coverage that can be achieved by fuzzing, while still allowing for invalid inputs to be checked. BRANCH=none BUG=chromium:876582 TEST=sudo emerge libprotobuf-mutator && make -j buildfuzztests && ./build/host/cr50_fuzz/cr50_fuzz.exe Change-Id: Ie7ce569650ca06866f277f36eae61df2684de60c Signed-off-by: Allen Webb <allenwebb@google.com> Reviewed-on: https://chromium-review.googlesource.com/1184107 Reviewed-by: Mattias Nissler <mnissler@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'fuzz/build.mk')
-rw-r--r--fuzz/build.mk12
1 files changed, 9 insertions, 3 deletions
diff --git a/fuzz/build.mk b/fuzz/build.mk
index 5e297b3d66..ea4b18939b 100644
--- a/fuzz/build.mk
+++ b/fuzz/build.mk
@@ -20,8 +20,14 @@ fuzz-test-list-host = cr50_fuzz host_command_fuzz
# Does your object file need to link against cstdlib?
# Yes -> use <obj_name>-rw
# Otherwise use <obj_name>-y
-cr50_fuzz-rw = cr50_fuzz.o
+cr50_fuzz-rw = cr50_fuzz.o pinweaver_model.o mem_hash_tree.o
host_command_fuzz-y = host_command_fuzz.o
-$(out)/cr50_fuzz.exe: $(out)/cryptoc/libcryptoc.a
-$(out)/cr50_fuzz.exe: LDFLAGS_EXTRA+=-lcrypto
+$(out)/RW/fuzz/cr50_fuzz.o: $(out)/gen/fuzz/cr50_fuzz.pb.h
+$(out)/RW/fuzz/cr50_fuzz.o: CPPFLAGS+=${LIBPROTOBUF_MUTATOR_CFLAGS}
+
+$(out)/cr50_fuzz.exe: $(out)/cryptoc/libcryptoc.a \
+ $(out)/gen/fuzz/cr50_fuzz.pb.o \
+ $(out)/gen/fuzz/pinweaver/pinweaver.pb.o \
+
+$(out)/cr50_fuzz.exe: LDFLAGS_EXTRA+=-lcrypto ${LIBPROTOBUF_MUTATOR_LDLIBS}