summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch
diff options
context:
space:
mode:
authorjsing <>2025-02-14 12:01:58 +0000
committerjsing <>2025-02-14 12:01:58 +0000
commit55a1827d4b1706532809a68f02c30336000e01a9 (patch)
tree606af9a8caef4eada19e055b0a35e755d199b0d1 /src/lib/libcrypto/arch
parentaee4d44b17e8fc57dfaadf57efabb128712c9f72 (diff)
downloadopenbsd-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')
-rw-r--r--src/lib/libcrypto/arch/alpha/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/alpha/crypto_arch.h5
-rw-r--r--src/lib/libcrypto/arch/amd64/Makefile.inc5
-rw-r--r--src/lib/libcrypto/arch/amd64/crypto_arch.h11
-rw-r--r--src/lib/libcrypto/arch/arm/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/arm/crypto_arch.h11
-rw-r--r--src/lib/libcrypto/arch/hppa/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/hppa/crypto_arch.h8
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc5
-rw-r--r--src/lib/libcrypto/arch/i386/crypto_arch.h11
-rw-r--r--src/lib/libcrypto/arch/mips64/Makefile.inc5
-rw-r--r--src/lib/libcrypto/arch/mips64/crypto_arch.h11
-rw-r--r--src/lib/libcrypto/arch/powerpc/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/powerpc/crypto_arch.h12
-rw-r--r--src/lib/libcrypto/arch/powerpc64/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/sparc64/Makefile.inc5
-rw-r--r--src/lib/libcrypto/arch/sparc64/crypto_arch.h11
17 files changed, 80 insertions, 38 deletions
diff --git a/src/lib/libcrypto/arch/alpha/Makefile.inc b/src/lib/libcrypto/arch/alpha/Makefile.inc
index 3e42c42f5e..1073ac3c1e 100644
--- a/src/lib/libcrypto/arch/alpha/Makefile.inc
+++ b/src/lib/libcrypto/arch/alpha/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.14 2024/03/29 07:24:09 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.15 2025/02/14 12:01:58 jsing Exp $
2 2
3# alpha-specific libcrypto build rules 3# alpha-specific libcrypto build rules
4 4
@@ -9,7 +9,6 @@ CFLAGS+= -DOPENSSL_BN_ASM_MONT
9CFLAGS+= -DGHASH_ASM 9CFLAGS+= -DGHASH_ASM
10SSLASM+= modes ghash-alpha 10SSLASM+= modes ghash-alpha
11# sha 11# sha
12CFLAGS+= -DSHA1_ASM
13SSLASM+= sha sha1-alpha 12SSLASM+= sha sha1-alpha
14 13
15.for dir f in ${SSLASM} 14.for dir f in ${SSLASM}
diff --git a/src/lib/libcrypto/arch/alpha/crypto_arch.h b/src/lib/libcrypto/arch/alpha/crypto_arch.h
index a3dd98d0ce..1d553b7e07 100644
--- a/src/lib/libcrypto/arch/alpha/crypto_arch.h
+++ b/src/lib/libcrypto/arch/alpha/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,7 @@
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#define HAVE_SHA1_BLOCK_DATA_ORDER
22#define HAVE_SHA1_BLOCK_GENERIC
23
21#endif 24#endif
diff --git a/src/lib/libcrypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/arch/amd64/Makefile.inc
index f4410e8059..b1a6563931 100644
--- a/src/lib/libcrypto/arch/amd64/Makefile.inc
+++ b/src/lib/libcrypto/arch/amd64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.36 2025/01/24 13:35:04 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.37 2025/02/14 12:01:58 jsing Exp $
2 2
3# amd64-specific libcrypto build rules 3# amd64-specific libcrypto build rules
4 4
@@ -48,15 +48,12 @@ SSLASM+= modes ghash-x86_64
48SSLASM+= rc4 rc4-x86_64 48SSLASM+= rc4 rc4-x86_64
49# ripemd 49# ripemd
50# sha 50# sha
51CFLAGS+= -DSHA1_ASM
52SRCS+= sha1_amd64.c 51SRCS+= sha1_amd64.c
53SRCS+= sha1_amd64_generic.S 52SRCS+= sha1_amd64_generic.S
54SRCS+= sha1_amd64_shani.S 53SRCS+= sha1_amd64_shani.S
55CFLAGS+= -DSHA256_ASM
56SRCS+= sha256_amd64.c 54SRCS+= sha256_amd64.c
57SRCS+= sha256_amd64_generic.S 55SRCS+= sha256_amd64_generic.S
58SRCS+= sha256_amd64_shani.S 56SRCS+= sha256_amd64_shani.S
59CFLAGS+= -DSHA512_ASM
60SRCS+= sha512_amd64.c 57SRCS+= sha512_amd64.c
61SRCS+= sha512_amd64_generic.S 58SRCS+= sha512_amd64_generic.S
62 59
diff --git a/src/lib/libcrypto/arch/amd64/crypto_arch.h b/src/lib/libcrypto/arch/amd64/crypto_arch.h
index 7546fb0dfd..951374250d 100644
--- a/src/lib/libcrypto/arch/amd64/crypto_arch.h
+++ b/src/lib/libcrypto/arch/amd64/crypto_arch.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_arch.h,v 1.4 2024/11/16 13:05:35 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.5 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 *
@@ -40,6 +40,15 @@ extern uint64_t crypto_cpu_caps_amd64;
40#define HAVE_RC4_INTERNAL 40#define HAVE_RC4_INTERNAL
41#define HAVE_RC4_SET_KEY_INTERNAL 41#define HAVE_RC4_SET_KEY_INTERNAL
42 42
43#define HAVE_SHA1_BLOCK_DATA_ORDER
44#define HAVE_SHA1_BLOCK_GENERIC
45
46#define HAVE_SHA256_BLOCK_DATA_ORDER
47#define HAVE_SHA256_BLOCK_GENERIC
48
49#define HAVE_SHA512_BLOCK_DATA_ORDER
50#define HAVE_SHA512_BLOCK_GENERIC
51
43#endif 52#endif
44 53
45#endif 54#endif
diff --git a/src/lib/libcrypto/arch/arm/Makefile.inc b/src/lib/libcrypto/arch/arm/Makefile.inc
index b09b54a564..e078c51d98 100644
--- a/src/lib/libcrypto/arch/arm/Makefile.inc
+++ b/src/lib/libcrypto/arch/arm/Makefile.inc
@@ -12,11 +12,8 @@ SSLASM+= bn armv4-mont
12CFLAGS+= -DGHASH_ASM 12CFLAGS+= -DGHASH_ASM
13SSLASM+= modes ghash-armv4 13SSLASM+= modes ghash-armv4
14# sha 14# sha
15CFLAGS+= -DSHA1_ASM
16SSLASM+= sha sha1-armv4-large 15SSLASM+= sha sha1-armv4-large
17CFLAGS+= -DSHA256_ASM
18SSLASM+= sha sha256-armv4 16SSLASM+= sha sha256-armv4
19CFLAGS+= -DSHA512_ASM
20SSLASM+= sha sha512-armv4 17SSLASM+= sha sha512-armv4
21 18
22.for dir f in ${SSLASM} 19.for dir f in ${SSLASM}
diff --git a/src/lib/libcrypto/arch/arm/crypto_arch.h b/src/lib/libcrypto/arch/arm/crypto_arch.h
index 4276dc31ea..07d7829fe3 100644
--- a/src/lib/libcrypto/arch/arm/crypto_arch.h
+++ b/src/lib/libcrypto/arch/arm/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 *
@@ -25,6 +25,15 @@
25#define HAVE_AES_ENCRYPT_INTERNAL 25#define HAVE_AES_ENCRYPT_INTERNAL
26#define HAVE_AES_DECRYPT_INTERNAL 26#define HAVE_AES_DECRYPT_INTERNAL
27 27
28#define HAVE_SHA1_BLOCK_DATA_ORDER
29#define HAVE_SHA1_BLOCK_GENERIC
30
31#define HAVE_SHA256_BLOCK_DATA_ORDER
32#define HAVE_SHA256_BLOCK_GENERIC
33
34#define HAVE_SHA512_BLOCK_DATA_ORDER
35#define HAVE_SHA512_BLOCK_GENERIC
36
28#endif 37#endif
29 38
30#endif 39#endif
diff --git a/src/lib/libcrypto/arch/hppa/Makefile.inc b/src/lib/libcrypto/arch/hppa/Makefile.inc
index 4e2675a600..11bfa4a5d3 100644
--- a/src/lib/libcrypto/arch/hppa/Makefile.inc
+++ b/src/lib/libcrypto/arch/hppa/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.25 2024/08/11 13:02:39 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.26 2025/02/14 12:01:58 jsing Exp $
2 2
3# hppa-specific libcrypto build rules 3# hppa-specific libcrypto build rules
4 4
@@ -12,9 +12,7 @@ CFLAGS+= -DOPENSSL_BN_ASM_MONT -DBN_DIV2W
12CFLAGS+= -DGHASH_ASM 12CFLAGS+= -DGHASH_ASM
13SSLASM+= modes ghash-parisc ghash-parisc 13SSLASM+= modes ghash-parisc ghash-parisc
14# sha 14# sha
15CFLAGS+= -DSHA1_ASM
16SSLASM+= sha sha1-parisc sha1-parisc 15SSLASM+= sha sha1-parisc sha1-parisc
17CFLAGS+= -DSHA256_ASM
18SSLASM+= sha sha512-parisc sha256-parisc 16SSLASM+= sha sha512-parisc sha256-parisc
19 17
20.for dir src dst in ${SSLASM} 18.for dir src dst in ${SSLASM}
diff --git a/src/lib/libcrypto/arch/hppa/crypto_arch.h b/src/lib/libcrypto/arch/hppa/crypto_arch.h
index 7f1fc36cac..08fcaca045 100644
--- a/src/lib/libcrypto/arch/hppa/crypto_arch.h
+++ b/src/lib/libcrypto/arch/hppa/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 *
@@ -23,6 +23,12 @@
23#define HAVE_AES_ENCRYPT_INTERNAL 23#define HAVE_AES_ENCRYPT_INTERNAL
24#define HAVE_AES_DECRYPT_INTERNAL 24#define HAVE_AES_DECRYPT_INTERNAL
25 25
26#define HAVE_SHA1_BLOCK_DATA_ORDER
27#define HAVE_SHA1_BLOCK_GENERIC
28
29#define HAVE_SHA256_BLOCK_DATA_ORDER
30#define HAVE_SHA256_BLOCK_GENERIC
31
26#endif 32#endif
27 33
28#endif 34#endif
diff --git a/src/lib/libcrypto/arch/i386/Makefile.inc b/src/lib/libcrypto/arch/i386/Makefile.inc
index 2101304703..6989b35686 100644
--- a/src/lib/libcrypto/arch/i386/Makefile.inc
+++ b/src/lib/libcrypto/arch/i386/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.26 2024/10/18 14:44:02 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.27 2025/02/14 12:01:58 jsing Exp $
2 2
3# i386-specific libcrypto build rules 3# i386-specific libcrypto build rules
4 4
@@ -28,11 +28,8 @@ SSLASM+= modes ghash-x86
28# rc4 28# rc4
29SSLASM+= rc4 rc4-586 29SSLASM+= rc4 rc4-586
30# sha 30# sha
31CFLAGS+= -DSHA1_ASM
32SSLASM+= sha sha1-586 31SSLASM+= sha sha1-586
33CFLAGS+= -DSHA256_ASM
34SSLASM+= sha sha256-586 32SSLASM+= sha sha256-586
35CFLAGS+= -DSHA512_ASM
36SSLASM+= sha sha512-586 33SSLASM+= sha sha512-586
37 34
38.for dir f in ${SSLASM} 35.for dir f in ${SSLASM}
diff --git a/src/lib/libcrypto/arch/i386/crypto_arch.h b/src/lib/libcrypto/arch/i386/crypto_arch.h
index 64b2da587b..3df3963d0b 100644
--- a/src/lib/libcrypto/arch/i386/crypto_arch.h
+++ b/src/lib/libcrypto/arch/i386/crypto_arch.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_arch.h,v 1.3 2024/10/19 13:06:11 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.4 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 *
@@ -32,6 +32,15 @@
32#define HAVE_RC4_INTERNAL 32#define HAVE_RC4_INTERNAL
33#define HAVE_RC4_SET_KEY_INTERNAL 33#define HAVE_RC4_SET_KEY_INTERNAL
34 34
35#define HAVE_SHA1_BLOCK_DATA_ORDER
36#define HAVE_SHA1_BLOCK_GENERIC
37
38#define HAVE_SHA256_BLOCK_DATA_ORDER
39#define HAVE_SHA256_BLOCK_GENERIC
40
41#define HAVE_SHA512_BLOCK_DATA_ORDER
42#define HAVE_SHA512_BLOCK_GENERIC
43
35#endif 44#endif
36 45
37#endif 46#endif
diff --git a/src/lib/libcrypto/arch/mips64/Makefile.inc b/src/lib/libcrypto/arch/mips64/Makefile.inc
index 9e08b442ac..64e806289d 100644
--- a/src/lib/libcrypto/arch/mips64/Makefile.inc
+++ b/src/lib/libcrypto/arch/mips64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.18 2024/08/11 13:02:39 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.19 2025/02/14 12:01:58 jsing Exp $
2 2
3# mips64-specific libcrypto build rules 3# mips64-specific libcrypto build rules
4 4
@@ -11,11 +11,8 @@ SSLASM+= bn mips-mont mips-mont
11CFLAGS+= -DOPENSSL_BN_ASM_MONT 11CFLAGS+= -DOPENSSL_BN_ASM_MONT
12# sha 12# sha
13SSLASM+= sha sha1-mips sha1-mips 13SSLASM+= sha sha1-mips sha1-mips
14CFLAGS+= -DSHA1_ASM
15SSLASM+= sha sha512-mips sha256-mips 14SSLASM+= sha sha512-mips sha256-mips
16CFLAGS+= -DSHA256_ASM
17SSLASM+= sha sha512-mips sha512-mips 15SSLASM+= sha sha512-mips sha512-mips
18CFLAGS+= -DSHA512_ASM
19 16
20.for dir src dst in ${SSLASM} 17.for dir src dst in ${SSLASM}
21SRCS+= ${dst}.S 18SRCS+= ${dst}.S
diff --git a/src/lib/libcrypto/arch/mips64/crypto_arch.h b/src/lib/libcrypto/arch/mips64/crypto_arch.h
index 4276dc31ea..07d7829fe3 100644
--- a/src/lib/libcrypto/arch/mips64/crypto_arch.h
+++ b/src/lib/libcrypto/arch/mips64/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 *
@@ -25,6 +25,15 @@
25#define HAVE_AES_ENCRYPT_INTERNAL 25#define HAVE_AES_ENCRYPT_INTERNAL
26#define HAVE_AES_DECRYPT_INTERNAL 26#define HAVE_AES_DECRYPT_INTERNAL
27 27
28#define HAVE_SHA1_BLOCK_DATA_ORDER
29#define HAVE_SHA1_BLOCK_GENERIC
30
31#define HAVE_SHA256_BLOCK_DATA_ORDER
32#define HAVE_SHA256_BLOCK_GENERIC
33
34#define HAVE_SHA512_BLOCK_DATA_ORDER
35#define HAVE_SHA512_BLOCK_GENERIC
36
28#endif 37#endif
29 38
30#endif 39#endif
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
10SSLASM+= bn ppc-mont ppc-mont 10SSLASM+= bn ppc-mont ppc-mont
11CFLAGS+= -DOPENSSL_BN_ASM_MONT 11CFLAGS+= -DOPENSSL_BN_ASM_MONT
12# sha 12# sha
13CFLAGS+= -DSHA1_ASM
14SSLASM+= sha sha1-ppc sha1-ppc 13SSLASM+= sha sha1-ppc sha1-ppc
15CFLAGS+= -DSHA256_ASM
16SSLASM+= sha sha512-ppc sha256-ppc 14SSLASM+= 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
diff --git a/src/lib/libcrypto/arch/powerpc64/Makefile.inc b/src/lib/libcrypto/arch/powerpc64/Makefile.inc
index da81a63cdf..c309ab8b40 100644
--- a/src/lib/libcrypto/arch/powerpc64/Makefile.inc
+++ b/src/lib/libcrypto/arch/powerpc64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.15 2024/11/01 12:56:38 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.16 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 @@
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/sparc64/Makefile.inc b/src/lib/libcrypto/arch/sparc64/Makefile.inc
index 43b4b199cd..cbf63e033e 100644
--- a/src/lib/libcrypto/arch/sparc64/Makefile.inc
+++ b/src/lib/libcrypto/arch/sparc64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.20 2024/10/19 11:55:32 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.21 2025/02/14 12:01:58 jsing Exp $
2 2
3# sparc64-specific libcrypto build rules 3# sparc64-specific libcrypto build rules
4 4
@@ -11,11 +11,8 @@ CFLAGS+= -DGHASH_ASM
11SSLASM+= modes ghash-sparcv9 ghash-sparcv9 11SSLASM+= modes ghash-sparcv9 ghash-sparcv9
12# sha 12# sha
13SSLASM+= sha sha1-sparcv9 sha1-sparcv9 13SSLASM+= sha sha1-sparcv9 sha1-sparcv9
14CFLAGS+= -DSHA1_ASM
15SSLASM+= sha sha512-sparcv9 sha256-sparcv9 14SSLASM+= sha sha512-sparcv9 sha256-sparcv9
16CFLAGS+= -DSHA256_ASM
17SSLASM+= sha sha512-sparcv9 sha512-sparcv9 15SSLASM+= sha sha512-sparcv9 sha512-sparcv9
18CFLAGS+= -DSHA512_ASM
19 16
20.for dir src dst in ${SSLASM} 17.for dir src dst in ${SSLASM}
21SRCS+= ${dst}.S 18SRCS+= ${dst}.S
diff --git a/src/lib/libcrypto/arch/sparc64/crypto_arch.h b/src/lib/libcrypto/arch/sparc64/crypto_arch.h
index 7f1fc36cac..251957a5bc 100644
--- a/src/lib/libcrypto/arch/sparc64/crypto_arch.h
+++ b/src/lib/libcrypto/arch/sparc64/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 *
@@ -23,6 +23,15 @@
23#define HAVE_AES_ENCRYPT_INTERNAL 23#define HAVE_AES_ENCRYPT_INTERNAL
24#define HAVE_AES_DECRYPT_INTERNAL 24#define HAVE_AES_DECRYPT_INTERNAL
25 25
26#define HAVE_SHA1_BLOCK_DATA_ORDER
27#define HAVE_SHA1_BLOCK_GENERIC
28
29#define HAVE_SHA256_BLOCK_DATA_ORDER
30#define HAVE_SHA256_BLOCK_GENERIC
31
32#define HAVE_SHA512_BLOCK_DATA_ORDER
33#define HAVE_SHA512_BLOCK_GENERIC
34
26#endif 35#endif
27 36
28#endif 37#endif