mirror of
https://github.com/openssl/openssl.git
synced 2025-02-23 14:42:15 +08:00
test/recipes/01-test_symbol_presence.t: Treat common symbols specially
Common symbols (type 'C' in the 'nm' output) are allowed to be defined more than once. This makes test/recipes/01-test_symbol_presence.t reflect that. Fixes #22869 (partially) Fixes #22837 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22880)
This commit is contained in:
parent
6c63b7e861
commit
4ff5137ff5
@ -114,9 +114,19 @@ foreach (sort keys %stlibname) {
|
||||
my @arrays = ( \@stlib_lines );
|
||||
push @arrays, \@shlib_lines unless disabled('shared');
|
||||
foreach (@arrays) {
|
||||
my %commons;
|
||||
foreach (@$_) {
|
||||
if (m|^(.*) C .*|) {
|
||||
$commons{$1}++;
|
||||
}
|
||||
}
|
||||
foreach (sort keys %commons) {
|
||||
note "Common symbol: $_";
|
||||
}
|
||||
|
||||
@$_ =
|
||||
sort
|
||||
map {
|
||||
( map {
|
||||
# Drop the first space and everything following it
|
||||
s| .*||;
|
||||
# Drop OpenSSL dynamic version information if there is any
|
||||
@ -129,8 +139,9 @@ foreach (sort keys %stlibname) {
|
||||
# of our business
|
||||
grep !m|^__|,
|
||||
# Only look at external definitions
|
||||
grep m|.* [BCDST] .*|,
|
||||
grep m|.* [BDST] .*|,
|
||||
@$_ ),
|
||||
keys %commons;
|
||||
}
|
||||
|
||||
# Massage the mkdef.pl output to only contain global symbols
|
||||
|
Loading…
Reference in New Issue
Block a user