author | Augie Fackler <augie@google.com> |
Fri, 06 Dec 2019 16:09:03 -0500 | |
changeset 43817 | d9f85f61f0ed |
parent 43816 | d37658efbec2 |
child 43843 | d74d78aa74e9 |
permissions | -rw-r--r-- |
38230
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
1 |
CC = clang |
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
2 |
CXX = clang++ |
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
3 |
|
43813
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
4 |
# By default, use our own standalone_fuzz_target_runner. |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
5 |
# This runner does no fuzzing, but simply executes the inputs |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
6 |
# provided via parameters. |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
7 |
# Run e.g. "make all LIB_FUZZING_ENGINE=/path/to/libFuzzer.a" |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
8 |
# to link the fuzzer(s) against a real fuzzing engine. |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
9 |
# |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
10 |
# OSS-Fuzz will define its own value for LIB_FUZZING_ENGINE. |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
11 |
LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o |
43810
53f582bee3d1
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE
Augie Fackler <augie@google.com>
parents:
43615
diff
changeset
|
12 |
|
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
13 |
PYTHON_CONFIG ?= $$OUT/sanpy/bin/python-config |
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
14 |
|
43811
d1587fadff06
fuzz: suppress deprecated-register warnings in our compile
Augie Fackler <augie@google.com>
parents:
43810
diff
changeset
|
15 |
CXXFLAGS += -Wno-deprecated-register |
d1587fadff06
fuzz: suppress deprecated-register warnings in our compile
Augie Fackler <augie@google.com>
parents:
43810
diff
changeset
|
16 |
|
43815
19da643dc10c
tests: finally fix up test-fuzz-targets.t
Augie Fackler <augie@google.com>
parents:
43813
diff
changeset
|
17 |
all: standalone_fuzz_target_runner.o oss-fuzz |
38231
4dd3b6c68f96
fuzz: fix the default make target
Yuya Nishihara <yuya@tcha.org>
parents:
38230
diff
changeset
|
18 |
|
43813
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
19 |
standalone_fuzz_target_runner.o: standalone_fuzz_target_runner.cc |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43812
diff
changeset
|
20 |
|
41013
ef103c96ed33
fuzz: extract Python initialization to utility package
Augie Fackler <augie@google.com>
parents:
41012
diff
changeset
|
21 |
pyutil.o: pyutil.cc pyutil.h |
ef103c96ed33
fuzz: extract Python initialization to utility package
Augie Fackler <augie@google.com>
parents:
41012
diff
changeset
|
22 |
$(CXX) $(CXXFLAGS) -g -O1 \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
23 |
`$(PYTHON_CONFIG) --cflags` \ |
41013
ef103c96ed33
fuzz: extract Python initialization to utility package
Augie Fackler <augie@google.com>
parents:
41012
diff
changeset
|
24 |
-I../../mercurial -c -o pyutil.o pyutil.cc |
ef103c96ed33
fuzz: extract Python initialization to utility package
Augie Fackler <augie@google.com>
parents:
41012
diff
changeset
|
25 |
|
35670
2b9e2415f5b5
contrib: add some basic scaffolding for some fuzz test targets
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
26 |
bdiff-oss-fuzz.o: ../../mercurial/bdiff.c |
38230
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
27 |
$(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c |
35670
2b9e2415f5b5
contrib: add some basic scaffolding for some fuzz test targets
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
28 |
|
43615
6f5c352f41b6
fuzz: clean out most of fuzzutil
Augie Fackler <augie@google.com>
parents:
43153
diff
changeset
|
29 |
bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o |
38230
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
30 |
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \ |
43810
53f582bee3d1
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE
Augie Fackler <augie@google.com>
parents:
43615
diff
changeset
|
31 |
bdiff-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \ |
38174
36d55f90e2a3
fuzzutil: make it possible to use absl when C++17 isn't supported
Augie Fackler <augie@google.com>
parents:
38173
diff
changeset
|
32 |
$$OUT/bdiff_fuzzer |
35670
2b9e2415f5b5
contrib: add some basic scaffolding for some fuzz test targets
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
33 |
|
38246
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
34 |
mpatch.o: ../../mercurial/mpatch.c |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
35 |
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \ |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
36 |
../../mercurial/mpatch.c |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
37 |
|
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
38 |
mpatch-oss-fuzz.o: ../../mercurial/mpatch.c |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
39 |
$(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
40 |
|
43615
6f5c352f41b6
fuzz: clean out most of fuzzutil
Augie Fackler <augie@google.com>
parents:
43153
diff
changeset
|
41 |
mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o |
38246
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
42 |
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \ |
43810
53f582bee3d1
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE
Augie Fackler <augie@google.com>
parents:
43615
diff
changeset
|
43 |
mpatch-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \ |
38246
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
44 |
$$OUT/mpatch_fuzzer |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
45 |
|
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
46 |
mpatch_corpus.zip: |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
47 |
python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip |
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
48 |
|
36679
624cbd1477a6
fuzz: add a fuzzer for xdiff
Augie Fackler <augie@google.com>
parents:
35670
diff
changeset
|
49 |
fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h |
38230
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
50 |
$(CC) $(CFLAGS) -c \ |
36679
624cbd1477a6
fuzz: add a fuzzer for xdiff
Augie Fackler <augie@google.com>
parents:
35670
diff
changeset
|
51 |
-o $@ \ |
624cbd1477a6
fuzz: add a fuzzer for xdiff
Augie Fackler <augie@google.com>
parents:
35670
diff
changeset
|
52 |
$< |
624cbd1477a6
fuzz: add a fuzzer for xdiff
Augie Fackler <augie@google.com>
parents:
35670
diff
changeset
|
53 |
|
43615
6f5c352f41b6
fuzz: clean out most of fuzzutil
Augie Fackler <augie@google.com>
parents:
43153
diff
changeset
|
54 |
xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o |
38230
bf901559e647
fuzz: expand variables by make
Yuya Nishihara <yuya@tcha.org>
parents:
38175
diff
changeset
|
55 |
$(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \ |
43615
6f5c352f41b6
fuzz: clean out most of fuzzutil
Augie Fackler <augie@google.com>
parents:
43153
diff
changeset
|
56 |
fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o \ |
43810
53f582bee3d1
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE
Augie Fackler <augie@google.com>
parents:
43615
diff
changeset
|
57 |
$(LIB_FUZZING_ENGINE) -o $$OUT/xdiff_fuzzer |
36679
624cbd1477a6
fuzz: add a fuzzer for xdiff
Augie Fackler <augie@google.com>
parents:
35670
diff
changeset
|
58 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
59 |
parsers-%.o: ../../mercurial/cext/%.c |
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
60 |
$(CC) -I../../mercurial `$(PYTHON_CONFIG) --cflags` $(CFLAGS) -c \ |
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
61 |
-o $@ $< |
40053
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
62 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
63 |
PARSERS_OBJS=parsers-manifest.o parsers-charencode.o parsers-parsers.o parsers-dirs.o parsers-pathencode.o parsers-revlog.o |
40053
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
64 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
65 |
dirs_fuzzer: dirs.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
66 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
43150
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
67 |
-Wno-register -Wno-macro-redefined \ |
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
68 |
-I../../mercurial dirs.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
69 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
70 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
43150
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
71 |
-o $$OUT/dirs_fuzzer |
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
72 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
73 |
fncache_fuzzer: fncache.cc |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
74 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
43152
b37dd26935ee
fuzz: new fuzzer for fncache-related functions
Augie Fackler <augie@google.com>
parents:
43150
diff
changeset
|
75 |
-Wno-register -Wno-macro-redefined \ |
b37dd26935ee
fuzz: new fuzzer for fncache-related functions
Augie Fackler <augie@google.com>
parents:
43150
diff
changeset
|
76 |
-I../../mercurial fncache.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
77 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
78 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
43152
b37dd26935ee
fuzz: new fuzzer for fncache-related functions
Augie Fackler <augie@google.com>
parents:
43150
diff
changeset
|
79 |
-o $$OUT/fncache_fuzzer |
b37dd26935ee
fuzz: new fuzzer for fncache-related functions
Augie Fackler <augie@google.com>
parents:
43150
diff
changeset
|
80 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
81 |
jsonescapeu8fast_fuzzer: jsonescapeu8fast.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
82 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
43153
741fb1a95da2
fuzz: new target to fuzz jsonescapeu8fast
Augie Fackler <augie@google.com>
parents:
43152
diff
changeset
|
83 |
-Wno-register -Wno-macro-redefined \ |
741fb1a95da2
fuzz: new target to fuzz jsonescapeu8fast
Augie Fackler <augie@google.com>
parents:
43152
diff
changeset
|
84 |
-I../../mercurial jsonescapeu8fast.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
85 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
86 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
43153
741fb1a95da2
fuzz: new target to fuzz jsonescapeu8fast
Augie Fackler <augie@google.com>
parents:
43152
diff
changeset
|
87 |
-o $$OUT/jsonescapeu8fast_fuzzer |
741fb1a95da2
fuzz: new target to fuzz jsonescapeu8fast
Augie Fackler <augie@google.com>
parents:
43152
diff
changeset
|
88 |
|
43150
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
89 |
manifest_corpus.zip: |
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
90 |
python manifest_corpus.py $$OUT/manifest_fuzzer_seed_corpus.zip |
7ff40418c6bf
fuzz: new fuzzer for dirs.c
Augie Fackler <augie@google.com>
parents:
41183
diff
changeset
|
91 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
92 |
manifest_fuzzer: manifest.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
93 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
40053
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
94 |
-Wno-register -Wno-macro-redefined \ |
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
95 |
-I../../mercurial manifest.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
96 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
97 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
40053
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
98 |
-o $$OUT/manifest_fuzzer |
8c692a6b5ad1
fuzz: new fuzzer for cext/manifest.c
Augie Fackler <augie@google.com>
parents:
38246
diff
changeset
|
99 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
100 |
revlog_fuzzer: revlog.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
101 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
41014
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
102 |
-Wno-register -Wno-macro-redefined \ |
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
103 |
-I../../mercurial revlog.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
104 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
105 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
41014
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
106 |
-o $$OUT/revlog_fuzzer |
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
107 |
|
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
108 |
revlog_corpus.zip: |
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
109 |
python revlog_corpus.py $$OUT/revlog_fuzzer_seed_corpus.zip |
c06f0ef9a5ba
fuzz: new fuzzer for revlog's parse_index2 method
Augie Fackler <augie@google.com>
parents:
41013
diff
changeset
|
110 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
111 |
dirstate_fuzzer: dirstate.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
112 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
41015
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
113 |
-Wno-register -Wno-macro-redefined \ |
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
114 |
-I../../mercurial dirstate.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
115 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
116 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
41015
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
117 |
-o $$OUT/dirstate_fuzzer |
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
118 |
|
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
119 |
dirstate_corpus.zip: |
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
120 |
python dirstate_corpus.py $$OUT/dirstate_fuzzer_seed_corpus.zip |
b444407f635b
fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
41014
diff
changeset
|
121 |
|
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
122 |
fm1readmarkers_fuzzer: fm1readmarkers.cc pyutil.o $(PARSERS_OBJS) |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
123 |
$(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \ |
41024
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
124 |
-Wno-register -Wno-macro-redefined \ |
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
125 |
-I../../mercurial fm1readmarkers.cc \ |
43817
d9f85f61f0ed
fuzz: clean up some repetition on building parsers.so fuzzers
Augie Fackler <augie@google.com>
parents:
43816
diff
changeset
|
126 |
pyutil.o $(PARSERS_OBJS) \ |
43812
bf0453866c80
fuzz: use a variable to allow specifying python-config to use
Augie Fackler <augie@google.com>
parents:
43811
diff
changeset
|
127 |
$(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \ |
41024
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
128 |
-o $$OUT/fm1readmarkers_fuzzer |
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
129 |
|
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
130 |
fm1readmarkers_corpus.zip: |
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
131 |
python fm1readmarkers_corpus.py $$OUT/fm1readmarkers_fuzzer_seed_corpus.zip |
6a951f535fee
fuzz: new fuzzer for parsers.fm1readmarkers
Augie Fackler <augie@google.com>
parents:
41015
diff
changeset
|
132 |
|
38175 | 133 |
clean: |
38234
9db30f438ddd
fuzz: fix "make clean" to pass even if no binaries built yet
Yuya Nishihara <yuya@tcha.org>
parents:
38233
diff
changeset
|
134 |
$(RM) *.o *_fuzzer \ |
38175 | 135 |
bdiff \ |
38246
46dcb9f14900
fuzz: new fuzzer for the mpatch code
Augie Fackler <augie@google.com>
parents:
38234
diff
changeset
|
136 |
mpatch \ |
38175 | 137 |
xdiff |
138 |
||
43153
741fb1a95da2
fuzz: new target to fuzz jsonescapeu8fast
Augie Fackler <augie@google.com>
parents:
43152
diff
changeset
|
139 |
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 |
35670
2b9e2415f5b5
contrib: add some basic scaffolding for some fuzz test targets
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
140 |
|
41183
c01fac6749e5
fuzz: stop building Python in the Makefile
Augie Fackler <augie@google.com>
parents:
41024
diff
changeset
|
141 |
.PHONY: all clean oss-fuzz |