Adding a conditional declaration for XMMWORD allows either MASM 6, MASM 7, or 
MASM 8 to assemble 
OpenSSL 0.9.8g correctly, including the SSE2 instructions in sha512-sse2.asm:

IF @Version LT 800
XMMWORD STRUCT 16
     DQ  2 dup (?)
XMMWORD ENDS
ENDIF



x86ms.pl could do this:

--- crypto\perlasm\x86ms.orig   2007-10-19 12:34:37.208468200 -0400
+++ crypto\perlasm\x86ms.pl     2007-10-19 12:36:59.254664500 -0400
@@ -255,6 +255,11 @@
        TITLE   $file.asm
          .386
  .model        FLAT
+IF [EMAIL PROTECTED] LT 800
+XMMWORD STRUCT 16
+    DQ  2 dup (?)
+XMMWORD ENDS
+ENDIF
  _TEXT\$       SEGMENT PAGE 'CODE'

  EOF



Note that MASM 6 still must be version 6.15+ to assemble the SSE2 instructions, 
but VC6 users can 
upgrade with the "Visual C++ 6.0 Processor Pack" at 
http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx if necessary.

-tom-

Stephen Henson via RT wrote:
>> [EMAIL PROTECTED] - Thu Oct 18 09:05:32 2007]:
>>
>> Starting with OpenSSL 0.9.8f, Windows builds using ms\do_masm.bat
>> generate .asm files with the MASM
>> directive XMMWORD.
...
> Some of the new assembly language modules which significantly improve
> performance require such support.
> 
> MASM support isn't included at all in the HEAD (which will be 0.9.9).
> 
> The free NASM can be used instead.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to