Don't use '-z defs' if sanitizers are used

There are quite a number of sanitizers for clang that aren't
documented in the clang user documentation.  This makes it impossible
to be selective about what sanitizers to look at to determine if
'-z defs' should be used of not.

Under these circumstances, the sane thing to do is to just look for
any sanitizer specification and not use '-z defs' if there's one
present.

Fixes #8735

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8892)
This commit is contained in:
Richard Levitte 2019-05-07 10:48:30 +02:00
parent 99592c73e7
commit ad37edce68

View file

@ -33,9 +33,9 @@ my %shared_info;
%{$shared_info{'gnu-shared'}}, %{$shared_info{'gnu-shared'}},
shared_defflag => '-Wl,--version-script=', shared_defflag => '-Wl,--version-script=',
dso_ldflags => dso_ldflags =>
$disabled{asan} && $disabled{msan} && $disabled{ubsan} (grep /(?:^|\s)-fsanitize/, @{$config{CFLAGS}})
? '-z defs' ? ''
: '', : '-z defs',
}; };
}, },
'bsd-gcc-shared' => sub { return $shared_info{'linux-shared'}; }, 'bsd-gcc-shared' => sub { return $shared_info{'linux-shared'}; },