summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch
diff options
context:
space:
mode:
authorjsing <>2026-01-17 14:30:37 +0000
committerjsing <>2026-01-17 14:30:37 +0000
commitdb12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d (patch)
treed8886890844b745822e02557ecb2251ea4786398 /src/lib/libcrypto/arch
parent1dd1aaafcbe820792a0f2e002a85a22055696509 (diff)
downloadopenbsd-db12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d.tar.gz
openbsd-db12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d.tar.bz2
openbsd-db12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d.zip
Replace GHASH_ASM with function specific defines.
Use the same pattern that is now used for most other code - provide HAVE_* defines for functions and use these to selectively enable source code.
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.h9
-rw-r--r--src/lib/libcrypto/arch/amd64/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/amd64/crypto_arch.h4
-rw-r--r--src/lib/libcrypto/arch/hppa/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/hppa/crypto_arch.h5
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/i386/crypto_arch.h4
-rw-r--r--src/lib/libcrypto/arch/sparc64/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/sparc64/crypto_arch.h5
10 files changed, 27 insertions, 15 deletions
diff --git a/src/lib/libcrypto/arch/alpha/Makefile.inc b/src/lib/libcrypto/arch/alpha/Makefile.inc
index 1073ac3c1e..d89f32dc9d 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.15 2025/02/14 12:01:58 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.16 2026/01/17 14:30:37 jsing Exp $
2 2
3# alpha-specific libcrypto build rules 3# alpha-specific libcrypto build rules
4 4
@@ -6,7 +6,6 @@
6SSLASM+= bn alpha-mont 6SSLASM+= bn alpha-mont
7CFLAGS+= -DOPENSSL_BN_ASM_MONT 7CFLAGS+= -DOPENSSL_BN_ASM_MONT
8# modes 8# modes
9CFLAGS+= -DGHASH_ASM
10SSLASM+= modes ghash-alpha 9SSLASM+= modes ghash-alpha
11# sha 10# sha
12SSLASM+= sha sha1-alpha 11SSLASM+= sha sha1-alpha
diff --git a/src/lib/libcrypto/arch/alpha/crypto_arch.h b/src/lib/libcrypto/arch/alpha/crypto_arch.h
index 1d553b7e07..8fec3e2855 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.2 2025/02/14 12:01:58 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.3 2026/01/17 14:30:37 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,7 +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_GCM_GHASH_4BIT
24#define HAVE_GCM_GMULT_4BIT
25
21#define HAVE_SHA1_BLOCK_DATA_ORDER 26#define HAVE_SHA1_BLOCK_DATA_ORDER
22#define HAVE_SHA1_BLOCK_GENERIC 27#define HAVE_SHA1_BLOCK_GENERIC
23 28
24#endif 29#endif
30
31#endif
diff --git a/src/lib/libcrypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/arch/amd64/Makefile.inc
index 27c61edf58..49f2f6e627 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.43 2026/01/17 13:55:30 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.44 2026/01/17 14:30:37 jsing Exp $
2 2
3# amd64-specific libcrypto build rules 3# amd64-specific libcrypto build rules
4 4
@@ -48,7 +48,6 @@ CFLAGS+= -DMD5_ASM
48SRCS+= md5_amd64_generic.S 48SRCS+= md5_amd64_generic.S
49 49
50# modes 50# modes
51CFLAGS+= -DGHASH_ASM
52SSLASM+= modes ghash-x86_64 51SSLASM+= modes ghash-x86_64
53SRCS += gcm128_amd64.c 52SRCS += gcm128_amd64.c
54 53
diff --git a/src/lib/libcrypto/arch/amd64/crypto_arch.h b/src/lib/libcrypto/arch/amd64/crypto_arch.h
index 9a179a571e..fdc17b8110 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.15 2025/09/08 12:56:17 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.16 2026/01/17 14:30:37 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -49,6 +49,8 @@ extern uint64_t crypto_cpu_caps_amd64;
49#define HAVE_AES_XTS_ENCRYPT_INTERNAL 49#define HAVE_AES_XTS_ENCRYPT_INTERNAL
50 50
51#define HAVE_GCM128_INIT 51#define HAVE_GCM128_INIT
52#define HAVE_GCM_GHASH_4BIT
53#define HAVE_GCM_GMULT_4BIT
52 54
53#define HAVE_RC4_INTERNAL 55#define HAVE_RC4_INTERNAL
54#define HAVE_RC4_SET_KEY_INTERNAL 56#define HAVE_RC4_SET_KEY_INTERNAL
diff --git a/src/lib/libcrypto/arch/hppa/Makefile.inc b/src/lib/libcrypto/arch/hppa/Makefile.inc
index ebcc4c8208..4244c20fef 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.28 2026/01/17 13:55:30 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.29 2026/01/17 14:30:37 jsing Exp $
2 2
3# hppa-specific libcrypto build rules 3# hppa-specific libcrypto build rules
4 4
@@ -8,7 +8,6 @@ SSLASM+= aes aes-parisc aes-parisc
8SSLASM+= bn parisc-mont parisc-mont 8SSLASM+= bn parisc-mont parisc-mont
9CFLAGS+= -DOPENSSL_BN_ASM_MONT 9CFLAGS+= -DOPENSSL_BN_ASM_MONT
10# modes 10# modes
11CFLAGS+= -DGHASH_ASM
12SSLASM+= modes ghash-parisc ghash-parisc 11SSLASM+= modes ghash-parisc ghash-parisc
13# sha 12# sha
14SSLASM+= sha sha1-parisc sha1-parisc 13SSLASM+= sha sha1-parisc sha1-parisc
diff --git a/src/lib/libcrypto/arch/hppa/crypto_arch.h b/src/lib/libcrypto/arch/hppa/crypto_arch.h
index 08fcaca045..80260c93e7 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.2 2025/02/14 12:01:58 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.3 2026/01/17 14:30:37 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,9 @@
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_GCM_GHASH_4BIT
27#define HAVE_GCM_GMULT_4BIT
28
26#define HAVE_SHA1_BLOCK_DATA_ORDER 29#define HAVE_SHA1_BLOCK_DATA_ORDER
27#define HAVE_SHA1_BLOCK_GENERIC 30#define HAVE_SHA1_BLOCK_GENERIC
28 31
diff --git a/src/lib/libcrypto/arch/i386/Makefile.inc b/src/lib/libcrypto/arch/i386/Makefile.inc
index d0c1aeea6a..18d316e64d 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.32 2026/01/17 13:55:30 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.33 2026/01/17 14:30:37 jsing Exp $
2 2
3# i386-specific libcrypto build rules 3# i386-specific libcrypto build rules
4 4
@@ -23,7 +23,6 @@ CFLAGS+= -DMD5_ASM
23SSLASM+= md5 md5-586 23SSLASM+= md5 md5-586
24 24
25# modes 25# modes
26CFLAGS+= -DGHASH_ASM
27SSLASM+= modes ghash-x86 26SSLASM+= modes ghash-x86
28SRCS += gcm128_i386.c 27SRCS += gcm128_i386.c
29 28
diff --git a/src/lib/libcrypto/arch/i386/crypto_arch.h b/src/lib/libcrypto/arch/i386/crypto_arch.h
index f0e9e4c065..143dce6ce0 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.14 2025/12/31 10:06:41 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.15 2026/01/17 14:30:37 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -49,6 +49,8 @@ extern uint64_t crypto_cpu_caps_i386;
49#define HAVE_AES_XTS_ENCRYPT_INTERNAL 49#define HAVE_AES_XTS_ENCRYPT_INTERNAL
50 50
51#define HAVE_GCM128_INIT 51#define HAVE_GCM128_INIT
52#define HAVE_GCM_GHASH_4BIT
53#define HAVE_GCM_GMULT_4BIT
52 54
53#define HAVE_RC4_INTERNAL 55#define HAVE_RC4_INTERNAL
54#define HAVE_RC4_SET_KEY_INTERNAL 56#define HAVE_RC4_SET_KEY_INTERNAL
diff --git a/src/lib/libcrypto/arch/sparc64/Makefile.inc b/src/lib/libcrypto/arch/sparc64/Makefile.inc
index f09a9769a9..2343b3b3e2 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.22 2026/01/17 13:55:31 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.23 2026/01/17 14:30:37 jsing Exp $
2 2
3# sparc64-specific libcrypto build rules 3# sparc64-specific libcrypto build rules
4 4
@@ -6,7 +6,6 @@
6SSLASM+= aes aes-sparcv9 aes-sparcv9 6SSLASM+= aes aes-sparcv9 aes-sparcv9
7# bn 7# bn
8# modes 8# modes
9CFLAGS+= -DGHASH_ASM
10SSLASM+= modes ghash-sparcv9 ghash-sparcv9 9SSLASM+= modes ghash-sparcv9 ghash-sparcv9
11# sha 10# sha
12SSLASM+= sha sha1-sparcv9 sha1-sparcv9 11SSLASM+= sha sha1-sparcv9 sha1-sparcv9
diff --git a/src/lib/libcrypto/arch/sparc64/crypto_arch.h b/src/lib/libcrypto/arch/sparc64/crypto_arch.h
index 251957a5bc..405f1c3657 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.2 2025/02/14 12:01:58 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.3 2026/01/17 14:30:37 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,9 @@
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_GCM_GHASH_4BIT
27#define HAVE_GCM_GMULT_4BIT
28
26#define HAVE_SHA1_BLOCK_DATA_ORDER 29#define HAVE_SHA1_BLOCK_DATA_ORDER
27#define HAVE_SHA1_BLOCK_GENERIC 30#define HAVE_SHA1_BLOCK_GENERIC
28 31