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 | ||||