From c38bb72797916f2a0ab9906aad29162ca8d53546 Mon Sep 17 00:00:00 2001 From: Ben Laurie Date: Sat, 26 Mar 2016 17:19:14 +0000 Subject: Add fuzzing! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Emilia Käsper --- Configure | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'Configure') diff --git a/Configure b/Configure index f2909ceae1..52d4f934bc 100755 --- a/Configure +++ b/Configure @@ -266,6 +266,7 @@ my @dtls = qw(dtls1 dtls1_2); my @disablables = ( "afalgeng", + "asan", "asm", "async", "autoalginit", @@ -299,6 +300,7 @@ my @disablables = ( "engine", "err", "filenames", + "fuzz", "gost", "heartbeats", "hw(-.+)?", @@ -337,6 +339,7 @@ my @disablables = ( "threads", "tls", "ts", + "ubsan", "ui", "unit-test", "whirlpool", @@ -357,14 +360,17 @@ my @deprecated_disablables = ( # All of the following is disabled by default (RC5 was enabled before 0.9.8): our %disabled = ( # "what" => "comment" + "asan" => "default", "ec_nistp_64_gcc_128" => "default", "egd" => "default", + "fuzz" => "default", "md2" => "default", "rc5" => "default", "sctp" => "default", "ssl-trace" => "default", "ssl3" => "default", "ssl3-method" => "default", + "ubsan" => "default", "unit-test" => "default", "weak-ssl-ciphers" => "default", "zlib" => "default", @@ -1029,6 +1035,24 @@ if ($disabled{"dynamic-engine"}) { $config{dynamic_engines} = 1; } +unless ($disabled{fuzz}) { + push $config{dirs}, "fuzz"; + $config{cflags} .= "-fsanitize-coverage=edge,indirect-calls "; +} + +unless ($disabled{asan}) { + $config{cflags} .= "-fsanitize=address "; +} + +unless ($disabled{ubsan}) { + # -DPEDANTIC or -fnosanitize=aligmnent may also be required on some + # platforms. + $config{cflags} .= "-fsanitize=undefined -fno-sanitize-recover=all "; +} + +unless ($disabled{fuzz} && $disabled{asan} && $disabled{ubsan}) { + $config{cflags} .= "-fno-omit-frame-pointer -g "; +} # # Platform fix-ups # -- cgit v1.2.3