"md2",
"md4",
"mdc2",
+ "msan",
"multiblock",
"nextprotoneg",
"ocb",
our %disabled = ( # "what" => "comment"
"asan" => "default",
+ "crypto-mdebug" => "default",
+ "crypto-mdebug-backtrace" => "default",
"ec_nistp_64_gcc_128" => "default",
"egd" => "default",
"fuzz-libfuzzer" => "default",
"fuzz-afl" => "default",
+ "heartbeats" => "default",
"md2" => "default",
+ "msan" => "default",
"rc5" => "default",
"sctp" => "default",
"ssl-trace" => "default",
"weak-ssl-ciphers" => "default",
"zlib" => "default",
"zlib-dynamic" => "default",
- "crypto-mdebug" => "default",
- "crypto-mdebug-backtrace" => "default",
- "heartbeats" => "default",
);
# Note: => pair form used for aesthetics, not to truly make a hash table
# no-autoalginit is only useful when building non-shared
"autoalginit" => [ "shared", "apps" ],
- "stdio" => [ "apps" ],
+ "stdio" => [ "apps", "capieng" ],
"apps" => [ "tests" ],
"comp" => [ "zlib" ],
sub { !$disabled{"unit-test"} } => [ "heartbeats" ],
+
+ sub { !$disabled{"msan"} } => [ "asm" ],
);
# Avoid protocol support holes. Also disable all versions below N, if version
if (grep(/^reconf/,@argvcopy));
$ENV{CROSS_COMPILE} = $configdata::config{cross_compile_prefix}
if defined($configdata::config{cross_compile_prefix});
- $ENV{CROSS_COMPILE} = $configdata::config{cc}
+ $ENV{CC} = $configdata::config{cc}
if defined($configdata::config{cc});
print "Reconfiguring with: ", join(" ",@argvcopy), "\n";
{
$libs.=$_." ";
}
+ elsif (/^-static$/)
+ {
+ $libs.=$_." ";
+ $disabled{"pic"} = "forced";
+ $disabled{"shared"} = "forced";
+ $disabled{"threads"} = "forced";
+ }
elsif (/^-D(.*)$/)
{
push @user_defines, $1;
$target{rc} =
$ENV{'RC'} || $ENV{'WINDRES'} || $target{rc} || "windres";
+# Cache the C compiler command for reconfiguration
+$config{cc} = $target{cc};
+
# For cflags, lflags, plib_lflags, ex_libs and defines, add the debug_
# or release_ attributes.
# Do it in such a way that no spurious space is appended (hence the grep).
$config{cflags} .= "-fsanitize=undefined -fno-sanitize-recover=all ";
}
+unless ($disabled{msan}) {
+ $config{cflags} .= "-fsanitize=memory ";
+}
+
unless ($disabled{"fuzz-libfuzzer"} && $disabled{"fuzz-afl"}
- && $disabled{asan} && $disabled{ubsan}) {
+ && $disabled{asan} && $disabled{ubsan} && $disabled{msan}) {
$config{cflags} .= "-fno-omit-frame-pointer -g ";
}
#