summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLei Maohui <leimaohui@cn.fujitsu.com>2019-06-06 11:05:05 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-06-18 15:55:59 +0100
commitf29572f70a89fd88ab3898d334c126422b66755c (patch)
treedbc7d0ae39a1ac43c4459ab5453dc68f1a9ed919
parent745b63f4e11a6536cabd97013973562631a0e080 (diff)
downloadopenembedded-core-f29572f70a89fd88ab3898d334c126422b66755c.tar.gz
openembedded-core-f29572f70a89fd88ab3898d334c126422b66755c.tar.bz2
openembedded-core-f29572f70a89fd88ab3898d334c126422b66755c.zip
openssl: Fix a build bug on aarch64BE.
Fix bug as following on aarch64BE: Error: operand 1 must be an integer register -- `rev v31.16b,v31.16b' Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch43
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.1.1c.bb1
2 files changed, 44 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch b/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch
new file mode 100644
index 0000000000..9a90a68cfd
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch
@@ -0,0 +1,43 @@
+From 1f8c0f2feea5cdcae0bcd9dfc78198d9e2c4cf09 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Thu, 13 Jun 2019 12:17:30 +0900
+Subject: [PATCH] Fix build error for aarch64 big endian.
+
+Modified rev to rev64, because rev only takes integer registers.
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90827
+Otherwise, the following error will occur.
+
+Error: operand 1 must be an integer register -- `rev v31.16b,v31.16b'
+
+Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/9151]
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ crypto/sha/asm/keccak1600-armv8.pl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/sha/asm/keccak1600-armv8.pl b/crypto/sha/asm/keccak1600-armv8.pl
+index dc72f18..6620690 100755
+--- a/crypto/sha/asm/keccak1600-armv8.pl
++++ b/crypto/sha/asm/keccak1600-armv8.pl
+@@ -731,7 +731,7 @@ $code.=<<___;
+ blo .Lprocess_block_ce
+ ldr d31,[$inp],#8 // *inp++
+ #ifdef __AARCH64EB__
+- rev v31.16b,v31.16b
++ rev64 v31.16b,v31.16b
+ #endif
+ eor $A[$j/5][$j%5],$A[$j/5][$j%5],v31.16b
+ beq .Lprocess_block_ce
+@@ -740,7 +740,7 @@ ___
+ $code.=<<___;
+ ldr d31,[$inp],#8 // *inp++
+ #ifdef __AARCH64EB__
+- rev v31.16b,v31.16b
++ rev64 v31.16b,v31.16b
+ #endif
+ eor $A[4][4],$A[4][4],v31.16b
+
+--
+2.7.4
+
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
index 534be57540..0117407316 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
@@ -16,6 +16,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://0001-skip-test_symbol_presence.patch \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
+ file://0001-Fix-build-error-for-aarch64-big-endian.patch \
"
SRC_URI_append_class-nativesdk = " \