[OE-core] [warrior][PATCH v3] openssl: Fix a build bug on aarch64BE.

Lei, Maohui leimaohui at cn.fujitsu.com
Thu Jun 20 03:19:16 UTC 2019


ping

> -----Original Message-----
> From: Lei, Maohui
> Sent: Thursday, June 06, 2019 11:05 AM
> To: openembedded-core at lists.openembedded.org
> Cc: Lei, Maohui
> Subject: [OE-core][warrior][PATCH v3] 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 at cn.fujitsu.com>
> ---
>  ...01-Fix-build-error-for-aarch64-big-endian.patch | 43 ++++++++++++++++++++++
>  .../recipes-connectivity/openssl/openssl_1.1.1b.bb |  1 +
>  2 files changed, 44 insertions(+)
>  create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Fix-build-
> error-for-aarch64-big-endian.patch
> 
> 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 0000000..9a90a68
> --- /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 at 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 at 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.1b.bb
> b/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
> index d3404d2..46030c3 100644
> --- a/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
> @@ -17,6 +17,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz
> \
>             file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-
> co.patch \
>             file://afalg.patch \
>             file://CVE-2019-1543.patch \
> +           file://0001-Fix-build-error-for-aarch64-big-endian.patch \
>             "
> 
>  SRC_URI_append_class-nativesdk = " \
> --
> 2.7.4





More information about the Openembedded-core mailing list