aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2021-06-08 12:47:57 -0400
committerNick Mathewson <nickm@torproject.org>2021-06-08 12:47:57 -0400
commitd2256fe9cea6407258a53f68c64723aef19bd41c (patch)
treec29c3b6f19e2d4e9e4a058df1c2fc6d956cdf05d
parentf93d9d8bacb672c123674cfe9fbb01320e6cb3d7 (diff)
downloadtor-d2256fe9cea6407258a53f68c64723aef19bd41c.tar.gz
tor-d2256fe9cea6407258a53f68c64723aef19bd41c.zip
Modernize our libfuzzer usage to close #40407
Additionally, remove lingering references to hsv2 fuzzers from the fuzzing_include_am.py script.
-rw-r--r--Makefile.am2
-rw-r--r--changes/bug404075
-rwxr-xr-xscripts/codegen/fuzzing_include_am.py7
-rw-r--r--src/test/fuzz/include.am5
4 files changed, 10 insertions, 9 deletions
diff --git a/Makefile.am b/Makefile.am
index 3056b08446..7ae2133767 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -253,7 +253,7 @@ endif
TEST_NETWORK_SHOW_WARNINGS_FOR_LAST_RUN_FLAGS=--quiet --only-warnings
if LIBFUZZER_ENABLED
-TEST_CFLAGS += -fsanitize-coverage=trace-pc-guard,trace-cmp,trace-div
+TEST_CFLAGS += -fsanitize=fuzzer-no-link
# not "edge"
endif
diff --git a/changes/bug40407 b/changes/bug40407
new file mode 100644
index 0000000000..068d278e14
--- /dev/null
+++ b/changes/bug40407
@@ -0,0 +1,5 @@
+ o Minor features (fuzzing):
+ - When building with --enable-libfuzzer, use a set of compiler flags
+ that works with more recent versions of the library. Previously
+ we were using a set of flags from 2017.
+ Closes ticket 40407.
diff --git a/scripts/codegen/fuzzing_include_am.py b/scripts/codegen/fuzzing_include_am.py
index b52b956f81..ddad8e6c3b 100755
--- a/scripts/codegen/fuzzing_include_am.py
+++ b/scripts/codegen/fuzzing_include_am.py
@@ -11,11 +11,9 @@ FUZZERS = """
diff
diff-apply
extrainfo
- hsdescv2
hsdescv3
http
http-connect
- iptsv2
microdesc
socks
strops
@@ -47,11 +45,10 @@ oss-fuzz-prereqs: \
noinst_HEADERS += \
src/test/fuzz/fuzzing.h
-LIBFUZZER = -lFuzzer
LIBFUZZER_CPPFLAGS = $(FUZZING_CPPFLAGS) -DLLVM_FUZZ
LIBFUZZER_CFLAGS = $(FUZZING_CFLAGS)
-LIBFUZZER_LDFLAG = $(FUZZING_LDFLAG)
-LIBFUZZER_LIBS = $(FUZZING_LIBS) $(LIBFUZZER) -lstdc++
+LIBFUZZER_LDFLAG = $(FUZZING_LDFLAG) -fsanitize=fuzzer
+LIBFUZZER_LIBS = $(FUZZING_LIBS) -lstdc++
LIBOSS_FUZZ_CPPFLAGS = $(FUZZING_CPPFLAGS) -DLLVM_FUZZ
LIBOSS_FUZZ_CFLAGS = $(FUZZING_CFLAGS)
diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am
index 9bdced9e6f..de3ea5e74a 100644
--- a/src/test/fuzz/include.am
+++ b/src/test/fuzz/include.am
@@ -23,11 +23,10 @@ oss-fuzz-prereqs: \
noinst_HEADERS += \
src/test/fuzz/fuzzing.h
-LIBFUZZER = -lFuzzer
LIBFUZZER_CPPFLAGS = $(FUZZING_CPPFLAGS) -DLLVM_FUZZ
LIBFUZZER_CFLAGS = $(FUZZING_CFLAGS)
-LIBFUZZER_LDFLAG = $(FUZZING_LDFLAG)
-LIBFUZZER_LIBS = $(FUZZING_LIBS) $(LIBFUZZER) -lstdc++
+LIBFUZZER_LDFLAG = $(FUZZING_LDFLAG) -fsanitize=fuzzer
+LIBFUZZER_LIBS = $(FUZZING_LIBS) -lstdc++
LIBOSS_FUZZ_CPPFLAGS = $(FUZZING_CPPFLAGS) -DLLVM_FUZZ
LIBOSS_FUZZ_CFLAGS = $(FUZZING_CFLAGS)