aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2026-01-18 14:30:43 +1100
committerTheo Buehler <tb@openbsd.org>2026-01-18 01:12:08 -0700
commit3e1e0632f15abb9714c02a3e9a95186c6074b7ce (patch)
tree1daffb088cfcec96e45c5181a4f311f0287497a7
parent02d51c01aa97fc9d909d47baab5e72239bf9fe93 (diff)
downloadportable-3e1e0632f15abb9714c02a3e9a95186c6074b7ce.tar.gz
portable-3e1e0632f15abb9714c02a3e9a95186c6074b7ce.tar.bz2
portable-3e1e0632f15abb9714c02a3e9a95186c6074b7ce.zip
Revise portable to work with LIBRESSL_USE_*_ASSEMBLY defines
-rw-r--r--crypto/CMakeLists.txt28
-rw-r--r--crypto/Makefile.am.elf-mips6
-rw-r--r--crypto/Makefile.am.elf-mips646
-rw-r--r--crypto/Makefile.am.elf-x86_649
-rw-r--r--crypto/Makefile.am.macosx-x86_649
-rw-r--r--crypto/Makefile.am.masm-x86_649
-rw-r--r--crypto/Makefile.am.mingw64-x86_6410
-rw-r--r--patches/aarch64_crypto_arch.h.patch16
-rw-r--r--patches/amd64_crypto_arch.h.patch18
9 files changed, 51 insertions, 60 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index cb28fc3..1cacbf4 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -52,11 +52,12 @@ if(HOST_ASM_ELF_X86_64)
52 bn/arch/amd64/bignum_sub.S 52 bn/arch/amd64/bignum_sub.S
53 bn/arch/amd64/word_clz.S 53 bn/arch/amd64/word_clz.S
54 ) 54 )
55 add_definitions(-DAES_ASM) 55 add_definitions(-DLIBRESSL_USE_AES_ASSEMBLY)
56 add_definitions(-DLIBRESSL_USE_BN_ASSEMBLY)
57 add_definitions(-DLIBRESSL_USE_GCM_ASSEMBLY)
58 add_definitions(-DLIBRESSL_USE_RC4_ASSEMBLY)
56 add_definitions(-DOPENSSL_BN_ASM_MONT) 59 add_definitions(-DOPENSSL_BN_ASM_MONT)
57 add_definitions(-DOPENSSL_BN_ASM_MONT5) 60 add_definitions(-DOPENSSL_BN_ASM_MONT5)
58 add_definitions(-DGHASH_ASM)
59 add_definitions(-DRSA_ASM)
60 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC}) 61 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC})
61endif() 62endif()
62 63
@@ -97,11 +98,12 @@ if(HOST_ASM_MACOSX_X86_64)
97 bn/arch/amd64/bignum_sub.S 98 bn/arch/amd64/bignum_sub.S
98 bn/arch/amd64/word_clz.S 99 bn/arch/amd64/word_clz.S
99 ) 100 )
100 add_definitions(-DAES_ASM) 101 add_definitions(-DLIBRESSL_USE_AES_ASSEMBLY)
102 add_definitions(-DLIBRESSL_USE_BN_ASSEMBLY)
103 add_definitions(-DLIBRESSL_USE_GCM_ASSEMBLY)
104 add_definitions(-DLIBRESSL_USE_RC4_ASSEMBLY)
101 add_definitions(-DOPENSSL_BN_ASM_MONT) 105 add_definitions(-DOPENSSL_BN_ASM_MONT)
102 add_definitions(-DOPENSSL_BN_ASM_MONT5) 106 add_definitions(-DOPENSSL_BN_ASM_MONT5)
103 add_definitions(-DGHASH_ASM)
104 add_definitions(-DRSA_ASM)
105 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC}) 107 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC})
106 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm") 108 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm")
107endif() 109endif()
@@ -121,11 +123,12 @@ if(HOST_ASM_MASM_X86_64)
121 rc4/rc4-masm-x86_64.S 123 rc4/rc4-masm-x86_64.S
122 ) 124 )
123 add_definitions(-Dendbr64=) 125 add_definitions(-Dendbr64=)
124 add_definitions(-DAES_ASM) 126 add_definitions(-DLIBRESSL_USE_AES_ASSEMBLY)
127 #add_definitions(-DLIBRESSL_USE_BN_ASSEMBLY)
128 add_definitions(-DLIBRESSL_USE_GCM_ASSEMBLY)
129 add_definitions(-DLIBRESSL_USE_RC4_ASSEMBLY)
125 #add_definitions(-DOPENSSL_BN_ASM_MONT) 130 #add_definitions(-DOPENSSL_BN_ASM_MONT)
126 #add_definitions(-DOPENSSL_BN_ASM_MONT5) 131 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
127 add_definitions(-DGHASH_ASM)
128 add_definitions(-DRSA_ASM)
129 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC}) 132 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC})
130 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM) 133 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM)
131endif() 134endif()
@@ -145,11 +148,12 @@ if(HOST_ASM_MINGW64_X86_64)
145 rc4/rc4-mingw64-x86_64.S 148 rc4/rc4-mingw64-x86_64.S
146 ) 149 )
147 add_definitions(-Dendbr32=endbr64) 150 add_definitions(-Dendbr32=endbr64)
148 add_definitions(-DAES_ASM) 151 add_definitions(-DLIBRESSL_USE_AES_ASSEMBLY)
152 #add_definitions(-DLIBRESSL_USE_BN_ASSEMBLY)
153 add_definitions(-DLIBRESSL_USE_GCM_ASSEMBLY)
154 add_definitions(-DLIBRESSL_USE_RC4_ASSEMBLY)
149 #add_definitions(-DOPENSSL_BN_ASM_MONT) 155 #add_definitions(-DOPENSSL_BN_ASM_MONT)
150 #add_definitions(-DOPENSSL_BN_ASM_MONT5) 156 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
151 add_definitions(-DGHASH_ASM)
152 add_definitions(-DRSA_ASM)
153 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC}) 157 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC})
154endif() 158endif()
155 159
diff --git a/crypto/Makefile.am.elf-mips b/crypto/Makefile.am.elf-mips
index f7a44f2..2276991 100644
--- a/crypto/Makefile.am.elf-mips
+++ b/crypto/Makefile.am.elf-mips
@@ -8,7 +8,11 @@ ASM_MIPS_ELF += sha/sha256-mips.S
8EXTRA_DIST += $(ASM_MIPS_ELF) 8EXTRA_DIST += $(ASM_MIPS_ELF)
9 9
10if HOST_ASM_ELF_MIPS 10if HOST_ASM_ELF_MIPS
11libcrypto_la_CPPFLAGS += -DAES_ASM 11libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
12libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
13libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_SHA_ASSEMBLY
14
12libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 15libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
16
13libcrypto_la_SOURCES += $(ASM_MIPS_ELF) 17libcrypto_la_SOURCES += $(ASM_MIPS_ELF)
14endif 18endif
diff --git a/crypto/Makefile.am.elf-mips64 b/crypto/Makefile.am.elf-mips64
index 7d90bc0..c6727b3 100644
--- a/crypto/Makefile.am.elf-mips64
+++ b/crypto/Makefile.am.elf-mips64
@@ -8,7 +8,11 @@ ASM_MIPS64_ELF += sha/sha256-mips.S
8EXTRA_DIST += $(ASM_MIPS64_ELF) 8EXTRA_DIST += $(ASM_MIPS64_ELF)
9 9
10if HOST_ASM_ELF_MIPS64 10if HOST_ASM_ELF_MIPS64
11libcrypto_la_CPPFLAGS += -DAES_ASM 11libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
12libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
13libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_SHA_ASSEMBLY
14
12libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 15libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
16
13libcrypto_la_SOURCES += $(ASM_MIPS64_ELF) 17libcrypto_la_SOURCES += $(ASM_MIPS64_ELF)
14endif 18endif
diff --git a/crypto/Makefile.am.elf-x86_64 b/crypto/Makefile.am.elf-x86_64
index c85deb1..d1b067d 100644
--- a/crypto/Makefile.am.elf-x86_64
+++ b/crypto/Makefile.am.elf-x86_64
@@ -36,10 +36,13 @@ libcrypto_la_SOURCES += aes/aes_amd64.c
36libcrypto_la_SOURCES += bn/arch/amd64/bn_arch.c 36libcrypto_la_SOURCES += bn/arch/amd64/bn_arch.c
37libcrypto_la_SOURCES += modes/gcm128_amd64.c 37libcrypto_la_SOURCES += modes/gcm128_amd64.c
38 38
39libcrypto_la_CPPFLAGS += -DAES_ASM 39libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
40libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
41libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_GCM_ASSEMBLY
42libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_RC4_ASSEMBLY
43
40libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 44libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
41libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 45libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
42libcrypto_la_CPPFLAGS += -DGHASH_ASM 46
43libcrypto_la_CPPFLAGS += -DRSA_ASM
44libcrypto_la_SOURCES += $(ASM_X86_64_ELF) 47libcrypto_la_SOURCES += $(ASM_X86_64_ELF)
45endif 48endif
diff --git a/crypto/Makefile.am.macosx-x86_64 b/crypto/Makefile.am.macosx-x86_64
index 7fa38ab..7a26649 100644
--- a/crypto/Makefile.am.macosx-x86_64
+++ b/crypto/Makefile.am.macosx-x86_64
@@ -36,10 +36,13 @@ libcrypto_la_SOURCES += aes/aes_amd64.c
36libcrypto_la_SOURCES += bn/arch/amd64/bn_arch.c 36libcrypto_la_SOURCES += bn/arch/amd64/bn_arch.c
37libcrypto_la_SOURCES += modes/gcm128_amd64.c 37libcrypto_la_SOURCES += modes/gcm128_amd64.c
38 38
39libcrypto_la_CPPFLAGS += -DAES_ASM 39libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
40libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
41libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_GCM_ASSEMBLY
42libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_RC4_ASSEMBLY
43
40libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 44libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
41libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 45libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
42libcrypto_la_CPPFLAGS += -DGHASH_ASM 46
43libcrypto_la_CPPFLAGS += -DRSA_ASM
44libcrypto_la_SOURCES += $(ASM_X86_64_MACOSX) 47libcrypto_la_SOURCES += $(ASM_X86_64_MACOSX)
45endif 48endif
diff --git a/crypto/Makefile.am.masm-x86_64 b/crypto/Makefile.am.masm-x86_64
index b24df62..249f86b 100644
--- a/crypto/Makefile.am.masm-x86_64
+++ b/crypto/Makefile.am.masm-x86_64
@@ -13,10 +13,13 @@ if HOST_ASM_MASM_X86_64
13libcrypto_la_SOURCES += aes/aes_amd64.c 13libcrypto_la_SOURCES += aes/aes_amd64.c
14libcrypto_la_SOURCES += modes/gcm128_amd64.c 14libcrypto_la_SOURCES += modes/gcm128_amd64.c
15 15
16libcrypto_la_CPPFLAGS += -DAES_ASM 16libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
17libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
18libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_GCM_ASSEMBLY
19libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_RC4_ASSEMBLY
20
17libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 21libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
18libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 22libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
19libcrypto_la_CPPFLAGS += -DGHASH_ASM 23
20libcrypto_la_CPPFLAGS += -DRSA_ASM
21libcrypto_la_SOURCES += $(ASM_X86_64_MASM) 24libcrypto_la_SOURCES += $(ASM_X86_64_MASM)
22endif 25endif
diff --git a/crypto/Makefile.am.mingw64-x86_64 b/crypto/Makefile.am.mingw64-x86_64
index cf761dc..e725a05 100644
--- a/crypto/Makefile.am.mingw64-x86_64
+++ b/crypto/Makefile.am.mingw64-x86_64
@@ -14,10 +14,14 @@ libcrypto_la_SOURCES += aes/aes_amd64.c
14libcrypto_la_SOURCES += modes/gcm128_amd64.c 14libcrypto_la_SOURCES += modes/gcm128_amd64.c
15 15
16libcrypto_la_CPPFLAGS += -Dendbr32=endbr64 16libcrypto_la_CPPFLAGS += -Dendbr32=endbr64
17libcrypto_la_CPPFLAGS += -DAES_ASM 17
18libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY
19libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY
20libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_GCM_ASSEMBLY
21libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_RC4_ASSEMBLY
22
18#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT 23#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
19#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 24#libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
20libcrypto_la_CPPFLAGS += -DGHASH_ASM 25
21libcrypto_la_CPPFLAGS += -DRSA_ASM
22libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64) 26libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64)
23endif 27endif
diff --git a/patches/aarch64_crypto_arch.h.patch b/patches/aarch64_crypto_arch.h.patch
deleted file mode 100644
index e6a8cbf..0000000
--- a/patches/aarch64_crypto_arch.h.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1--- crypto/arch/aarch64/crypto_arch.h.orig Sun Jun 29 03:49:56 2025
2+++ crypto/arch/aarch64/crypto_arch.h Sun Jun 29 04:00:13 2025
3@@ -34,11 +34,13 @@ extern uint64_t crypto_cpu_caps_aarch64;
4 #define CRYPTO_CPU_CAPS_AARCH64_SHA3 (1ULL << 5)
5
6 #ifndef OPENSSL_NO_ASM
7+#if 0
8
9 #define HAVE_SHA1_BLOCK_DATA_ORDER
10 #define HAVE_SHA256_BLOCK_DATA_ORDER
11 #define HAVE_SHA512_BLOCK_DATA_ORDER
12
13+#endif
14 #endif
15
16 #endif
diff --git a/patches/amd64_crypto_arch.h.patch b/patches/amd64_crypto_arch.h.patch
deleted file mode 100644
index e31f988..0000000
--- a/patches/amd64_crypto_arch.h.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1--- crypto/arch/amd64/crypto_arch.h.orig Fri Oct 24 07:06:10 2025
2+++ crypto/arch/amd64/crypto_arch.h Fri Oct 24 07:06:21 2025
3@@ -53,6 +53,7 @@ extern uint64_t crypto_cpu_caps_amd64;
4 #define HAVE_RC4_INTERNAL
5 #define HAVE_RC4_SET_KEY_INTERNAL
6
7+#if 0
8 #define HAVE_SHA1_BLOCK_DATA_ORDER
9 #define HAVE_SHA1_BLOCK_GENERIC
10
11@@ -61,6 +62,7 @@ extern uint64_t crypto_cpu_caps_amd64;
12
13 #define HAVE_SHA512_BLOCK_DATA_ORDER
14 #define HAVE_SHA512_BLOCK_GENERIC
15+#endif
16
17 #endif
18