summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch/powerpc
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/powerpc
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/powerpc')
-rw-r--r--src/lib/libcrypto/arch/powerpc/Makefile.inc7
-rw-r--r--src/lib/libcrypto/arch/powerpc/crypto_arch.h5
2 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/libcrypto/arch/powerpc/Makefile.inc b/src/lib/libcrypto/arch/powerpc/Makefile.inc
index c37d88d779..c62c90f753 100644
--- a/src/lib/libcrypto/arch/powerpc/Makefile.inc
+++ b/src/lib/libcrypto/arch/powerpc/Makefile.inc
@@ -1,14 +1,19 @@
1# $OpenBSD: Makefile.inc,v 1.15 2026/01/17 13:55:31 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.16 2026/01/17 16:18:32 jsing Exp $
2 2
3# powerpc-specific libcrypto build rules 3# powerpc-specific libcrypto build rules
4 4
5# aes
5# slower than C code 6# slower than C code
6#SSLASM+= aes aes-ppc aes-ppc 7#SSLASM+= aes aes-ppc aes-ppc
8
7# bn 9# bn
10CFLAGS+= -DLIBRESSL_USE_BN_ASSEMBLY
8SSLASM+= bn ppc bn-ppc 11SSLASM+= bn ppc bn-ppc
9SSLASM+= bn ppc-mont ppc-mont 12SSLASM+= bn ppc-mont ppc-mont
10CFLAGS+= -DOPENSSL_BN_ASM_MONT 13CFLAGS+= -DOPENSSL_BN_ASM_MONT
14
11# sha 15# sha
16CFLAGS+= -DLIBRESSL_USE_SHA_ASSEMBLY
12SSLASM+= sha sha1-ppc sha1-ppc 17SSLASM+= sha sha1-ppc sha1-ppc
13SSLASM+= sha sha512-ppc sha256-ppc 18SSLASM+= sha sha512-ppc sha256-ppc
14 19
diff --git a/src/lib/libcrypto/arch/powerpc/crypto_arch.h b/src/lib/libcrypto/arch/powerpc/crypto_arch.h
index d2730af0fb..63aa840ae8 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.2 2025/02/14 12:01:58 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.3 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,11 +20,12 @@
20 20
21#ifndef OPENSSL_NO_ASM 21#ifndef OPENSSL_NO_ASM
22 22
23#ifdef LIBRESSL_USE_SHA_ASSEMBLY
23#define HAVE_SHA1_BLOCK_DATA_ORDER 24#define HAVE_SHA1_BLOCK_DATA_ORDER
24#define HAVE_SHA1_BLOCK_GENERIC 25#define HAVE_SHA1_BLOCK_GENERIC
25
26#define HAVE_SHA256_BLOCK_DATA_ORDER 26#define HAVE_SHA256_BLOCK_DATA_ORDER
27#define HAVE_SHA256_BLOCK_GENERIC 27#define HAVE_SHA256_BLOCK_GENERIC
28#endif
28 29
29#endif 30#endif
30 31