From 9513e6dde4fa9fdbe1e100cb1b3802f983d4cfd6 Mon Sep 17 00:00:00 2001 From: Lei Maohui Date: Thu, 6 Jun 2019 11:05:05 +0800 Subject: 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' (From OE-Core rev: f29572f70a89fd88ab3898d334c126422b66755c) Signed-off-by: Lei Maohui Signed-off-by: Richard Purdie --- ...01-Fix-build-error-for-aarch64-big-endian.patch | 43 ++++++++++++++++++++++ .../recipes-connectivity/openssl/openssl_1.1.1c.bb | 1 + 2 files changed, 44 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch (limited to 'meta') 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 +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 +--- + 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 = " \ -- cgit v1.2.3-54-g00ecf