diff options
author | jsing <> | 2025-02-14 12:01:58 +0000 |
---|---|---|
committer | jsing <> | 2025-02-14 12:01:58 +0000 |
commit | 55a1827d4b1706532809a68f02c30336000e01a9 (patch) | |
tree | 606af9a8caef4eada19e055b0a35e755d199b0d1 /src/lib/libcrypto/arch/powerpc | |
parent | aee4d44b17e8fc57dfaadf57efabb128712c9f72 (diff) | |
download | openbsd-55a1827d4b1706532809a68f02c30336000e01a9.tar.gz openbsd-55a1827d4b1706532809a68f02c30336000e01a9.tar.bz2 openbsd-55a1827d4b1706532809a68f02c30336000e01a9.zip |
Replace Makefile based SHA*_ASM defines with HAVE_SHA_* defines.
Currently, SHA{1,256,512}_ASM defines are used to remove the C
implementation of sha{1,256,512}_block_data_order() when it is provided
by assembly. However, this prevents the C implementation from being used
as a fallback.
Rename the C sha*_block_data_order() to sha*_block_generic() and provide
a sha*_block_data_order() that calls sha*_block_generic(). Replace the
Makefile based SHA*_ASM defines with two HAVE_SHA_* defines that allow
these functions to be compiled in or removed, such that machine specific
verisons can be provided. This should effectively be a no-op on any
platform that defined SHA{1,256,512}_ASM.
ok tb@
Diffstat (limited to 'src/lib/libcrypto/arch/powerpc')
-rw-r--r-- | src/lib/libcrypto/arch/powerpc/Makefile.inc | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/arch/powerpc/crypto_arch.h | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/libcrypto/arch/powerpc/Makefile.inc b/src/lib/libcrypto/arch/powerpc/Makefile.inc index 6957abddaf..c5218e53f4 100644 --- a/src/lib/libcrypto/arch/powerpc/Makefile.inc +++ b/src/lib/libcrypto/arch/powerpc/Makefile.inc | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile.inc,v 1.13 2024/11/01 12:56:38 jsing Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.14 2025/02/14 12:01:58 jsing Exp $ |
2 | 2 | ||
3 | # powerpc-specific libcrypto build rules | 3 | # powerpc-specific libcrypto build rules |
4 | 4 | ||
@@ -10,9 +10,7 @@ SSLASM+= bn ppc bn-ppc | |||
10 | SSLASM+= bn ppc-mont ppc-mont | 10 | SSLASM+= bn ppc-mont ppc-mont |
11 | CFLAGS+= -DOPENSSL_BN_ASM_MONT | 11 | CFLAGS+= -DOPENSSL_BN_ASM_MONT |
12 | # sha | 12 | # sha |
13 | CFLAGS+= -DSHA1_ASM | ||
14 | SSLASM+= sha sha1-ppc sha1-ppc | 13 | SSLASM+= sha sha1-ppc sha1-ppc |
15 | CFLAGS+= -DSHA256_ASM | ||
16 | SSLASM+= sha sha512-ppc sha256-ppc | 14 | SSLASM+= sha sha512-ppc sha256-ppc |
17 | 15 | ||
18 | .for dir src dst in ${SSLASM} | 16 | .for dir src dst in ${SSLASM} |
diff --git a/src/lib/libcrypto/arch/powerpc/crypto_arch.h b/src/lib/libcrypto/arch/powerpc/crypto_arch.h index a3dd98d0ce..d2730af0fb 100644 --- a/src/lib/libcrypto/arch/powerpc/crypto_arch.h +++ b/src/lib/libcrypto/arch/powerpc/crypto_arch.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ | 1 | /* $OpenBSD: crypto_arch.h,v 1.2 2025/02/14 12:01:58 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -18,4 +18,14 @@ | |||
18 | #ifndef HEADER_CRYPTO_ARCH_H | 18 | #ifndef HEADER_CRYPTO_ARCH_H |
19 | #define HEADER_CRYPTO_ARCH_H | 19 | #define HEADER_CRYPTO_ARCH_H |
20 | 20 | ||
21 | #ifndef OPENSSL_NO_ASM | ||
22 | |||
23 | #define HAVE_SHA1_BLOCK_DATA_ORDER | ||
24 | #define HAVE_SHA1_BLOCK_GENERIC | ||
25 | |||
26 | #define HAVE_SHA256_BLOCK_DATA_ORDER | ||
27 | #define HAVE_SHA256_BLOCK_GENERIC | ||
28 | |||
29 | #endif | ||
30 | |||
21 | #endif | 31 | #endif |