@@ -4,12 +4,12 @@ CC=clang
44LLVM_PROFDATA =llvm-profdata
55LLVM_COV =llvm-cov
66
7- PARAMS = sphincs-shake-256f
8- THASH = robust
7+ NPROC? =30
98
109SOURCES_DIR = ref
1110
1211SOURCES = \
12+ ../../../c/$(SOURCES_DIR ) /params.c \
1313 ../../../c/$(SOURCES_DIR ) /address.c \
1414 ../../../c/$(SOURCES_DIR ) /merkle.c \
1515 ../../../c/$(SOURCES_DIR ) /wots.c \
@@ -36,35 +36,37 @@ HEADERS = \
3636 ../../../c/$(SOURCES_DIR ) /randombytes.h \
3737 ../../../c/ckb-sphincsplus.h
3838
39- ifneq (,$(findstring shake,$(PARAMS ) ) )
40- SOURCES += \
41- ../../../c/$(SOURCES_DIR)/fips202.c \
42- ../../../c/$(SOURCES_DIR)/hash_shake.c \
43- ../../../c/$(SOURCES_DIR)/thash_shake_$(THASH).c
44- HEADERS += \
45- ../../../c/$(SOURCES_DIR)/fips202.h
46- endif
47- ifneq (,$(findstring haraka,$(PARAMS ) ) )
48- SOURCES += \
49- ../../../c/$(SOURCES_DIR)/haraka.c \
50- ../../../c/$(SOURCES_DIR)/hash_haraka.c \
51- ../../../c/$(SOURCES_DIR)/thash_haraka_$(THASH).c
52- HEADERS += \
53- ../../../c/$(SOURCES_DIR)/haraka.h
54- endif
55- ifneq (,$(findstring sha2,$(PARAMS ) ) )
56- SOURCES += \
57- ../../../c/$(SOURCES_DIR)/sha2.c \
58- ../../../c/$(SOURCES_DIR)/hash_sha2.c \
59- ../../../c/$(SOURCES_DIR)/thash_sha2_$(THASH).c
60- HEADERS += \
61- ../../../c/$(SOURCES_DIR)/sha2.h
62- endif
39+ # shake
40+ SOURCES += \
41+ ../../../c/$(SOURCES_DIR ) /fips202.c \
42+ ../../../c/$(SOURCES_DIR ) /hash_shake.c \
43+ ../../../c/$(SOURCES_DIR ) /thash_shake_robust.c\
44+ ../../../c/$(SOURCES_DIR ) /thash_shake_simple.c
45+ HEADERS += \
46+ ../../../c/$(SOURCES_DIR ) /fips202.h
47+
48+ # sha2
49+ SOURCES += \
50+ ../../../c/$(SOURCES_DIR ) /sha2.c \
51+ ../../../c/$(SOURCES_DIR ) /hash_sha2.c \
52+ ../../../c/$(SOURCES_DIR ) /thash_sha2_robust.c \
53+ ../../../c/$(SOURCES_DIR ) /thash_sha2_simple.c
54+ HEADERS += \
55+ ../../../c/$(SOURCES_DIR ) /sha2.h
6356
64- FUZZER_FLAGS =-g -O1 -fsanitize=fuzzer,address,undefined -fsanitize-recover=address -DPARAMS=$(PARAMS )
57+ # haraka
58+ SOURCES += \
59+ ../../../c/$(SOURCES_DIR ) /haraka.c \
60+ ../../../c/$(SOURCES_DIR ) /hash_haraka.c \
61+ ../../../c/$(SOURCES_DIR ) /thash_haraka_robust.c \
62+ ../../../c/$(SOURCES_DIR ) /thash_haraka_simple.c
63+ HEADERS += \
64+ ../../../c/$(SOURCES_DIR ) /haraka.h
65+
66+ FUZZER_FLAGS =-g -O1 -fsanitize=fuzzer,address,undefined -fsanitize-recover=address
6567FUZZER_FLAGS := $(FUZZER_FLAGS ) -I ../../../c -I ../../../c/ref
6668
67- COVERAGE_FLAGS =-fprofile-instr-generate -fcoverage-mapping -DPARAMS= $( PARAMS )
69+ COVERAGE_FLAGS =-fprofile-instr-generate -fcoverage-mapping
6870COVERAGE_FLAGS := $(COVERAGE_FLAGS ) -I ../../../c -I ../../../c/ref
6971
7072ifeq ($(OS ) ,MacOS)
@@ -80,5 +82,13 @@ build/fuzzer: sphincs_plus_fuzzer.c $(SOURCES) $(HEADERS)
8082build/cover : sphincs_plus_cover.c sphincs_plus_fuzzer.c $(SOURCES ) $(HEADERS )
8183 $(CC ) $(COVERAGE_FLAGS ) -o $@ $(SOURCES ) $< sphincs_plus_fuzzer.c
8284
85+ start-fuzzer : build/fuzzer
86+ mkdir -p build/corpus
87+ cd build && ./fuzzer -max_len=8000000 -jobs=$(NPROC ) corpus
88+
8389clean :
84- rm -rf build/*
90+ rm -rf build/*
91+
92+ clean-fuzzer :
93+ rm -rf build/corpus
94+ rm -rf build/fuzz-* .log
0 commit comments