ARMv8 doesn't imply Aarch64, so correct a check that was making that
assumption.  This fixes the build on 32-bit ARMv8 targets such as
Cortex-A32.

Signed-off-by: Ross Burton <ross.bur...@arm.com>
---
 .../openssl/openssl/armv8-32bit.patch         | 29 +++++++++++++++++++
 .../openssl/openssl_3.0.0.bb                  |  1 +
 2 files changed, 30 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/armv8-32bit.patch

diff --git a/meta/recipes-connectivity/openssl/openssl/armv8-32bit.patch 
b/meta/recipes-connectivity/openssl/openssl/armv8-32bit.patch
new file mode 100644
index 0000000000..1935651be0
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/armv8-32bit.patch
@@ -0,0 +1,29 @@
+Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/16951]
+Signed-off-by: Ross Burton <ross.bur...@arm.com>
+
+From 5118e96a3dbedde2523e7726fa34af30923a9add Mon Sep 17 00:00:00 2001
+From: Tom Cosgrove <tom.cosgr...@arm.com>
+Date: Tue, 2 Nov 2021 15:26:21 +0000
+Subject: [PATCH] Fix builds on Armv8 systems without AArch64
+
+This fixes "undefined reference to `aes_gcm_dec_128_kernel' in function
+`armv8_aes_gcm_decrypt'" and similar
+
+Fixes #16949
+---
+ include/crypto/aes_platform.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/crypto/aes_platform.h b/include/crypto/aes_platform.h
+index 015c3bd4ab91..e95ad5aa5de6 100644
+--- a/include/crypto/aes_platform.h
++++ b/include/crypto/aes_platform.h
+@@ -100,7 +100,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned 
char *out, size_t len,
+ #    define AES_PMULL_CAPABLE ((OPENSSL_armcap_P & ARMV8_PMULL) && 
(OPENSSL_armcap_P & ARMV8_AES))
+ #    define AES_GCM_ENC_BYTES 512
+ #    define AES_GCM_DEC_BYTES 512
+-#    if __ARM_MAX_ARCH__>=8
++#    if __ARM_MAX_ARCH__>=8 && defined(__aarch64__)
+ #     define AES_gcm_encrypt armv8_aes_gcm_encrypt
+ #     define AES_gcm_decrypt armv8_aes_gcm_decrypt
+ #     define AES_GCM_ASM(gctx) ((gctx)->ctr==aes_v8_ctr32_encrypt_blocks && \
diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.0.bb 
b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb
index 67343bedcc..8852a51ca8 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.0.0.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb
@@ -12,6 +12,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://0001-Configure-do-not-tweak-mips-cflags.patch \
+           file://armv8-32bit.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157804): 
https://lists.openembedded.org/g/openembedded-core/message/157804
Mute This Topic: https://lists.openembedded.org/mt/86771073/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to