This will make our lives easier in an upcoming change, but it's also how we're
supposed to set things up anyway.
Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
This will make our lives easier in an upcoming change, but it's also how we're
supposed to set things up anyway.
Lint Skipped |
Unit Tests Skipped |
Path | Packages | |||
---|---|---|---|---|
M | contrib/fuzz/Makefile (22 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
85d29c725110 | a16354dfe6e5 | Augie Fackler | Dec 6 2019, 3:12 PM |
CC = clang | CC = clang | ||||
CXX = clang++ | CXX = clang++ | ||||
LIB_FUZZING_ENGINE ?= -lFuzzingEngine | |||||
all: bdiff mpatch xdiff | all: bdiff mpatch xdiff | ||||
pyutil.o: pyutil.cc pyutil.h | pyutil.o: pyutil.cc pyutil.h | ||||
$(CXX) $(CXXFLAGS) -g -O1 \ | $(CXX) $(CXXFLAGS) -g -O1 \ | ||||
`$$OUT/sanpy/bin/python-config --cflags` \ | `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-I../../mercurial -c -o pyutil.o pyutil.cc | -I../../mercurial -c -o pyutil.o pyutil.cc | ||||
bdiff.o: ../../mercurial/bdiff.c | bdiff.o: ../../mercurial/bdiff.c | ||||
$(CC) $(CFLAGS) -fsanitize=fuzzer-no-link,address -c -o bdiff.o \ | $(CC) $(CFLAGS) -fsanitize=fuzzer-no-link,address -c -o bdiff.o \ | ||||
../../mercurial/bdiff.c | ../../mercurial/bdiff.c | ||||
bdiff: bdiff.cc bdiff.o | bdiff: bdiff.cc bdiff.o | ||||
$(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | ||||
-std=c++17 \ | -std=c++17 \ | ||||
-I../../mercurial bdiff.cc bdiff.o -o bdiff | -I../../mercurial bdiff.cc bdiff.o -o bdiff | ||||
bdiff-oss-fuzz.o: ../../mercurial/bdiff.c | bdiff-oss-fuzz.o: ../../mercurial/bdiff.c | ||||
$(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c | $(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c | ||||
bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o | bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o | ||||
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \ | $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \ | ||||
bdiff-oss-fuzz.o -lFuzzingEngine -o \ | bdiff-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \ | ||||
$$OUT/bdiff_fuzzer | $$OUT/bdiff_fuzzer | ||||
mpatch.o: ../../mercurial/mpatch.c | mpatch.o: ../../mercurial/mpatch.c | ||||
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \ | $(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \ | ||||
../../mercurial/mpatch.c | ../../mercurial/mpatch.c | ||||
mpatch: CXXFLAGS += -std=c++17 | mpatch: CXXFLAGS += -std=c++17 | ||||
mpatch: mpatch.cc mpatch.o | mpatch: mpatch.cc mpatch.o | ||||
$(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | ||||
-I../../mercurial mpatch.cc mpatch.o -o mpatch | -I../../mercurial mpatch.cc mpatch.o -o mpatch | ||||
mpatch-oss-fuzz.o: ../../mercurial/mpatch.c | mpatch-oss-fuzz.o: ../../mercurial/mpatch.c | ||||
$(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c | $(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c | ||||
mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o | mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o | ||||
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \ | $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \ | ||||
mpatch-oss-fuzz.o -lFuzzingEngine -o \ | mpatch-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \ | ||||
$$OUT/mpatch_fuzzer | $$OUT/mpatch_fuzzer | ||||
mpatch_corpus.zip: | mpatch_corpus.zip: | ||||
python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip | python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip | ||||
x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h | x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h | ||||
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c \ | $(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c \ | ||||
-o $@ \ | -o $@ \ | ||||
$< | $< | ||||
xdiff: CXXFLAGS += -std=c++17 | xdiff: CXXFLAGS += -std=c++17 | ||||
xdiff: xdiff.cc xdiffi.o xprepare.o xutils.o | xdiff: xdiff.cc xdiffi.o xprepare.o xutils.o | ||||
$(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \ | ||||
-I../../mercurial xdiff.cc \ | -I../../mercurial xdiff.cc \ | ||||
xdiffi.o xprepare.o xutils.o -o xdiff | xdiffi.o xprepare.o xutils.o -o xdiff | ||||
fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h | fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h | ||||
$(CC) $(CFLAGS) -c \ | $(CC) $(CFLAGS) -c \ | ||||
-o $@ \ | -o $@ \ | ||||
$< | $< | ||||
xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o | xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o | ||||
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \ | $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \ | ||||
fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o \ | fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o \ | ||||
-lFuzzingEngine -o $$OUT/xdiff_fuzzer | $(LIB_FUZZING_ENGINE) -o $$OUT/xdiff_fuzzer | ||||
manifest.o: ../../mercurial/cext/manifest.c | manifest.o: ../../mercurial/cext/manifest.c | ||||
$(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-I../../mercurial \ | -I../../mercurial \ | ||||
-c -o manifest.o ../../mercurial/cext/manifest.c | -c -o manifest.o ../../mercurial/cext/manifest.c | ||||
charencode.o: ../../mercurial/cext/charencode.c | charencode.o: ../../mercurial/cext/charencode.c | ||||
$(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-I../../mercurial \ | -I../../mercurial \ | ||||
-c -o revlog.o ../../mercurial/cext/revlog.c | -c -o revlog.o ../../mercurial/cext/revlog.c | ||||
dirs_fuzzer: dirs.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | dirs_fuzzer: dirs.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial dirs.cc \ | -I../../mercurial dirs.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/dirs_fuzzer | -o $$OUT/dirs_fuzzer | ||||
fncache_fuzzer: fncache.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | fncache_fuzzer: fncache.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial fncache.cc \ | -I../../mercurial fncache.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/fncache_fuzzer | -o $$OUT/fncache_fuzzer | ||||
jsonescapeu8fast_fuzzer: jsonescapeu8fast.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | jsonescapeu8fast_fuzzer: jsonescapeu8fast.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial jsonescapeu8fast.cc \ | -I../../mercurial jsonescapeu8fast.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/jsonescapeu8fast_fuzzer | -o $$OUT/jsonescapeu8fast_fuzzer | ||||
manifest_corpus.zip: | manifest_corpus.zip: | ||||
python manifest_corpus.py $$OUT/manifest_fuzzer_seed_corpus.zip | python manifest_corpus.py $$OUT/manifest_fuzzer_seed_corpus.zip | ||||
manifest_fuzzer: manifest.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | manifest_fuzzer: manifest.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial manifest.cc \ | -I../../mercurial manifest.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/manifest_fuzzer | -o $$OUT/manifest_fuzzer | ||||
revlog_fuzzer: revlog.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | revlog_fuzzer: revlog.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial revlog.cc \ | -I../../mercurial revlog.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/revlog_fuzzer | -o $$OUT/revlog_fuzzer | ||||
revlog_corpus.zip: | revlog_corpus.zip: | ||||
python revlog_corpus.py $$OUT/revlog_fuzzer_seed_corpus.zip | python revlog_corpus.py $$OUT/revlog_fuzzer_seed_corpus.zip | ||||
dirstate_fuzzer: dirstate.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | dirstate_fuzzer: dirstate.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial dirstate.cc \ | -I../../mercurial dirstate.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/dirstate_fuzzer | -o $$OUT/dirstate_fuzzer | ||||
dirstate_corpus.zip: | dirstate_corpus.zip: | ||||
python dirstate_corpus.py $$OUT/dirstate_fuzzer_seed_corpus.zip | python dirstate_corpus.py $$OUT/dirstate_fuzzer_seed_corpus.zip | ||||
fm1readmarkers_fuzzer: fm1readmarkers.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | fm1readmarkers_fuzzer: fm1readmarkers.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o | ||||
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \ | ||||
-Wno-register -Wno-macro-redefined \ | -Wno-register -Wno-macro-redefined \ | ||||
-I../../mercurial fm1readmarkers.cc \ | -I../../mercurial fm1readmarkers.cc \ | ||||
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \ | ||||
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \ | $(LIB_FUZZING_ENGINE) `$$OUT/sanpy/bin/python-config --ldflags` \ | ||||
-o $$OUT/fm1readmarkers_fuzzer | -o $$OUT/fm1readmarkers_fuzzer | ||||
fm1readmarkers_corpus.zip: | fm1readmarkers_corpus.zip: | ||||
python fm1readmarkers_corpus.py $$OUT/fm1readmarkers_fuzzer_seed_corpus.zip | python fm1readmarkers_corpus.py $$OUT/fm1readmarkers_fuzzer_seed_corpus.zip | ||||
clean: | clean: | ||||
$(RM) *.o *_fuzzer \ | $(RM) *.o *_fuzzer \ | ||||
bdiff \ | bdiff \ | ||||
mpatch \ | mpatch \ | ||||
xdiff | xdiff | ||||
oss-fuzz: bdiff_fuzzer mpatch_fuzzer mpatch_corpus.zip xdiff_fuzzer dirs_fuzzer fncache_fuzzer jsonescapeu8fast_fuzzer manifest_fuzzer manifest_corpus.zip revlog_fuzzer revlog_corpus.zip dirstate_fuzzer dirstate_corpus.zip fm1readmarkers_fuzzer fm1readmarkers_corpus.zip | oss-fuzz: bdiff_fuzzer mpatch_fuzzer mpatch_corpus.zip xdiff_fuzzer dirs_fuzzer fncache_fuzzer jsonescapeu8fast_fuzzer manifest_fuzzer manifest_corpus.zip revlog_fuzzer revlog_corpus.zip dirstate_fuzzer dirstate_corpus.zip fm1readmarkers_fuzzer fm1readmarkers_corpus.zip | ||||
.PHONY: all clean oss-fuzz | .PHONY: all clean oss-fuzz |