>>> I am having some trouble compiling OpenSSL 1.0.1 with MinGW-w64 under
>>> MSYS with the following commands:
>>> ./Configure mingw64 shared
>>> make
>>>
>>> Error output:
>>> perl asm/sha1-x86_64.pl mingw64>  sha1-x86_64.s
>>> gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -D_WINDLL
>>> -DOPENSSL_PIC -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL_ENDIAN -O3 -Wall
>>> -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -DOPENSSL_IA32_SSE2
>>> -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
>>> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM
>>> -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c  -o sha1-x86_64.o
>>> sha1-x86_64.s
>>> sha1-x86_64.s: Assembler messages:
>>> sha1-x86_64.s:1824: Warning: end of file not at end of a line; newline
>>> inserted
>>> sha1-x86_64.s:2183: Error: number of operands mismatch for `rol'
>>>
>>> I've tested with MinGW-w64 4.5.2, 4.6.1 and 4.7.0 prerelease.
>>>
>>> Any ideas?
>>
>> Look into generated file, at lines in question. Run 'perl
>> asm/sha1-x86_64.pl mingw64>  sha1-x86_64.s' on another system (Windows
>> or not, doesn't matter) and compare outputs... I can't reproduce the
>> problem, so it's likely to be problem with your environment. You refer
>> to 4.5.2, 4.6.1, 4.7.0. These sound like gcc versions, not MinGW, while
>> problem is likely to be Perl or binutils...
> 
> It seems sha1-x86_64.s is being read before it is completely written...
> Not sure how to handle this. Disable output buffering doesn't solve the
> problem completely - more output is written to file before it is read
> but the file is still read before it is completely written. This leads
> to linker errors.

What happens if you add "wait;" at the very end of
crypto/asm/sha1-x86_64.pl?
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to