From bc18edd076a929f19a11e22407e4a283e90263a5 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 2 Nov 2021 16:57:06 +0000 Subject: openssl: fix builds on ARMv8 targets without Aarch64 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. (From OE-Core rev: 78ae8b02bfbf0d98ae481682179439845d30c797) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../openssl/openssl/armv8-32bit.patch | 29 ++++++++++++++++++++++ meta/recipes-connectivity/openssl/openssl_3.0.0.bb | 1 + 2 files changed, 30 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl/armv8-32bit.patch (limited to 'meta') 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 + +From 5118e96a3dbedde2523e7726fa34af30923a9add Mon Sep 17 00:00:00 2001 +From: Tom Cosgrove +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 = " \ -- cgit v1.2.3-54-g00ecf