generate masm and mingw64 assembly
This commit is contained in:
parent
74553e53aa
commit
72bb1ed618
@ -197,10 +197,14 @@ EXTRA_libcrypto_la_SOURCES =
|
||||
include Makefile.am.elf-arm
|
||||
include Makefile.am.elf-x86_64
|
||||
include Makefile.am.macosx-x86_64
|
||||
include Makefile.am.masm-x86_64
|
||||
include Makefile.am.mingw64-x86_64
|
||||
|
||||
if !HOST_ASM_ELF_ARM
|
||||
if !HOST_ASM_ELF_X86_64
|
||||
if !HOST_ASM_MACOSX_X86_64
|
||||
if !HOST_ASM_MASM_X86_64
|
||||
if !HOST_ASM_MINGW64_X86_64
|
||||
libcrypto_la_SOURCES += aes/aes_cbc.c
|
||||
libcrypto_la_SOURCES += aes/aes_core.c
|
||||
libcrypto_la_SOURCES += camellia/camellia.c
|
||||
@ -211,6 +215,8 @@ libcrypto_la_SOURCES += whrlpool/wp_block.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
libcrypto_la_SOURCES += cpt_err.c
|
||||
libcrypto_la_SOURCES += cryptlib.c
|
||||
|
41
crypto/Makefile.am.masm-x86_64
Normal file
41
crypto/Makefile.am.masm-x86_64
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
ASM_X86_64_MASM = aes/aes-masm-x86_64.S
|
||||
ASM_X86_64_MASM += aes/bsaes-masm-x86_64.S
|
||||
ASM_X86_64_MASM += aes/vpaes-masm-x86_64.S
|
||||
ASM_X86_64_MASM += aes/aesni-masm-x86_64.S
|
||||
ASM_X86_64_MASM += aes/aesni-sha1-masm-x86_64.S
|
||||
ASM_X86_64_MASM += bn/modexp512-masm-x86_64.S
|
||||
ASM_X86_64_MASM += bn/mont-masm-x86_64.S
|
||||
ASM_X86_64_MASM += bn/mont5-masm-x86_64.S
|
||||
ASM_X86_64_MASM += bn/gf2m-masm-x86_64.S
|
||||
ASM_X86_64_MASM += camellia/cmll-masm-x86_64.S
|
||||
ASM_X86_64_MASM += md5/md5-masm-x86_64.S
|
||||
ASM_X86_64_MASM += modes/ghash-masm-x86_64.S
|
||||
ASM_X86_64_MASM += rc4/rc4-masm-x86_64.S
|
||||
ASM_X86_64_MASM += rc4/rc4-md5-masm-x86_64.S
|
||||
ASM_X86_64_MASM += sha/sha1-masm-x86_64.S
|
||||
ASM_X86_64_MASM += sha/sha256-masm-x86_64.S
|
||||
ASM_X86_64_MASM += sha/sha512-masm-x86_64.S
|
||||
ASM_X86_64_MASM += whrlpool/wp-masm-x86_64.S
|
||||
ASM_X86_64_MASM += cpuid-masm-x86_64.S
|
||||
|
||||
EXTRA_DIST += $(ASM_X86_64_MASM)
|
||||
|
||||
if HOST_ASM_MASM_X86_64
|
||||
libcrypto_la_CPPFLAGS += -DAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DBSAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DVPAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_GF2m
|
||||
libcrypto_la_CPPFLAGS += -DMD5_ASM
|
||||
libcrypto_la_CPPFLAGS += -DGHASH_ASM
|
||||
libcrypto_la_CPPFLAGS += -DRSA_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA1_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA256_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA512_ASM
|
||||
libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ
|
||||
libcrypto_la_SOURCES += $(ASM_X86_64_MASM)
|
||||
endif
|
41
crypto/Makefile.am.mingw64-x86_64
Normal file
41
crypto/Makefile.am.mingw64-x86_64
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
ASM_X86_64_MINGW64 = aes/aes-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += aes/bsaes-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += aes/vpaes-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += aes/aesni-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += aes/aesni-sha1-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += bn/modexp512-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += bn/mont-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += bn/mont5-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += bn/gf2m-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += camellia/cmll-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += md5/md5-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += modes/ghash-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += rc4/rc4-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += rc4/rc4-md5-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += sha/sha1-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += sha/sha256-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += sha/sha512-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += whrlpool/wp-mingw64-x86_64.S
|
||||
ASM_X86_64_MINGW64 += cpuid-mingw64-x86_64.S
|
||||
|
||||
EXTRA_DIST += $(ASM_X86_64_MINGW64)
|
||||
|
||||
if HOST_ASM_MINGW64_X86_64
|
||||
libcrypto_la_CPPFLAGS += -DAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DBSAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DVPAES_ASM
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_IA32_SSE2
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_MONT5
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_BN_ASM_GF2m
|
||||
libcrypto_la_CPPFLAGS += -DMD5_ASM
|
||||
libcrypto_la_CPPFLAGS += -DGHASH_ASM
|
||||
libcrypto_la_CPPFLAGS += -DRSA_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA1_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA256_ASM
|
||||
libcrypto_la_CPPFLAGS += -DSHA512_ASM
|
||||
libcrypto_la_CPPFLAGS += -DWHIRLPOOL_ASM
|
||||
libcrypto_la_CPPFLAGS += -DOPENSSL_CPUID_OBJ
|
||||
libcrypto_la_SOURCES += $(ASM_X86_64_MINGW64)
|
||||
endif
|
14
update.sh
14
update.sh
@ -161,7 +161,11 @@ $GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[A-Za-z0-9_]' >
|
||||
# generate assembly crypto algorithms
|
||||
asm_src=$libcrypto_src
|
||||
gen_asm_stdout() {
|
||||
perl $asm_src/$2 $1 > $3.tmp
|
||||
if [ $1 = "mingw64" ]; then
|
||||
CC=true perl $asm_src/$2 $1 > $3.tmp
|
||||
else
|
||||
perl $asm_src/$2 $1 > $3.tmp
|
||||
fi
|
||||
[ $1 = "elf" ] && cat <<-EOF >> $3.tmp
|
||||
#if defined(HAVE_GNU_STACK)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@ -170,7 +174,11 @@ gen_asm_stdout() {
|
||||
$MV $3.tmp $3
|
||||
}
|
||||
gen_asm() {
|
||||
perl $asm_src/$2 $1 $3.tmp
|
||||
if [ $1 = "mingw64" ]; then
|
||||
CC=true perl $asm_src/$2 $1 $3.tmp
|
||||
else
|
||||
perl $asm_src/$2 $1 $3.tmp
|
||||
fi
|
||||
[ $1 = "elf" ] && cat <<-EOF >> $3.tmp
|
||||
#if defined(HAVE_GNU_STACK)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@ -191,7 +199,7 @@ $CP $libcrypto_src/armv4cpuid.S crypto
|
||||
$CP $libcrypto_src/armcap.c crypto
|
||||
$CP $libcrypto_src/arm_arch.h crypto
|
||||
|
||||
for abi in elf macosx; do
|
||||
for abi in elf macosx masm mingw64; do
|
||||
echo generating x86_64 ASM source for $abi
|
||||
gen_asm_stdout $abi aes/asm/aes-x86_64.pl crypto/aes/aes-$abi-x86_64.S
|
||||
gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl crypto/aes/vpaes-$abi-x86_64.S
|
||||
|
Loading…
x
Reference in New Issue
Block a user