]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Do not build P10-specific AES-GCM assembler on macOS
authorEvan Miller <emmiller@gmail.com>
Sat, 18 Mar 2023 15:03:22 +0000 (11:03 -0400)
committerTomas Mraz <tomas@openssl.org>
Wed, 22 Mar 2023 13:26:26 +0000 (14:26 +0100)
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20543)

crypto/chacha/build.info
crypto/chacha/chacha_ppc.c
crypto/modes/build.info
include/crypto/aes_platform.h

index b8c0a7870bcc2e0daaa46b1c1c4af96953073eb6..1fa1a716f51f0e9b3cff87dbfbe26b8504d5fb12 100644 (file)
@@ -13,7 +13,7 @@ IF[{- !$disabled{asm} -}]
   $CHACHAASM_aarch64=chacha-armv8.S chacha-armv8-sve.S
 
   $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s
-  IF[{- $target{sys_id} ne "AIX" -}]
+  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
     $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s chachap10-ppc.s
   ENDIF
   $CHACHAASM_ppc64=$CHACHAASM_ppc32
index 05d8cf100df2e525ad7c9870d4feef00cb479a41..29eb9833d00e48cb3fde8ce3c0133a131ad22e94 100644 (file)
@@ -30,7 +30,7 @@ void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
                     size_t len, const unsigned int key[8],
                     const unsigned int counter[4])
 {
-#ifndef OPENSSL_SYS_AIX
+#if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
     OPENSSL_ppccap_P & PPC_BRD31
         ? ChaCha20_ctr32_vsx_p10(out, inp, len, key, counter) :
 #endif
index 65853ba4567d5d21cc365404a1bf9ce83a16b5de..4ba7c24f3e1f008879323e990d4a8a0310475e98 100644 (file)
@@ -33,7 +33,7 @@ IF[{- !$disabled{asm} -}]
   $MODESDEF_parisc20_64=$MODESDEF_parisc11
 
   $MODESASM_ppc32=ghashp8-ppc.s
-  IF[{- $target{sys_id} ne "AIX" -}]
+  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
     $MODESASM_ppc32=ghashp8-ppc.s aes-gcm-ppc.s
   ENDIF
   $MODESDEF_ppc32=
index 402727f9146f7cab34e09accea7387bd399d7d31..2a6e4d3ec6290dc90eb79bbc66e7d92fdf0735a4 100644 (file)
@@ -74,7 +74,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len,
 #   define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks
 #   define HWAES_xts_encrypt aes_p8_xts_encrypt
 #   define HWAES_xts_decrypt aes_p8_xts_decrypt
-#   ifndef OPENSSL_SYS_AIX
+#   if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
 #    define PPC_AES_GCM_CAPABLE (OPENSSL_ppccap_P & PPC_MADD300)
 #    define AES_GCM_ENC_BYTES 128
 #    define AES_GCM_DEC_BYTES 128
@@ -87,7 +87,7 @@ size_t ppc_aes_gcm_decrypt(const unsigned char *in, unsigned char *out,
 #    define AES_GCM_ASM_PPC(gctx) ((gctx)->ctr==aes_p8_ctr32_encrypt_blocks && \
                                    (gctx)->gcm.funcs.ghash==gcm_ghash_p8)
 void gcm_ghash_p8(u64 Xi[2],const u128 Htable[16],const u8 *inp, size_t len);
-#   endif /* OPENSSL_SYS_AIX */
+#   endif /* OPENSSL_SYS_AIX || OPENSSL_SYS_MACOSX */
 #  endif /* PPC */
 
 #  if (defined(__arm__) || defined(__arm) || defined(__aarch64__))