Engage md5-x86_64 assembler module.
authorAndy Polyakov <appro@openssl.org>
Tue, 3 May 2005 22:59:17 +0000 (22:59 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 3 May 2005 22:59:17 +0000 (22:59 +0000)
Configure
TABLE
crypto/md5/Makefile
crypto/md5/md5_locl.h

index 8857ae8..cd3cf07 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -118,7 +118,7 @@ my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o:dx86-elf.o yx86-elf.o:ax86
 my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
 my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
 
-my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o:::::::rc4-x86_64.o::";
+my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o::::md5-x86_64.o:::rc4-x86_64.o::";
 my $ia64_asm=":ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o::";
 
 my $no_asm="::::::::::";
diff --git a/TABLE b/TABLE
index dbd22d1..4dfc614 100644 (file)
--- a/TABLE
+++ b/TABLE
@@ -283,7 +283,7 @@ $bn_obj       = x86_64-gcc.o
 $des_obj      = 
 $aes_obj      = 
 $bf_obj       = 
-$md5_obj      = 
+$md5_obj      = md5-x86_64.o
 $sha1_obj     = 
 $cast_obj     = 
 $rc4_obj      = rc4-x86_64.o
@@ -3091,7 +3091,7 @@ $bn_obj       = x86_64-gcc.o
 $des_obj      = 
 $aes_obj      = 
 $bf_obj       = 
-$md5_obj      = 
+$md5_obj      = md5-x86_64.o
 $sha1_obj     = 
 $cast_obj     = 
 $rc4_obj      = rc4-x86_64.o
@@ -3901,7 +3901,7 @@ $bn_obj       = x86_64-gcc.o
 $des_obj      = 
 $aes_obj      = 
 $bf_obj       = 
-$md5_obj      = 
+$md5_obj      = md5-x86_64.o
 $sha1_obj     = 
 $cast_obj     = 
 $rc4_obj      = rc4-x86_64.o
index 86f0f85..67ce4bf 100644 (file)
@@ -76,6 +76,8 @@ md5-sparcv9.o: asm/md5-sparcv9.S
        $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
                -o md5-sparcv9.o asm/md5-sparcv9.S
 
+md5-x86_64.s:  asm/md5-x86_64.pl;      $(PERL) asm/md5-x86_64.pl $@
+
 files:
        $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 
index b29f0de..2f5b045 100644 (file)
@@ -66,7 +66,7 @@
 #endif
 
 #ifdef MD5_ASM
-# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
+# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
 #  define md5_block_host_order md5_block_asm_host_order
 # elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
    void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,size_t num);
@@ -77,7 +77,7 @@
 void md5_block_host_order (MD5_CTX *c, const void *p,size_t num);
 void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
 
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
 /*
  * *_block_host_order is expected to handle aligned data while
  * *_block_data_order - unaligned. As algorithm and host (x86)