Fix builds on Armv8 systems without AArch64
authorTom Cosgrove <tom.cosgrove@arm.com>
Tue, 2 Nov 2021 15:26:21 +0000 (15:26 +0000)
committerTomas Mraz <tomas@openssl.org>
Thu, 4 Nov 2021 14:49:57 +0000 (15:49 +0100)
This fixes "undefined reference to `aes_gcm_dec_128_kernel' in function
`armv8_aes_gcm_decrypt'" and similar

Fixes #16949

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16951)

include/crypto/aes_platform.h

index 015c3bd4ab9176fa0ec55c56fdcf9124f0d1248c..e95ad5aa5de6f8c03d80400a3ea42d6efb646465 100644 (file)
@@ -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 && \