summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch/sparc64
diff options
context:
space:
mode:
authorjsing <>2026-01-17 16:18:32 +0000
committerjsing <>2026-01-17 16:18:32 +0000
commit03fc8f9b9ecbb65326348dd8eccc5d22344abefe (patch)
tree304533a0e18e53486c5458ff9c69099a939484be /src/lib/libcrypto/arch/sparc64
parentfdea186c25361674646de3b0a16b3ad37c8f0ec3 (diff)
downloadopenbsd-03fc8f9b9ecbb65326348dd8eccc5d22344abefe.tar.gz
openbsd-03fc8f9b9ecbb65326348dd8eccc5d22344abefe.tar.bz2
openbsd-03fc8f9b9ecbb65326348dd8eccc5d22344abefe.zip
Provide LIBRESSL_USE_.*_ASSEMBLY defines.
Make life easier for portable by providing LIBRESSL_USE_.*_ASSEMBLY defines, which enable/disable assembly for a specific algorithm. This means that selected platforms can include the assembly files and specify a define, rather than having to try to patch the crypto_arch.h headers. Discussed with tb@
Diffstat (limited to 'src/lib/libcrypto/arch/sparc64')
-rw-r--r--src/lib/libcrypto/arch/sparc64/Makefile.inc8
-rw-r--r--src/lib/libcrypto/arch/sparc64/crypto_arch.h10
2 files changed, 13 insertions, 5 deletions
diff --git a/src/lib/libcrypto/arch/sparc64/Makefile.inc b/src/lib/libcrypto/arch/sparc64/Makefile.inc
index 2343b3b3e2..3a83ac6282 100644
--- a/src/lib/libcrypto/arch/sparc64/Makefile.inc
+++ b/src/lib/libcrypto/arch/sparc64/Makefile.inc
@@ -1,13 +1,17 @@
1# $OpenBSD: Makefile.inc,v 1.23 2026/01/17 14:30:37 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.24 2026/01/17 16:18:32 jsing Exp $
2 2
3# sparc64-specific libcrypto build rules 3# sparc64-specific libcrypto build rules
4 4
5# aes 5# aes
6CFLAGS+= -DLIBRESSL_USE_AES_ASSEMBLY
6SSLASM+= aes aes-sparcv9 aes-sparcv9 7SSLASM+= aes aes-sparcv9 aes-sparcv9
7# bn 8
8# modes 9# modes
10CFLAGS+= -DLIBRESSL_USE_GCM_ASSEMBLY
9SSLASM+= modes ghash-sparcv9 ghash-sparcv9 11SSLASM+= modes ghash-sparcv9 ghash-sparcv9
12
10# sha 13# sha
14CFLAGS+= -DLIBRESSL_USE_SHA_ASSEMBLY
11SSLASM+= sha sha1-sparcv9 sha1-sparcv9 15SSLASM+= sha sha1-sparcv9 sha1-sparcv9
12SSLASM+= sha sha512-sparcv9 sha256-sparcv9 16SSLASM+= sha sha512-sparcv9 sha256-sparcv9
13SSLASM+= sha sha512-sparcv9 sha512-sparcv9 17SSLASM+= sha sha512-sparcv9 sha512-sparcv9
diff --git a/src/lib/libcrypto/arch/sparc64/crypto_arch.h b/src/lib/libcrypto/arch/sparc64/crypto_arch.h
index 405f1c3657..1f160b625c 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.3 2026/01/17 14:30:37 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.4 2026/01/17 16:18:32 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -20,20 +20,24 @@
20 20
21#ifndef OPENSSL_NO_ASM 21#ifndef OPENSSL_NO_ASM
22 22
23#ifdef LIBRESSL_USE_AES_ASSEMBLY
23#define HAVE_AES_ENCRYPT_INTERNAL 24#define HAVE_AES_ENCRYPT_INTERNAL
24#define HAVE_AES_DECRYPT_INTERNAL 25#define HAVE_AES_DECRYPT_INTERNAL
26#endif
25 27
28#ifdef LIBRESSL_USE_GCM_ASSEMBLY
26#define HAVE_GCM_GHASH_4BIT 29#define HAVE_GCM_GHASH_4BIT
27#define HAVE_GCM_GMULT_4BIT 30#define HAVE_GCM_GMULT_4BIT
31#endif
28 32
33#ifdef LIBRESSL_USE_SHA_ASSEMBLY
29#define HAVE_SHA1_BLOCK_DATA_ORDER 34#define HAVE_SHA1_BLOCK_DATA_ORDER
30#define HAVE_SHA1_BLOCK_GENERIC 35#define HAVE_SHA1_BLOCK_GENERIC
31
32#define HAVE_SHA256_BLOCK_DATA_ORDER 36#define HAVE_SHA256_BLOCK_DATA_ORDER
33#define HAVE_SHA256_BLOCK_GENERIC 37#define HAVE_SHA256_BLOCK_GENERIC
34
35#define HAVE_SHA512_BLOCK_DATA_ORDER 38#define HAVE_SHA512_BLOCK_DATA_ORDER
36#define HAVE_SHA512_BLOCK_GENERIC 39#define HAVE_SHA512_BLOCK_GENERIC
40#endif
37 41
38#endif 42#endif
39 43