mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 05:03:43 +01:00
libfuzzer tweaks per recommendations
This commit is contained in:
parent
024fa9d4d7
commit
1b244a64e4
@ -56,7 +56,8 @@ TEST_NETWORK_FLAGS=--hs-multi-client 1
|
||||
endif
|
||||
|
||||
if LIBFUZZER_ENABLED
|
||||
TEST_CFLAGS += -fsanitize-coverage=edge -fsanitize-coverage=trace-cmp
|
||||
TEST_CFLAGS += -fsanitize-coverage=trace-pc-guard,trace-cmp,trace-div
|
||||
# not "edge"
|
||||
endif
|
||||
|
||||
TEST_NETWORK_ALL_LOG_DIR=$(top_builddir)/test_network_log
|
||||
|
@ -50,7 +50,9 @@ AC_ARG_ENABLE(asserts-in-tests,
|
||||
AC_ARG_ENABLE(system-torrc,
|
||||
AS_HELP_STRING(--disable-system-torrc, [don't look for a system-wide torrc file]))
|
||||
AC_ARG_ENABLE(libfuzzer,
|
||||
AS_HELP_STRING(--libfuzzer, [build extra fuzzers based on 'libfuzzer']))
|
||||
AS_HELP_STRING(--enable-libfuzzer, [build extra fuzzers based on 'libfuzzer']))
|
||||
AC_ARG_ENABLE(oss-fuzz,
|
||||
AS_HELP_STRING(--enable-oss-fuzz, [build extra fuzzers based on 'oss-fuzz' environment]))
|
||||
|
||||
if test "x$enable_coverage" != "xyes" -a "x$enable_asserts_in_tests" = "xno" ; then
|
||||
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
|
||||
@ -60,6 +62,7 @@ AM_CONDITIONAL(UNITTESTS_ENABLED, test "x$enable_unittests" != "xno")
|
||||
AM_CONDITIONAL(COVERAGE_ENABLED, test "x$enable_coverage" = "xyes")
|
||||
AM_CONDITIONAL(DISABLE_ASSERTS_IN_UNIT_TESTS, test "x$enable_asserts_in_tests" = "xno")
|
||||
AM_CONDITIONAL(LIBFUZZER_ENABLED, test "x$enable_libfuzzer" = "xyes")
|
||||
AM_CONDITIONAL(OSS_FUZZ_ENABLED, test "x$enable_oss_fuzz" = "xyes")
|
||||
|
||||
if test "$enable_static_tor" = "yes"; then
|
||||
enable_static_libevent="yes";
|
||||
|
@ -175,6 +175,82 @@ else
|
||||
LIBFUZZER_FUZZERS =
|
||||
endif
|
||||
|
||||
noinst_PROGRAMS += $(FUZZERS) $(LIBFUZZER_FUZZERS)
|
||||
if OSS_FUZZ_ENABLED
|
||||
OSS_FUZZ_CPPFLAGS = $(FUZZING_CPPFLAGS) -DLLVM_FUZZ
|
||||
OSS_FUZZ_CFLAGS = $(FUZZING_CFLAGS)
|
||||
OSS_FUZZ_LDFLAG = $(FUZZING_LDFLAG)
|
||||
OSS_FUZZ_LIBS = $(FUZZING_LIBS) -lFuzzingEngine -lstdc++
|
||||
|
||||
src_test_fuzz_oss_fuzz_consensus_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_consensus_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_consensus_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_consensus_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_consensus_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_consensus_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_descriptor_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_descriptor_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_descriptor_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_descriptor_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_descriptor_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_descriptor_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_extrainfo_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_extrainfo_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_extrainfo_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_extrainfo_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_extrainfo_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_extrainfo_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_http_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_http_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_http_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_http_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_http_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_http_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_hsdescv2_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_hsdescv2_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_hsdescv2_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_hsdescv2_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_hsdescv2_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_hsdescv2_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_iptsv2_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_iptsv2_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_iptsv2_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_iptsv2_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_iptsv2_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_iptsv2_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_microdesc_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_microdesc_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_microdesc_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_microdesc_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_microdesc_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_microdesc_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
src_test_fuzz_oss_fuzz_vrs_SOURCES = \
|
||||
$(src_test_fuzz_fuzz_vrs_SOURCES)
|
||||
src_test_fuzz_oss_fuzz_vrs_CPPFLAGS = $(OSS_FUZZ_CPPFLAGS)
|
||||
src_test_fuzz_oss_fuzz_vrs_CFLAGS = $(OSS_FUZZ_CFLAGS)
|
||||
src_test_fuzz_oss_fuzz_vrs_LDFLAGS = $(OSS_FUZZ_LDFLAG)
|
||||
src_test_fuzz_oss_fuzz_vrs_LDADD = $(OSS_FUZZ_LIBS)
|
||||
|
||||
OSS_FUZZ_FUZZERS = \
|
||||
src/test/fuzz/oss-fuzz-consensus \
|
||||
src/test/fuzz/oss-fuzz-descriptor \
|
||||
src/test/fuzz/oss-fuzz-extrainfo \
|
||||
src/test/fuzz/oss-fuzz-http \
|
||||
src/test/fuzz/oss-fuzz-hsdescv2 \
|
||||
src/test/fuzz/oss-fuzz-iptsv2 \
|
||||
src/test/fuzz/oss-fuzz-microdesc \
|
||||
src/test/fuzz/oss-fuzz-vrs
|
||||
else
|
||||
OSS_FUZZ_FUZZERS
|
||||
endif
|
||||
|
||||
noinst_PROGRAMS += $(FUZZERS) $(LIBFUZZER_FUZZERS) $(OSS_FUZZ_FUZZERS)
|
||||
oss-fuzz-fuzzers: $(OSS_FUZZ_FUZZERS)
|
||||
fuzzers: $(FUZZERS) $(LIBFUZZER_FUZZERS)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user