diff options
author | Richard Levitte <levitte@openssl.org> | 2021-09-15 09:11:41 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2021-09-18 08:14:41 +0200 |
commit | 814271efcc6e77fefabd616fab381fd168e2bd15 (patch) | |
tree | 108703880c3233217cec8b994bcd732161aa8868 /Configurations | |
parent | 119983124f996c8159e8fd816e84e41edfcda700 (diff) |
Configurations/platform/Unix.pm: account for variants in sharedlib_simple()
OpenSSL 1.1.1 links the simple libcrypto.so to libcrypto_variant.so,
this was inadvertently dropped.
Fixes #16605
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16608)
(cherry picked from commit bfbb62c3b0a8f8d223f84ebf7507594cee99f135)
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/platform/Unix.pm | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Configurations/platform/Unix.pm b/Configurations/platform/Unix.pm index c7d7d9eb80..8db0ed912e 100644 --- a/Configurations/platform/Unix.pm +++ b/Configurations/platform/Unix.pm @@ -63,9 +63,21 @@ sub sharedname_simple { } sub sharedlib_simple { - return undef if $_[0]->shlibext() eq $_[0]->shlibextsimple(); - return platform::BASE::__concat($_[0]->sharedname_simple($_[1]), - $_[0]->shlibextsimple()); + # This function returns the simplified shared library name (no version + # or variant in the shared library file name) if the simple variants of + # the base name or the suffix differ from the full variants of the same. + + # Note: if $_[1] isn't a shared library name, then $_[0]->sharedname() + # and $_[0]->sharedname_simple() will return undef. This needs being + # accounted for. + my $name = $_[0]->sharedname($_[1]); + my $simplename = $_[0]->sharedname_simple($_[1]); + my $ext = $_[0]->shlibext(); + my $simpleext = $_[0]->shlibextsimple(); + + return undef unless defined $simplename && defined $name; + return undef if ($name eq $simplename && $ext eq $simpleext); + return platform::BASE::__concat($simplename, $simpleext); } sub sharedlib_import { |