We've been recently hitting this compilation failure (on Windows). For
example,

        set ASM=ml64 /c /Cp /Cx /Zi
        perl crypto\x86_64cpuid.pl tmp32dll\x86_64cpuid.asm
        ml64 /c /Cp /Cx /Zi /Fotmp32dll\x86_64cpuid.obj tmp32dll\x86_64cpuid.asm
 Assembling: tmp32dll\x86_64cpuid.asm
tmp32dll\x86_64cpuid.asm(1) : error A2088: END directive required at end of file
Microsoft (R) Macro Assembler (x64) Version 8.00.50727.762

This seems to coincide with moving the VM and enabling two processors,
and changing that to one processor seems to fix it.

Our hypothesis (as yet untested) is that the perl script is calling the
other perl script (the xlate one):

    open STDOUT,"| \"$^X\" $xlate $flavour $output";

then writes to STDOUT and then at the end

    close STDOUT;   # flush

might it be that the subprocess continues after this script ends, and so
(sometimes) the output appears truncated (but looks fine whenever you
look at it after a failure)?

In which case, wouldn't a fix be to add a call to wait at the end of
these scripts?

Anyone know enough about Perl (perhaps specifically on Windows) to know
whether this is plausible?
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to