]> git.pld-linux.org Git - packages/openssl.git/commitdiff
upstream duplicate symbols test fix auto/th/openssl-3.2.0-1
authorJan Palus <atler@pld-linux.org>
Wed, 6 Dec 2023 11:45:49 +0000 (12:45 +0100)
committerJan Palus <atler@pld-linux.org>
Wed, 6 Dec 2023 11:45:49 +0000 (12:45 +0100)
fixes: https://github.com/openssl/openssl/issues/22837
from: https://github.com/openssl/openssl/pull/22880

duplicate-symbols-test.patch [new file with mode: 0644]
openssl.spec

diff --git a/duplicate-symbols-test.patch b/duplicate-symbols-test.patch
new file mode 100644 (file)
index 0000000..db8a316
--- /dev/null
@@ -0,0 +1,136 @@
+From 38cf48b3044749fd5b37e36e5d9b2dc9fe7056ff Mon Sep 17 00:00:00 2001
+From: Richard Levitte <levitte@openssl.org>
+Date: Thu, 30 Nov 2023 08:48:33 +0100
+Subject: [PATCH 1/3] test/recipes/01-test_symbol_presence.t: Ignore symbols
+ starting with '__'
+
+On some platforms, the compiler may add symbols that aren't ours and that we
+should ignore.
+
+They are generally expected to start with a double underscore, and thereby
+easy to detect.
+
+Fixes #22869 (partially)
+---
+ test/recipes/01-test_symbol_presence.t | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
+index 9efa9f8d2d6eb..66e5669e193c7 100644
+--- a/test/recipes/01-test_symbol_presence.t
++++ b/test/recipes/01-test_symbol_presence.t
+@@ -124,7 +124,13 @@ foreach (sort keys %stlibname) {
+                 # Return the result
+                 $_
+             }
+-            grep(m|.* [BCDST] .*|, @$_);
++            # Drop any symbol starting with a double underscore, they
++            # are reserved for the compiler / system ABI and are none
++            # of our business
++            grep !m|^__|,
++            # Only look at external definitions
++            grep m|.* [BCDST] .*|,
++            @$_ ),
+     }
+     # Massage the mkdef.pl output to only contain global symbols
+
+From feead62eb7873c6a8a95e75ad5ca3ac7b9ed8bcd Mon Sep 17 00:00:00 2001
+From: Richard Levitte <levitte@openssl.org>
+Date: Thu, 30 Nov 2023 09:02:25 +0100
+Subject: [PATCH 2/3] 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
+---
+ test/recipes/01-test_symbol_presence.t | 45 +++++++++++++++++---------
+ 1 file changed, 30 insertions(+), 15 deletions(-)
+
+diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
+index 66e5669e193c7..cd3ac48bae5e7 100644
+--- a/test/recipes/01-test_symbol_presence.t
++++ b/test/recipes/01-test_symbol_presence.t
+@@ -114,23 +114,38 @@ 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 {
+-                # Drop the first space and everything following it
+-                s| .*||;
+-                # Drop OpenSSL dynamic version information if there is any
+-                s|\@\@.+$||;
+-                # Return the result
+-                $_
+-            }
+-            # Drop any symbol starting with a double underscore, they
+-            # are reserved for the compiler / system ABI and are none
+-            # of our business
+-            grep !m|^__|,
+-            # Only look at external definitions
+-            grep m|.* [BCDST] .*|,
+-            @$_ ),
++            ( map {
++                  # Drop the first space and everything following it
++                  s| .*||;
++                  # Drop OpenSSL dynamic version information if there is any
++                  s|\@\@.+$||;
++                  # Drop any symbol starting with a double underscore, they
++                  # are reserved for the compiler / system ABI and are none
++                  # of our business
++                  s|^__||;
++                  # Return the result
++                  $_
++              }
++              # Drop any symbol starting with a double underscore, they
++              # are reserved for the compiler / system ABI and are none
++              # of our business
++              grep !m|^__|,
++              # Only look at external definitions
++              grep m|.* [BDST] .*|,
++              @$_ ),
++            keys %commons;
+     }
+     # Massage the mkdef.pl output to only contain global symbols
+
+From 1055cefa6718167759e51165324b10345f8e7a99 Mon Sep 17 00:00:00 2001
+From: Richard Levitte <levitte@openssl.org>
+Date: Thu, 30 Nov 2023 10:09:41 +0100
+Subject: [PATCH 3/3] fixup! test/recipes/01-test_symbol_presence.t: Treat
+ common symbols specially
+
+---
+ test/recipes/01-test_symbol_presence.t | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
+index cd3ac48bae5e7..222b1886aec01 100644
+--- a/test/recipes/01-test_symbol_presence.t
++++ b/test/recipes/01-test_symbol_presence.t
+@@ -131,10 +131,6 @@ foreach (sort keys %stlibname) {
+                   s| .*||;
+                   # Drop OpenSSL dynamic version information if there is any
+                   s|\@\@.+$||;
+-                  # Drop any symbol starting with a double underscore, they
+-                  # are reserved for the compiler / system ABI and are none
+-                  # of our business
+-                  s|^__||;
+                   # Return the result
+                   $_
+               }
index 2fc30269c7ad05d9f0794fce45d15e707dec4be0..e46913b85e00a182d01ca90e2a50961d6edaa9a9 100644 (file)
@@ -27,6 +27,7 @@ Patch1:               %{name}-ca-certificates.patch
 Patch2:                %{name}-find.patch
 Patch3:                pic.patch
 Patch4:                engines-dir.patch
+Patch5:                duplicate-symbols-test.patch
 URL:           http://www.openssl.org/
 %ifarch %{arm} ppc mips sparc sparcv9
 BuildRequires: libatomic-devel
@@ -212,6 +213,7 @@ RC4, RSA и SSL. Включает статические библиотеки д
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 # fails with enable-sctp as of 1.1.1
 %{__rm} test/recipes/80-test_ssl_new.t
This page took 0.043965 seconds and 4 git commands to generate.