]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
magic to make fuzzers work
authorAlan T. DeKok <aland@freeradius.org>
Mon, 1 Nov 2021 11:52:19 +0000 (07:52 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 1 Nov 2021 11:53:27 +0000 (07:53 -0400)
when we have two "main" functions.

configure
configure.ac
src/bin/fuzzer.mk

index 2fa9f142fea628532b04ac751bb50efdfd680fc9..d13a6e369f5f3e9a8e7554e02209703e72c8f1d6 100755 (executable)
--- a/configure
+++ b/configure
@@ -15009,7 +15009,7 @@ fi
   if test "x$fsanitizeflags" != "x"; then
     fsanitizeflags="$(echo $fsanitizeflags | sed 's/^,*//')"
     devcflags="-fsanitize=$fsanitizeflags $devcflags"
-    devldflags="-fsanitize=$fsanitizeflags $devldflags"
+    devldflags="-fsanitize=$(echo $fsanitizeflags | sed 's/fuzzer/fuzzer-no-link/')  $devldflags"
   fi
 
         devcflags="$(echo $devcflags | sed -e 's/\\t//g;s/  //g')"
index 8fe80cc5bf15dfca74da8d436aa006d5fcb682e1..941858c87075b73155b422e6811aebda2980653a 100644 (file)
@@ -1889,7 +1889,7 @@ if test "x$developer" = "xyes"; then
   if test "x$fsanitizeflags" != "x"; then
     fsanitizeflags="$(echo $fsanitizeflags | sed 's/^,*//')"
     devcflags="-fsanitize=$fsanitizeflags $devcflags"
-    devldflags="-fsanitize=$fsanitizeflags $devldflags"
+    devldflags="-fsanitize=$(echo $fsanitizeflags | sed 's/fuzzer/fuzzer-no-link/') $devldflags"
   fi
 
   dnl #
index 339cf406baf8ef7402092c73d401c23098945841..37f3218336363ab09f5112a528d708b2cda35561 100644 (file)
@@ -23,6 +23,7 @@ SOURCES                       := fuzzer.c
 TGT_PREREQS            := libfreeradius-$(PROTOCOL).a
 
 TGT_LDLIBS             := $(LIBS)
+TGT_LDFLAGS    := -fsanitize=fuzzer
 
 FUZZER_CORPUS_DIR      := src/tests/fuzzer-corpus