From 47342118f5533df3e30032d1a7c2454cda32cdaf Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Mon, 19 Jan 2026 02:28:05 +1100 Subject: Enable SHA assembly for elf-x86_64 builds --- crypto/CMakeLists.txt | 8 ++++++++ crypto/Makefile.am.elf-x86_64 | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 1cacbf4..2723d4c 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -19,6 +19,7 @@ if(HOST_ASM_ELF_X86_64) set(CRYPTO_SRC ${CRYPTO_SRC} aes/aes_amd64.c) set(CRYPTO_SRC ${CRYPTO_SRC} bn/arch/amd64/bn_arch.c) set(CRYPTO_SRC ${CRYPTO_SRC} modes/gcm128_amd64.c) + set(CRYPTO_SRC ${CRYPTO_SRC} sha/sha1_amd64.c sha/sha256_amd64.c sha/sha512_amd64.c) set( ASM_X86_64_ELF_SRC @@ -51,11 +52,18 @@ if(HOST_ASM_ELF_X86_64) bn/arch/amd64/bignum_sqr_8_16_alt.S bn/arch/amd64/bignum_sub.S bn/arch/amd64/word_clz.S + + sha/sha1_amd64_shani.S + sha/sha1_amd64_generic.S + sha/sha256_amd64_generic.S + sha/sha256_amd64_shani.S + sha/sha512_amd64_generic.S ) add_definitions(-DLIBRESSL_USE_AES_ASSEMBLY) add_definitions(-DLIBRESSL_USE_BN_ASSEMBLY) add_definitions(-DLIBRESSL_USE_GCM_ASSEMBLY) add_definitions(-DLIBRESSL_USE_RC4_ASSEMBLY) + add_definitions(-DLIBRESSL_USE_SHA_ASSEMBLY) add_definitions(-DOPENSSL_BN_ASM_MONT) add_definitions(-DOPENSSL_BN_ASM_MONT5) set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC}) diff --git a/crypto/Makefile.am.elf-x86_64 b/crypto/Makefile.am.elf-x86_64 index d1b067d..450e96a 100644 --- a/crypto/Makefile.am.elf-x86_64 +++ b/crypto/Makefile.am.elf-x86_64 @@ -29,17 +29,27 @@ ASM_X86_64_ELF += bn/arch/amd64/bignum_sqr_8_16_alt.S ASM_X86_64_ELF += bn/arch/amd64/bignum_sub.S ASM_X86_64_ELF += bn/arch/amd64/word_clz.S +ASM_X86_64_ELF += sha/sha1_amd64_generic.S +ASM_X86_64_ELF += sha/sha1_amd64_shani.S +ASM_X86_64_ELF += sha/sha256_amd64_generic.S +ASM_X86_64_ELF += sha/sha256_amd64_shani.S +ASM_X86_64_ELF += sha/sha512_amd64_generic.S + EXTRA_DIST += $(ASM_X86_64_ELF) if HOST_ASM_ELF_X86_64 libcrypto_la_SOURCES += aes/aes_amd64.c libcrypto_la_SOURCES += bn/arch/amd64/bn_arch.c libcrypto_la_SOURCES += modes/gcm128_amd64.c +libcrypto_la_SOURCES += sha/sha1_amd64.c +libcrypto_la_SOURCES += sha/sha256_amd64.c +libcrypto_la_SOURCES += sha/sha512_amd64.c libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_AES_ASSEMBLY libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_BN_ASSEMBLY libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_GCM_ASSEMBLY libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_RC4_ASSEMBLY +libcrypto_la_CPPFLAGS += -DLIBRESSL_USE_SHA_ASSEMBLY libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5 -- cgit v1.2.3-55-g6feb