All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] openssl: fix builds on ARMv8 targets without Aarch64
@ 2021-11-02 16:57 Ross Burton
  0 siblings, 0 replies; only message in thread
From: Ross Burton @ 2021-11-02 16:57 UTC (permalink / raw)
  To: openembedded-core

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.burton@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.burton@arm.com>
+
+From 5118e96a3dbedde2523e7726fa34af30923a9add Mon Sep 17 00:00:00 2001
+From: Tom Cosgrove <tom.cosgrove@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



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-02 16:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-02 16:57 [PATCH] openssl: fix builds on ARMv8 targets without Aarch64 Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.