openssl: Fix reproducibility issue

Fix an issue introduced in the new openssl version where an assembler file
isn't generated in a reproducible way by seeding the perl random number
generator consistently. It has no crypto impact, it is just used to
avoid function name clashes.

(From OE-Core rev: 448df3e1c02fe224d62f59a236fdcd47ea7e695f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2023-03-16 08:53:25 +00:00
parent 1fd13ab7e1
commit 4e18b5ebb0
2 changed files with 23 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
The perl script adds random suffixes to the local function names to ensure
it doesn't clash with other parts of openssl. Set the random number seed
to something predictable so the assembler files are generated consistently
and our own reproducible builds tests pass.
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl
===================================================================
--- openssl-3.1.0.orig/crypto/modes/asm/aes-gcm-avx512.pl
+++ openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl
@@ -191,6 +191,9 @@ my $CTX_OFFSET_HTable = (16 * 6);
# ;;; Helper functions
# ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+# Ensure the local labels are reproduicble
+srand(10000);
+
# ; Generates "random" local labels
sub random_string() {
my @chars = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '_');

View File

@@ -11,6 +11,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://run-ptest \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://0001-Configure-do-not-tweak-mips-cflags.patch \
file://fix_random_labels.patch \
"
SRC_URI:append:class-nativesdk = " \